PDA

Visualizza la versione completa : [C] mený che non si interrompe


antonia93
17-06-2013, 22:00
Salve sono una studentessa al primo anno di Informatica. Sto preparando un esame in c ma ho riscontrato un problema con l'implementazione di un mený, sapreste aiutarmi?
Il codice Ť questo(inserisco solamente il mený):



int main(){
char* nomeFile;
int scelta;
lista l;
int continua = 1;
while (continua){
schermoMenuPrincipale(&scelta);
switch(scelta){
case 0: {
continua = 0;
break;
}
case 1: {
printf("Inserisci il nome del file da cui prelevare i dati \n");
scanf("%s", nomeFile);
leggiDaFile(&l, nomeFile);
break;
}
case 2: {
stampa(l);
break;
}
case 3: {
verifica(l);
break;
}
default: {
printf("Operazione non consentita\n");
}
}
}
return 0;
}

void schermoMenuPrincipale(int* pscelta){
printf("----------------------------- \n");
printf("Benvenuto nel Menu Principale \n");
printf("1. LEGGI da file \n");
printf("2. STAMPA \n");
printf("3. MOSTRA IL CAMION CON PIU' CAPACITA' \n");
printf("0. Esci \n");
scanf("%d", pscelta);
return;
}

Praticamente se appena avvio il programma inserisco subito lo '0' il programma si interrompe correttamente ma se prima inserisco un'altra opzione e poi lo '0' non esce! Come mai?

oregon
17-06-2013, 22:22
Sicuramente in

scanf("%s", nomeFile);

stai utilizzando un puntatore non inizializzato correttamente.

antonia93
18-06-2013, 09:47
Ho corretto l'errore e adesso funziona correttamente, grazie mille!

Loading