Mostrar os cadastros
Prezados, sou iniciante em C e estou aprendendo um pouco de struct agora, mas em um dos meus primeiros programas está ocorrendo um erro que não consigo encontrar a solução. Deve ser algo muito simples mas que não aprendi.
O problema é que no final do programa, para 'mostrar os cadastros', a variável NOME sempre sai com os valores da DATAEXP, e não sei como resolver isso... Se puderem ajudar ficarei grato! Abaixo seguem o código e uma foto do problema.
#include <stdio.h>
#include <stdlib.h>
// Criar um registro do cadastro de 10 alunos com o nome, número,
// rg e data de nascimento e apresentar o resultado.
int main()
{
int i;
struct rg{
int num;
char dataexp;
char nome[50];
char nasc[50];
char natur[50];
char nomemae[50];
char nomepai[50];
};
struct rg cad [2]; //fazendo com 2 para testar
for (i=0;i<2;i++)
{
printf("\n*** Cadastro do %d RG ***\n", i+1);
printf("\nInforme o nome: ");
gets(cad[i].nome);
printf("\nInforme o numero do RG: ");
scanf("%d%*c", &cad[i].num);
printf("\nInforme a data de expedicao: ");
gets(&cad[i].dataexp);
printf("\nInforme a data de nascimento: ");
gets(cad[i].nasc);
printf("\nInforme o nome da mae: ");
gets(cad[i].nomemae);
printf("\nInforme o nome do pai: ");
gets(cad[i].nomepai);
}
printf("\n****************************************");
printf("\n*** Cadastros efetuados com sucesso! ***");
printf("\n****************************************\n");
for (i=0;i<2;i++)
{
printf("\nNome: %s", &cad[i].nome);
printf("\nRG Numero: %d", cad[i].num);
printf("\nData de expedicao: %s", &cad[i].dataexp);
printf("\nData de nascimento: %s", &cad[i].nasc);
printf("\nNome da mae: %s", &cad[i].nomemae);
printf("\nNome do pai: %s\n", &cad[i].nomepai);
}
getch();
return 0;
}
/applications/core/interface/imageproxy/imageproxy.php?img=http://img.ctrlv.in/img/14/05/24/537fe89797966.png&key=bcf2f1f7355ee6df87c913ccc0988f8ffda3e68723f02a35a851af5e1814fa74" alt="537fe89797966.png" />
Discussão (4)
Carregando comentários...