Estou tetando fazer um vetor dinamico de struct, e nesse struct eu tenho 3 chars. E eu tenho que ler os dados e exibir eles logo em seguinda, só que o output sai todo errado.
Eu não sei se o erro está no modo como estou lendo os dados ou no modo que estou exibindo eles.
Question
fgeissler
Olá pessoal!
Estou iniciando no C++ e gostaria de uma luz.
Estou tetando fazer um vetor dinamico de struct, e nesse struct eu tenho 3 chars. E eu tenho que ler os dados e exibir eles logo em seguinda, só que o output sai todo errado.
Eu não sei se o erro está no modo como estou lendo os dados ou no modo que estou exibindo eles.
Aqui está parte do codigo que interessa.
struct agenda
{
char horario[10];
char data[10];
char compromisso[50];
};
int main ()
{
struct agenda *ptr;
int i, tam = 2;
ptr = (struct agenda*) malloc(sizeof(struct agenda*)*tam);
for ( i = 0; i < tam; i++)
{
printf("\n Digite o horario do compromisso no formato HH:MM:SS: ");
gets(ptr.horario);
fflush(stdin);
printf("\n Digite a data do compromisso no formato DD/MM/YYYY: ");
gets(ptr.data);
fflush(stdin);
printf("\n Digite qual o compromisso: ");
gets(ptr.compromisso);
fflush(stdin);
}
printf("\n ----------------------------");
for ( i = 0; i < tam; i++)
{
printf("\n Compromisso %d" , i+1);
printf("\n");
printf("\n Horario: %s", ptr.horario);
fflush(stdin);
printf("\n Data: %s", ptr.data);
fflush(stdin);
printf("\n Compromisso: %s", ptr.compromisso);
fflush(stdin);
printf("\n ----------------------------");
}
Abaixo está o output:
Digite o horario do compromisso no formato HH:MM:SS: 10:00:00
Digite a data do compromisso no formato DD/MM/YYYY: 13/09/2016
Digite qual o compromisso: Consulta medica.
Digite o horario do compromisso no formato HH:MM:SS: 14:00:00
Digite a data do compromisso no formato DD/MM/YYYY: 10/10/2016
Digite qual o compromisso: Levar cachorro no veterinario.
----------------------------
Compromisso 1
Horario: 10:00:00
Data: 13/09/2016Consulta medica.
Compromisso: Consulta medica.
----------------------------
Compromisso 2
Horario: 14:00:00
Data: 10/10/2016Levar cachorro
Data: 10/10/2016Levar cachorro
Data: 10/10/2016Levar
Compromisso: Levar cachorro
Compromisso: Levar cachorro
Compromisso: Levar cachorro
Compromisso: Levar cachorro
----------------------------
Press any key to continue . . .
Será que alguém poderia me dar uma luz ? Já tentei ler os dados usando scanf tb mais o resultado é o mesmo.
Muito obrigado.
edit: por algum motivo não está salvando o indice ( ) na variaveis aqui no forum, mais ele está lá.
Edited by fgeisslerLink to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.