tonystrong
14-09-2007, 12:12
ciao a tutti... l'esercizio è inserire nome cognome e matricola.
richiedere un numero di matricola verificare se è presente nell'elenco.
nel caso fosse presente stampare tutti i dati dello studente.
ho provato con inserire 2 studenti e se chiedo informazioni del primo studente mi dà tutte le informazioni.
se chiedo informazioni del secondo studente non mi stampa il cognome.
sapete dirmi com mai?
se inserisco 3 studenti mi dà errore (ossia assegno a numStud il valore 3)
il listato
#include<stdio.h>
#define numStud 2
#define max 15
typedef char stringa[max];
typedef struct{
stringa nome;
stringa cognome;
int matricola;
}studente;
typedef enum{falso,vero}boolean;
main()
{
int i,matr;
boolean trovato;
studente stud[numStud];
for(i=1; i<=numStud; i++) //acquisizione dati
{
printf("Nome: ");
scanf("%s",&stud[i].nome);
fflush(stdin);
printf("Cognome: ");
scanf("%s",&stud[i].cognome);
fflush(stdin);
printf("Matricola: ");
scanf("%d",&stud[i].matricola);
fflush(stdin);
printf("\n");
}
printf("\n\n");
for(i=1; i<=numStud; i++) //verifica dei dati acquisiti
{printf("\n%s",stud[i].nome);
printf("\n%s",stud[i].cognome);
printf("\n%d",stud[i].matricola);
printf("\n");
}
printf("\n\n");
printf("inserisci matricola da cui ricevere informazioni: ");
scanf("%d",&matr);
fflush(stdin);
i=1;
trovato=falso;
while(trovato==falso && i<=numStud) //confronto matricola
{
if(matr==stud[i].matricola)
trovato=vero;
else
i++;
}
if (trovato==vero) //stampa informzioni della matricola
{printf("\n%s",stud[i].nome);
printf("\n%s",stud[i].cognome);
printf("\n%d",stud[i].matricola);
}
else
printf("La matricola non e' presente nell'elenco");
getchar();
}
:muro: C'è qualcuno che puoi onsigliarmi?
richiedere un numero di matricola verificare se è presente nell'elenco.
nel caso fosse presente stampare tutti i dati dello studente.
ho provato con inserire 2 studenti e se chiedo informazioni del primo studente mi dà tutte le informazioni.
se chiedo informazioni del secondo studente non mi stampa il cognome.
sapete dirmi com mai?
se inserisco 3 studenti mi dà errore (ossia assegno a numStud il valore 3)
il listato
#include<stdio.h>
#define numStud 2
#define max 15
typedef char stringa[max];
typedef struct{
stringa nome;
stringa cognome;
int matricola;
}studente;
typedef enum{falso,vero}boolean;
main()
{
int i,matr;
boolean trovato;
studente stud[numStud];
for(i=1; i<=numStud; i++) //acquisizione dati
{
printf("Nome: ");
scanf("%s",&stud[i].nome);
fflush(stdin);
printf("Cognome: ");
scanf("%s",&stud[i].cognome);
fflush(stdin);
printf("Matricola: ");
scanf("%d",&stud[i].matricola);
fflush(stdin);
printf("\n");
}
printf("\n\n");
for(i=1; i<=numStud; i++) //verifica dei dati acquisiti
{printf("\n%s",stud[i].nome);
printf("\n%s",stud[i].cognome);
printf("\n%d",stud[i].matricola);
printf("\n");
}
printf("\n\n");
printf("inserisci matricola da cui ricevere informazioni: ");
scanf("%d",&matr);
fflush(stdin);
i=1;
trovato=falso;
while(trovato==falso && i<=numStud) //confronto matricola
{
if(matr==stud[i].matricola)
trovato=vero;
else
i++;
}
if (trovato==vero) //stampa informzioni della matricola
{printf("\n%s",stud[i].nome);
printf("\n%s",stud[i].cognome);
printf("\n%d",stud[i].matricola);
}
else
printf("La matricola non e' presente nell'elenco");
getchar();
}
:muro: C'è qualcuno che puoi onsigliarmi?