Non riesco a proseguire nella compilazione di un semplice programmino che ho dovuto creare come compito a casa d'informatica.
Bisogna che il programma crei una tabella che non superi le 23 righe e le 5 colonne, poiché 23 sono i massimi alunni presenti nell'elenco e 5 sono i compiti in classe massimi per quadrimestre.
In seguito bisogna caricare i nomi degli alunni e dei compiti, stamparli a video e calcolare la media tra i voti dei compiti in classe di ogni alunno.
Non avevo mai utilizzato il linguaggio C ma è stato semplice impararlo, tanto che ci ho messo solo una serata per arrivare a scrivere buona parte di questo programma, ma ora sono ferma su caricare/stampare i dati della tabella poiché non riesco a capire come si fa...
Poi la prof, lasciamo perdere... non ha saputo spiegarmelo nemmeno lei :rollo:... (prof d'informatica?!... mah...). Quindi datemi voi una mano, plz
![]()
L'errore l'ho capito, ma non riesco a correggerlo:
Per caricare i dati nella tabella ho creato un array monodimensionale di tipo char per scrivere i nomi degli alunni, e un array multidimensionale per i voti su cui non riesco a caricare i dati; infatti è proprio qui che va in crash in DOS.
Questo è il programma:
Risulta compilato bene, ma si blocca in DOS...codice:#include <stdio.h> //libreria per le funzionealità basilari di input/output #define rmax 23 #define cmax 5 int main() { int r,c; int i,j; int m[r][c]; char n[r][25]; for( ; ; ) //ciclo infinito { printf("Crea la tabella rispondendo alle richieste\n"); do { printf("Inserisci il numero degli alunni\n"); scanf("%d", &r); if (r < 1 || r > rmax) { printf("Valore non consentito\n"); } } while (r < 1 || r > rmax); //ripete l'operazione fino a che questa condizione non risulta vera do { printf("Inserisci il numero dei compiti in classe\n"); scanf("%d", &c); if (c < 1 || c > cmax) { printf("Valore non consentito\n"); } } while (c < 1 || c > cmax); //ripete l'operazione fino a che questa condizione non risulta vera for (i = 1; i < r + 1; i++) { printf("Nome alunno %d\n", i); scanf("%s", n[i]); for (j = 1; j < c + 1; j++) { printf("Voto compito %d\n", j); scanf("%d", m[i][j]); } } printf("Tabella creata con successo"); for (i = 1; i < r + 1; i++) { printf("\n", i, " "); printf("%s", n[i]); for (j = 1; j < c + 1; j++) { printf(" ", j, " "); printf("%d", m[i][j]); } } printf("\n"); } }
Aspetto il vostro aiuto,
![]()

...
... mah...). Quindi datemi voi una mano, plz
Rispondi quotando