Problema con un array di record

di il
2 risposte

Problema con un array di record

Salve a tutti ragazzi, ho svolto il seguente esercizio: " Realizzare un array monodimensionale di record, un elenco degli alunni riportante cognome, nome e numero di giorni di presenza al corso "; quando ho eseguito il programma , sono incappato in un problema. inserendo da tastiera tutti i dati di tutti gli studenti, il programma mi stampa del cognome e del nome solo le prime due lettere. che cosa ho sbagliato?
Questo è il programma:


#include<stdio.h>
#include<string.h>
#define card 2


void legge(char campo[],int MAx){
char c;
int i=0;
int MAX=2;
while((c=getchar())!='\n' && (i<MAX)){
campo=c;
i++;
}

campo='\0';

}

struct corso{
char nome[30];
char cognome[30];
double matricola;
char presenze;
};

struct corso alunno[card];

main()
{ int i=0;

for(i=0;i<card;i++){
fflush(stdin);
printf("COGNOME:");
legge(alunno.cognome,30);
fflush(stdin);
printf("NOME:");
legge(alunno.nome,30);
fflush(stdin);
printf("PRESENZE:");
scanf("%d",&alunno.presenze);
fflush(stdin);
printf("\n\n"); }

for(i=0;i<card;i++)
{ printf("Cognome:%s\n",alunno.cognome);
printf("Nome:%s\n",alunno.nome);
printf("Presenze:%d\n\n",alunno.presenze);}
}

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte