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:
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]);
}
}
}
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.
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