|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2006
Città: Milano
Messaggi: 36
|
[C] help non mi stampa il cognome
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(); } |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
La cosa più elementare: gli indici degli array partono da 0
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2006
Città: Milano
Messaggi: 36
|
uhmm hai ragionisssimo.... ho inizializzato l'indice a zero, e il programma gira.. grazie
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:13.




















