Olá pessoal! Não entendo o problema desse código. O problema está na hora q eu vo ler o segundo registro, por exemplo:
emp[1].nome
elá passa direto para o campo dataNasc.
Como pode ver usei o
fflush(stdin);
mas não resolveu meu problema. Estou copilando pelo gcc.
#include <stdio.h>
#include <stdlib.h>
struct cadastro {
char nome[20];
int dataNasc[3];
int salario;
};
int main(void) {
struct cadastro emp[3];
int i; //Contador
// Ler dados para a strcut
for (i = 0; i < 3; i++) {
printf ("Digite o nome: ");
fflush(stdin);
gets(emp[i].nome);
printf ("Digite a data de nascimento: ");
scanf ("%d/%d/%d", &emp[i].dataNasc[0], &emp[i].dataNasc[1], &emp[i].dataNasc[2]);
printf ("Digite o seu salário: ");
scanf ("%d", &emp[i].salario);
}
// Escreve o que foi lido
for (i = 0; i < 3; i++) {
printf ("%s\n", emp[i].nome);
printf ("%0d/%0d/%0d\n", emp[i].dataNasc[0], emp[i].dataNasc[1], emp[i].dataNasc[2]);
printf ("%d\n\n", emp[i].salario);
}
return 0;
}
Pergunta
tek6
Olá pessoal! Não entendo o problema desse código. O problema está na hora q eu vo ler o segundo registro, por exemplo:
elá passa direto para o campo dataNasc. Como pode ver usei o mas não resolveu meu problema. Estou copilando pelo gcc.Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.