Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com seguinte problema nesse exercício, pois quando coloco para rodar e escolho a quantidade, vem na tela já pedindo Nome: Sexo: Idade.... ou seja, era para pedir primeiro o Nome, depois o Sexo e de pois Idade.... é o buffer acredito.
/* Escrever um algoritmo que leia os dados de “N” pessoas
(nome, sexo, idade e saúde) e informe se está apta ou não
para cumprir o serviço militar obrigatório. Informe os totais. */
#include <stdio.h>
#include <stdlib.h>
struct Pessoa
{
char nome[30];
char sexo[1]; // M = Masculino e F = Feminino
int idade;
char saude[5];
};
main()
{
int quant; // Quantidade de pessoas
int i;
printf("Digite a quantidade de pessoas: ");
scanf("%d", &quant);
struct Pessoa candidato[quant];
for(i = 0; i < quant; i++)
{
printf("Nome: ");
fgets(candidato[i].nome,30,stdin);
printf("Sexo: ");
fgets(candidato[i].sexo,1,stdin);
printf("Idade: ");
scanf("%d", &candidato[i].idade);
printf("\nSaude: ");
fgets(candidato[i].saude,5,stdin);
if(candidato[i].idade >= 18 && candidato[i].saude == "boa")
{
printf("O %s, sexo %s com idade %d e com saude %s esta apto ao servico militar. \n\n",
candidato[i].nome, candidato[i].sexo, candidato[i].idade, candidato[i].saude);
}
printf("\n\n");
} // fim do for
} // fim função main()
Carregando comentários...