Preciso de ajuda com um exercício em C

estou fazendo um exercício mas estou meio travada… não sei oq estou fazendo de errado mas meu código não está indo da forma que gostaria, esse é o exercício: https://prnt.sc/12ecfvv

meu código por enquanto:

#include<stdio.h>

struct Funcionario

{

char nome[50];

char cargo[50];

char endereco[100];

char cpf[11];

int idade;

int salario;

} ;

int main()

{

 struct Funcionario p1;

 printf("\nNome do primeiro funcionario: ");

 scanf("%s ", &p1.nome);

 printf("\nCargo: ");

 scanf("%s ", &p1.cargo);

 printf("\nEndereco: ");

 scanf("%s ", &p1.endereco);

 printf("\nCpf: ");

 scanf("%s ", &p1.cpf);

 printf("\nIdade: ");

 scanf("%s ", &p1.idade);

 printf("\nSalario: ");

 scanf("%s ", &p1.salario);

 printf("\nNome: %s\n Cargo: %s\n Endereco: %s\n Cpf: %s\n Idade: %d\n Salario: %d", p1.nome, p1.cargo, p1.endereco, p1.cpf, p1.idade, p1.salario);

}