Ho la seguente funzione che dovrebbe leggere una lista di cognomi lettera per lettera in una matrice di char (28 righe e 13 colonne) e successivamente stamparli:
Con "if(elenco_cognomi[i][j] == '\n') break;" voglio fare in modo che smetta di leggere un cognome (e quindi una riga della matrice) e passi al prossimo subito dopo che premiamo il tasto invio.codice:int immissione_cognomi() { int Ncognomi,i,j; //chiede quanti cognomi vogliamo inserire printf("\nQuanti cognomi volete inserire?"); scanf("%d", &Ncognomi); //legge i cognomi lettera per lettera for(i=0; i< Ncognomi; i++) { printf("\nInserisci il cognome di posizione n: %d ",i); //cin.get(elenco_cognomi[i],'\n'); for(j=0; j<13; j++) { scanf("%c", &elenco_cognomi[i][j]); if(elenco_cognomi[i][j] == '\n') break; } } //stampa l'elenco dei cognomi for(i=0; i< Ncognomi; i++) { printf("\n[%d]: ",i); for(j=0; j<13; j++) { printf("%c",elenco_cognomi[i][j]); } } }
Ora il problema è che non so perchè il primo valore, quello con posizione [0][0] me lo salta come se avessi premuto invio senza scrivere nulla e non so perchè!
Sa sapete corregermelo![]()


Rispondi quotando