Ciao, sto scrivendo un programma che simula un registro dei voti degli studenti.
Il programma utilizza un menù. Sono riuscito ad aggiustare alcune parti in questa fase inziale di scrittura. Nonostante ciò accade che se seleziono la scelta 1, alla fine della raccolta dati viene ripetuto il menù due volte.
Come posso risolvere il problema?![]()
Qui l'output:
e qui invece il codice del programma:codice:* REGISTRO DEI VOTI DEGLI STUDENTI * 1. Crea database studenti 2. Registra voti studenti 3. Visualizza risultati 4. Esci Scelta:d 1. Crea database studenti 2. Registra voti studenti 3. Visualizza risultati 4. Esci Scelta:1 // Creazione database studenti numero di studenti(massimo 20): 3 STUDENTE No.1 Nome: Carlo Cognome: Frusani STUDENTE No.2 Nome: Francesco Cognome: Rossi STUDENTE No.3 Nome: Marcella Cognome: Pisarra 1. Crea database studenti 2. Registra voti studenti 3. Visualizza risultati 4. Esci Scelta: 1. Crea database studenti 2. Registra voti studenti 3. Visualizza risultati 4. Esci Scelta:
codice:#include <stdio.h> #define MAXDIM 20 main() { char c, nomi[MAXDIM][50],cognomi[MAXDIM][50]; int n; printf("\n\t\t* REGISTRO DEI VOTI DEGLI STUDENTI *\n\n"); do { printf("\t\t1. Crea database studenti\n\t\t2. Registra voti studenti\n\t\t3. Visualizza risultati\n\t\t4. Esci\n"); printf("\t\t\t\t\t\t\tScelta:"); while((c = getc(stdin)) != EOF && c != '\n' && c != '1' && c !='4'); printf("\n"); if (c=='1') { int i; printf("// Creazione database studenti\n\n"); do { printf("numero di studenti(massimo 20): "); scanf("%d",&n); } while(i>=2 && i<MAXDIM+1); for(i=1;i<n+1;i++) { printf("\nSTUDENTE No.%d\n",i); printf("Nome: "); scanf("%s",nomi[i]); printf("Cognome: "); scanf("%s",cognomi[i]); } } } while (c!='4'); }

Rispondi quotando
VVoVe:
