Keimador
Power Member
Hoje já estávamos para sair da aula, quando a professora dá este trabalho de casa.
corrigir este programa, já fiz mil e umas coisas e não sei o k está mal, tambêm isto dos apontadores, não estou a pescar muito disto, será que me poderiam dar aqui umas dicas de como posso fazer isto?
Código:
#include<stdio.h>
typedef struct
{
int ano,mes,dia;
}data;
int main()
{
data v[12];
int *p[12];
int i;
for(i=1;i<=12;i++)
{
printf("Escreva o ano\n");
scnaf("%i",&v[i].ano);
printf("Escreva o mes\n");
scanf("%i",&v[i].mes);
printf("Escreva o dia");
scanf("%i",&v[i].dia);
}
for(i=1;i<=12;i++)
{
if(v[i].mes==1)
{
if((v[i].dia>=1)&&(v[i].dia<=31))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==2)
{
if((v[i].dia>=1)&&(v[i].dia<=28))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==3)
{
if((v[i].dia>=1)&&(v[i].dia<=31))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==4)
{
if((v[i].dia>=1)&&(v[i].dia<=30))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==5)
{
if((v[i].dia>=1)&&(v[i].dia<=31))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==6)
{
if((v[i].dia>=1)&&(v[i].dia<=30))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==7)
{
if((v[i].dia>=1)&&(v[i].dia<=31))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==8)
{
if((v[i].dia>=1)&&(v[i].dia<=31))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==9)
{
if((v[i].dia>=1)&&(v[i].dia<=30))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==10)
{
if((v[i].dia>=1)&&(v[i].dia<=31))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==11)
{
if((v[i].dia>=1)&&(v[i].dia<=30))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else if(v[i].mes==12)
{
if((v[i].dia>=1)&&(v[i].dia<=31))
{
p[i]=&v[i].mes;
printf("A data e:%i.%i.%i\nO endereco do mes e:%\n",v[i].dia,v[i].mes,v[i].ano,p[i]);
}
else
{
printf("Dia invalido\n");
}
}
else
{
printf("mes errado\n");
}
}
}
corrigir este programa, já fiz mil e umas coisas e não sei o k está mal, tambêm isto dos apontadores, não estou a pescar muito disto, será que me poderiam dar aqui umas dicas de como posso fazer isto?
Última edição pelo moderador: