Error: unknown type name ------- C

di il
2 risposte

Error: unknown type name ------- C

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

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte