codice:
il problema principale si pone quando tento di fare la somma delle varie età degli alunni. come risultato mi viene restituito un numero esageratamente grande: 6990992031. cosa ho sbagliato ? grazie in aticipo e buon lavoro! ovviamente devo implementare alcuni controlli marginali
C:
/*TRACCIA: Realizzare un vettore di record che memorizzi e stampi a schermo il nome,il cognome e l'età e il sesso.
determinare l'età media degli alunni e il numero di donne e maschi presenti */
#include<stdio.h>
#include<stdlib.h>
struct table
{
char nome[40];
char cognome[40];
char sesso[1];
int age;
};typedef struct table record; //creo il tipo di variabile RECORD che fa capo alla struttura struct table
int main()
{
int contatoreF=0;
int contatoreM=0;
int alunni;
printf("Inserisci il numero di alunni della classe: ");
scanf("%d",&alunni);
record tabella[alunni]; //creò un array di record.
int somma;
int sommaM;
for(int f=0;f<alunni;f++)
{
printf("\ninserisci il nome dell'alunno: ");
scanf("%s",&tabella[f].nome);
printf("\ninserisci il cognome dell'alunno: ");
scanf("%s",&tabella[f].cognome);
printf("Inserisci il sesso[M o F]: ");
scanf("%s",&tabella[f].sesso);
if(*tabella[f].sesso==*"M")
{
++contatoreM; //faccio contare il numero di persone maschie
}
else if(*tabella[f].sesso==*"F")
{
++contatoreF; //faccio contare il numero di persone femmine
}
printf("inserisci l'eta del allunno: ");
scanf("%d",&tabella[f].age);
fflush(stdin);
somma=tabella[f].age+somma;
}
printf("**SCHEDE RAGAZZI**");
for(int i=0;i<alunni;i++)
{
printf("\n nome:%s,",tabella.nome);
printf("\n congnome:%s",tabella.cognome);
printf("\n eta:%d",tabella.age);
printf("\n sesso:%s",tabella.sesso);
printf("\n \n");
}
printf("\n %d",somma);
printf("il numero di persone maschie sono:%d \ntre il numero di persone femmine sono:%d",contatoreM,contatoreF);
}
il problema principale si pone quando tento di fare la somma delle varie età degli alunni. come risultato mi viene restituito un numero esageratamente grande: 6990992031. cosa ho sbagliato ? grazie in aticipo e buon lavoro! ovviamente devo implementare alcuni controlli marginali