Questa è la nuova versione del programma, comunque la devo finire:
codice:
#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");
printf("\t\t ");
for(i=0;i<8;i++)
printf(" #%d",i+1);
printf(" MEDIA\n");
for(i=0;i<n;i++)
printf("%c.%-18s\n",nomi[i][0],cognomi[i]);
printf("\n\n");
while(!getchar());
}
} while (c!='4');
}
E questo è un semplice output:
codice:
* REGISTRO DEI VOTI DEGLI STUDENTI *
1. Crea database studenti
2. Registra voti studenti
3. Visualizza risultati
4. Esci
Scelta:1
// Creazione database studenti
numero di studenti(massimo 20): 5
STUDENTE No.1
Nome: Marco
Cognome: Terzi
STUDENTE No.2
Nome: Franco
Cognome: Battaglia
STUDENTE No.3
Nome: Gieseppe
Cognome: Brambilla
STUDENTE No.4
Nome: Sonia
Cognome: Cianfanelli
STUDENTE No.5
Nome: Ugo
Cognome: Incostante
1. Crea database studenti
2. Registra voti studenti
3. Visualizza risultati
4. Esci
Scelta:3
// Visualizzazione dei risultati
#1 #2 #3 #4 #5 #6 #7 #8 MEDIA
M.Terzi
F.Battaglia
G.Brambilla
S.Cianfanelli
U.Incostante
1. Crea database studenti
2. Registra voti studenti
3. Visualizza risultati
4. Esci
Scelta:4