Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- #include <conio.h>
- #define DIM 100
- #define VOTI 11
- //funzione cha calcola la media delle singole materie
- float mediavoti(float materia[],int dim)
- {
- float somma = 0;
- int i=0;
- for (i = 0; materia[i] != 0; i++)
- {
- somma = somma + materia[i];
- }
- return (float)somma / i;
- }
- int main()
- {
- char nome[DIM],cognome[DIM];
- int nMaterie = 0; //numero materie
- int scelta = 0,sceltaMat=0; //scelta per lo switch case
- int numVoti = 0; //voti per ogni materia
- //array che contengono i voti di tutte le materie
- float matematica[VOTI] = {}, storia[VOTI] = {}, geografia[VOTI] = {}, motoria[VOTI] = {};
- float italiano[VOTI] = {},inglese[VOTI] = {},informatica[VOTI] = {},diritto[VOTI] = {};
- int numVotitot = 0;
- float sommaVoti=0;
- float media = 0;
- int votiMat=0, sommaMat=0;
- int insuff = 0;
- //variabili bool servono per controllare se è inserito almeno un voto ed eviatre /0
- bool mate = false, sto = false, geo = false, edfisica = false, ita = false, ing = false, inf = false, dir = false;
- //introduzione
- printf("\nLuca Puricelli - 3ci \nprogramma per la gestione dei voti di uno studente\n");
- printf("\n_________________________________________________________________________________________________________________\n");
- //insrimento delle generalita
- printf("ciao questo e' un programma che permette di gestire i tuoi voti durante l'anno scolastico\n");
- printf("dopo l'inserimnto dei voti potrai visualizzare:\nla media generale,la media di tutti i voti e contare i voti insufficienti di tutte le materie\n");
- printf("\nper iniziare inserisci il tuo nome:\n"); //inseriemnto di nome e cognome dell'alunno
- gets_s(nome, DIM);
- printf("inserisci il tuo cognome:\n");
- gets_s(cognome,DIM);
- //inserimento dei voti
- printf("ora bisogna inserire tutti i voti delle varie materie \nse non hai voti da inserire non ti preoccupare scrivi 0 :)\n\n");
- do {
- printf("matematica:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
- scanf_s("%d", &numVoti);
- if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
- mate=true;
- } while (numVoti >= VOTI || numVoti < 0);
- numVotitot = numVotitot + numVoti;
- for (int i = 0; i < numVoti; i++)
- {
- do {
- printf("voto numero %d: ", i + 1);
- scanf_s("%f", &matematica[i]);
- if (matematica[i] < 6)
- insuff++;
- if (matematica[i] < 1 || matematica[i] > 10)
- printf("voto errato inserisci un voto da 1 a 10\n");
- } while (matematica[i] < 1 || matematica[i]>10);
- sommaVoti = sommaVoti + matematica[i];
- }
- do {
- printf("storia:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
- scanf_s("%d", &numVoti);
- if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
- sto=true;
- } while (numVoti >= VOTI || numVoti < 0);
- numVotitot = numVotitot + numVoti;
- for (int i = 0; i < numVoti; i++)
- {
- do {
- printf("voto numero %d: ", i + 1);
- scanf_s("%f", &storia[i]);
- if (storia[i] < 6)
- insuff++;
- if (storia[i] < 1 || storia[i] > 10)
- printf("voto errato inserisci un voto da 1 a 10\n");
- } while (storia[i] < 1 || storia[i] > 10);
- sommaVoti = sommaVoti + storia[i];
- }
- do {
- printf("geografia:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
- scanf_s("%d", &numVoti);
- if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
- geo=true;
- } while (numVoti >= VOTI || numVoti < 0);
- numVotitot = numVotitot + numVoti;
- for (int i = 0; i < numVoti; i++)
- {
- do {
- printf("voto numero %d: ", i + 1);
- scanf_s("%f", &geografia[i]);
- if (geografia[i] < 6)
- insuff++;
- if (geografia[i] < 1 || geografia[i] > 10)
- printf("voto errato inserisci un voto da 1 a 10\n");
- } while (geografia[i] < 1 || geografia[i] > 10);
- sommaVoti = sommaVoti + geografia[i];
- }
- do {
- printf("motoria:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
- scanf_s("%d", &numVoti);
- if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
- edfisica=true;
- } while (numVoti >= VOTI || numVoti < 0);
- numVotitot = numVotitot + numVoti;
- for (int i = 0; i < numVoti; i++)
- {
- do {
- printf("voto %d: ", i + 1);
- scanf_s("%f", &motoria[i]);
- if (motoria[i] < 6)
- insuff++;
- if (motoria[i] < 1 || motoria[i] > 10)
- printf("voto errato inserisci un voto da 1 a 10\n");
- } while (motoria[i] < 1 || motoria[i] > 10);
- sommaVoti = sommaVoti + motoria[i];
- }
- do {
- printf("italiano:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
- scanf_s("%d", &numVoti);
- if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
- ita=true;
- } while (numVoti >= VOTI || numVoti < 0);
- numVotitot = numVotitot + numVoti;
- for (int i = 0; i < numVoti; i++)
- {
- do {
- printf("voto %d: ", i + 1);
- scanf_s("%f", &italiano[i]);
- if (italiano[i] < 6)
- insuff++;
- if (italiano[i] < 1 || italiano[i] > 10)
- printf("voto errato inserisci un voto da 1 a 10\n");
- } while (italiano[i] < 1 || italiano[i] > 10);
- sommaVoti = sommaVoti + italiano[i];
- }
- do {
- printf("inglese:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
- scanf_s("%d", &numVoti);
- if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
- ing=true;
- } while (numVoti >= VOTI || numVoti < 0);
- numVotitot = numVotitot + numVoti;
- for (int i = 0; i < numVoti; i++)
- {
- do {
- printf("voto %d: ", i + 1);
- scanf_s("%f", &inglese[i]);
- if (inglese[i] < 6)
- insuff++;
- if (inglese[i] < 1 || inglese[i] > 10)
- printf("voto errato inserisci un voto da 1 a 10\n");
- } while (inglese[i] < 1 || inglese[i] > 10);
- sommaVoti = sommaVoti + inglese[i];
- }
- do {
- printf("informatica:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
- scanf_s("%d", &numVoti);
- if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
- inf=true;
- } while (numVoti >= VOTI || numVoti < 0);
- numVotitot = numVotitot + numVoti;
- for (int i = 0; i < numVoti; i++)
- {
- do {
- printf("voto %d: ", i + 1);
- scanf_s("%f", &informatica[i]);
- if (informatica[i] < 6)
- insuff++;
- if (informatica[i] < 1 || informatica[i] > 10)
- printf("voto errato inserisci un voto da 1 a 10\n");
- } while (informatica[i] < 1 || informatica[i] > 10);
- sommaVoti = sommaVoti + informatica[i];
- }
- do {
- printf("diritto:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
- scanf_s("%d", &numVoti);
- if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
- dir=true;
- } while (numVoti >= VOTI || numVoti < 0);
- numVotitot = numVotitot + numVoti;
- for (int i = 0; i < numVoti; i++)
- {
- do {
- printf("voto %d: ", i + 1);
- scanf_s("%f", &diritto[i]);
- if (diritto[i] < 6)
- insuff++;
- if (diritto[i] < 1 || diritto[i] > 10)
- printf("voto errato inserisci un voto da 1 a 10\n");
- } while (diritto[i] < 1 || diritto[i] > 10);
- sommaVoti = sommaVoti + diritto[i];
- }
- system("cls");
- //fine inserimento
- printf("FINE DELL'INSERIMENTO\n\n");
- do {
- printf("\n_________________________________________________________________________________________________________________\n\n");
- printf("cosa vuoi fare ora?\n1.visualizza i voti di tutte le materie \n2.visualizza media generale di tutti i voti\n");
- printf("3.visualizza la media di una materia a scelta\n4. visualizza il numero dei voti insufficienti di tutte le materie\n5.esci\n");
- scanf_s("%d", &scelta);
- switch (scelta)
- {
- case 1:
- system("cls");
- printf("ecco i tuoi voti %s %s !\n", cognome, nome);
- if (mate == true)
- {
- printf("metamtica:\t\tnessun voto inserito");
- }
- else
- {
- printf("matematica\t\t");
- for (int i = 0; matematica[i] != 0; i++)
- {
- printf("%.2f\t", matematica[i]);
- }
- }
- printf("\n");
- if (sto == true)
- {
- printf("storia:\t\t\tnessun voto inserito");
- }
- else
- {
- printf("storia\t\t\t");
- for (int i = 0; storia[i] != 0; i++)
- {
- printf("%.2f\t", storia[i]);
- }
- }
- printf("\n");
- if (geo == true)
- {
- printf("geografia:\t\tnessun voto inserito");
- }
- else
- {
- printf("geografia\t\t");
- for (int i = 0; geografia[i] != 0; i++)
- {
- printf("%.2f\t", geografia[i]);
- }
- }
- printf("\n");
- if (edfisica == true)
- {
- printf("motoria:\t\tnessun voto inserito");
- }
- else
- {
- printf("motoria\t\t\t");
- for (int i = 0; motoria[i] != 0; i++)
- {
- printf("%.2f\t", motoria[i]);
- }
- }
- printf("\n");
- if (ita == true)
- {
- printf("italiano:\t\tnessun voto inserito");
- }
- else
- {
- printf("italiano\t\t");
- for (int i = 0; italiano[i] != 0; i++)
- {
- printf("%.2f\t", italiano[i]);
- }
- }
- printf("\n");
- if (ing == true)
- {
- printf("inglese:\t\tnessun voto inserito");
- }
- else
- {
- printf("inglese\t\t\t");
- for (int i = 0; inglese[i] != 0; i++)
- {
- printf("%.2f\t", inglese[i]);
- }
- }
- printf("\n");
- if (inf == true)
- {
- printf("infomatica:\t\tnessun voto inserito");
- }
- else
- {
- printf("informatica\t\t");
- for (int i = 0; informatica[i] != 0; i++)
- {
- printf("%.2f\t", informatica[i]);
- }
- }
- printf("\n");
- if (dir == true)
- {
- printf("diritto:\t\tnessun voto inserito");
- }
- else
- {
- printf("diritto\t\t\t");
- for (int i = 0; diritto[i] != 0; i++)
- {
- printf("%.2f\t", diritto[i]);
- }
- }
- printf("\n\n");
- break;
- case 2:
- //stampa della media di tutti i voti
- system("cls");
- if (sommaVoti > 0)
- {
- printf("\nla media generale di tutti i voti e': %.2f \n", (float)sommaVoti / numVotitot);
- break;
- }
- else
- {
- printf("impossibile calcolare la media!!\n\n");
- }
- case 3:
- system("cls");
- do {
- //menù secondario per scegliere la materia di cui calcolare la media
- printf("\n\ninserisci il numero corrispondente alla materia di cui vuoi visualizzare la media:\n");
- printf("1.matematica\n2.storia\n3.geografia\n4.motoria\n5.italiano\n6.inglese\n7.informatica\n8.diritto\n");
- printf("9.torna al menu\n\n");
- scanf_s("%d",&sceltaMat);
- switch (sceltaMat)
- {
- //richiamo alla funzione mediavoti
- case 1:
- system("cls");
- if (mate == true)
- {
- printf("impossibile calcolare la media, nessun voto inserito\n");
- break;
- }
- else
- {
- printf("media matematica: %.2f\t", mediavoti(matematica, VOTI));
- break;
- }
- case 2:
- system("cls");
- if (sto == true)
- {
- printf("impossibile calcolare la media, nessun voto inserito\n");
- break;
- }
- else
- {
- printf("media storia: %.2f\t", mediavoti(storia, VOTI));
- break;
- }
- case 3:
- system("cls");
- if (geo == true)
- {
- printf("impossibile calcolare la media, nessun voto inserito\n");
- break;
- }
- else
- {
- printf("media geografia: %.2f\t", mediavoti(geografia, VOTI));
- break;
- }
- case 4:
- system("cls");
- if (edfisica == true)
- {
- printf("impossibile calcolare la media, nessun voto inserito\n");
- break;
- }
- else
- {
- printf("media motoria: %.2f\t", mediavoti(motoria, VOTI));
- break;
- }
- case 5:
- system("cls");
- if(ita==true)
- {
- printf("impossibile calcolare la media, nessun voto inserito\n");
- break;
- }
- else
- {
- printf("media italiano: %.2f\t", mediavoti(italiano, VOTI));
- break;
- }
- case 6:
- system("cls");
- if (ing == true)
- {
- printf("impossibile calcolare la media, nessun voto inserito\n");
- break;
- }
- else
- {
- printf("media inglese: %.2f\t", mediavoti(inglese, VOTI));
- break;
- }
- case 7:
- system("cls");
- if (inf == true)
- {
- printf("impossibile calcolare la media, nessun voto inserito\n");
- break;
- }
- else
- {
- printf("media informatica: %.2f\t", mediavoti(informatica, VOTI));
- break;
- }
- case 8:
- system("cls");
- if (dir == true)
- {
- printf("impossibile calcolare la media, nessun voto inserito\n");
- break;
- }
- else
- {
- printf("media diritto: %.2f\t", mediavoti(diritto, VOTI));
- break;
- }
- default:
- system("cls");
- if (sceltaMat != 9)
- {
- system("cls");
- printf("scelta errata!!!\n\n\n");
- break;
- }
- }
- } while (sceltaMat!=9);
- case 4:
- if (scelta != 3)
- {
- system("cls");
- printf("\ni tuoi voti insufficienti sono: %d\n", insuff);
- break;
- }
- default:
- system("cls");
- if (scelta !=5 && scelta!=4 && scelta!=3)
- {
- printf("scelta errata!!!\n\n\n");
- break;
- }
- }
- } while (scelta != 5);
- //stampa finale
- printf("grazie per aver usato questo programma %s %s !!!\n\nPuricelli Luca-3ci\n\n\n",nome,cognome);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement