Ciao, sto completando lo sviluppo di un programma, che è un registro dei voti degli studenti.
Sono all'ultima parte, cioè la visualizzazione dei risultati. ho provato a scrivere i nomi degli studenti in una tabella, ma ricevo degli errori in compilazione:
questo è il codice del programma (provvisorio):codice:voti.c: In function ‘main’: voti.c:63: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’
mi sembra strano l'errore che ricevo in compilazione trattandosi di stringhecodice:#include <stdio.h> #define MAXDIM 20 main() { char c, nomi[MAXDIM][50],cognomi[MAXDIM][50]; int n, voti[MAXDIM][8]; 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 != '2' && c != '3' && c !='4'); printf("\n"); if (c=='1') { int i; printf("// Creazione database studenti\n\n"); do { float num; printf("numero di studenti(massimo 20): "); scanf("%f",&num); n = (int)num; } while(n<2 || n>MAXDIM); for(i=0;i<n;i++) { printf("\nSTUDENTE No.%d\n",i+1); printf("Nome: "); scanf("%s",nomi[i]); printf("Cognome: "); scanf("%s",cognomi[i]); } printf("\n\n"); while(!getchar()); } if (c=='2') { int i,j; printf("// Registrazione voti studenti\n\n"); printf("[inserire solo numeri interi compresi tra 0 e 10]\n\n"); for(i=0;i<n;i++) { for(j=0;nomi[i][j]!='\0' || cognomi[i][j]!='\0';j++) { if (nomi[i][j]<123 && nomi[i][j]>96) nomi[i][j] -= 32; if (cognomi[i][j]<123 && cognomi[i][j]>96) cognomi[i][j] -= 32; } printf("%s %s\n",nomi[i],cognomi[i]); for(j=0;j<8;j++) { do { float voto; printf("prova #%d voto:",j+1); scanf("%f",&voto); voti[i][j] = (int)voto; } while(voti[i][j]<0 || voti[i][j]>10); } printf("\n\n"); } while(!getchar()); } if (c=='3') { int i; printf("// Visualizzazione dei risultati\n\n"); for(i=0;i<n;i++) printf("%s. %s\n",nomi[i][0],cognomi[i]); while(!getchar()); } } while (c!='4'); }![]()

Rispondi quotando