Salve,
sono nuovo del forum e vorrei porvi un problema che ho riscontrato tentando di realizzare un semplice programma;
il compilatore sembra non riconoscere il tipo che ho definito con la funzione struct (Tdata) restituendo l'errore nel titolo.
Il codice (ancora in fase di scrittura) è questo:
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#define NMAX 1000
#define LEN 40
struct Tdata
{
char name[LEN],sex;
int age,weight,height;
};
void p01(Tdata rec[]); //l'errore è segnato qui
void p02();
void p03();
void p04();
void p05();
void p06();
int main()
{
Tdata rec[NMAX];
int s,i;
i=0;
bool feed=false;
do
{
system("cls");
printf("MENU'\n1. Aggiungere una nuova persona.\n2. Chi e' piu' vecchio e chi e' piu' giovane?\n3. Numero percentuale di maschi e di femmine.\n4. Statura media e peso medio.\n5. Persone con eta' superiore alla media.\n6. Elenco dei maschi e delle femmine.\n7. Exit.\n\nLa tua scelta --> ");
scanf("%d",&s);
switch(s)
{
case 1:
p01(rec);
feed=true;
i=i+1;
system("pause");
break;
case 2:
if(feed==true)
p02();
else
printf("Attenzione! Eseguire prima il punto 1.\n\n");
system("pause");
break;
case 3:
if(feed==true)
p03();
else
printf("Attenzione! Eseguire prima il punto 1.\n\n");
system("pause");
break;
case 4:
if(feed==true)
p04();
else
printf("Attenzione! Eseguire prima il punto 1.\n\n");
system("pause");
break;
case 5:
if(feed==true)
p05();
else
printf("Attenzione! Eseguire prima il punto 1.\n\n");
system("pause");
break;
case 6:
if(feed==true)
p06();
else
printf("Attenzione! Eseguire prima il punto 1.\n\n");
system("pause");
break;
case 7:
printf("Grazie per aver usato questo programma. Arrivederci!");
break;
}
}
while(s!=7);
}
void p01(Tdata rec[])
{
printf("Inserire nome: ");
fflush(stdin);
gets(rec[i].name);
do
{
printf("Inserire sesso (M/F): ");
scanf("%c",&rec[i].sex);
if(rec[i].sex!='M'&&rec[i].sex!='m'&&rec[i].sex!='F'&&rec[i].sex!='f')
printf("Attenzione! Inserire il sesso correttamente.\n");
}
while(rec[i].sex!='M'&&rec[i].sex!='m'&&rec[i].sex!='F'&&rec[i].sex!='f');
do
{
printf("Inserire eta': ");
scanf("&d",&rec[i].age);
if(rec[i].age<0)
printf("Attenzione! Inserire l'eta' corretta.");
}
while(rec[i].age<0);
do
{
printf("Inserire altezza in cm: ");
scanf("&d",&rec[i].height);
if(rec[i].height<=0)
printf("Attenzione! Inserire l'altezza corretta.");
}
while(rec[i].height<=0);
do
{
printf("Inserire peso: ");
scanf("&d",&rec[i].weight);
if(rec[i].weight<=0)
printf("Attenzione! Inserire il peso corretto.");
}
while(rec[i].weight<=0);
}
void p02()
{
}
void p03()
{
}
void p04()
{
}
void p05()
{
}
void p06()
{
}
Grazie a tutti coloro che mi aiuteranno.
Marco