Advertisement
Guest User

Untitled

a guest
Mar 28th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. #include <conio.h>
  4. #define DIM 100
  5. #define VOTI 11
  6.  
  7. //funzione cha calcola la media delle singole materie
  8. float mediavoti(float materia[],int dim)
  9. {
  10. float somma = 0;
  11. int i=0;
  12. for (i = 0; materia[i] != 0; i++)
  13. {
  14. somma = somma + materia[i];
  15. }
  16. return (float)somma / i;
  17. }
  18.  
  19. int main()
  20. {
  21. char nome[DIM],cognome[DIM];
  22. int nMaterie = 0; //numero materie
  23. int scelta = 0,sceltaMat=0; //scelta per lo switch case
  24. int numVoti = 0; //voti per ogni materia
  25. //array che contengono i voti di tutte le materie
  26. float matematica[VOTI] = {}, storia[VOTI] = {}, geografia[VOTI] = {}, motoria[VOTI] = {};
  27. float italiano[VOTI] = {},inglese[VOTI] = {},informatica[VOTI] = {},diritto[VOTI] = {};
  28. int numVotitot = 0;
  29. float sommaVoti=0;
  30. float media = 0;
  31. int votiMat=0, sommaMat=0;
  32. int insuff = 0;
  33. //variabili bool servono per controllare se è inserito almeno un voto ed eviatre /0
  34. bool mate = false, sto = false, geo = false, edfisica = false, ita = false, ing = false, inf = false, dir = false;
  35.  
  36. //introduzione
  37.  
  38. printf("\nLuca Puricelli - 3ci \nprogramma per la gestione dei voti di uno studente\n");
  39. printf("\n_________________________________________________________________________________________________________________\n");
  40.  
  41. //insrimento delle generalita
  42.  
  43. printf("ciao questo e' un programma che permette di gestire i tuoi voti durante l'anno scolastico\n");
  44. 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");
  45. printf("\nper iniziare inserisci il tuo nome:\n"); //inseriemnto di nome e cognome dell'alunno
  46. gets_s(nome, DIM);
  47. printf("inserisci il tuo cognome:\n");
  48. gets_s(cognome,DIM);
  49.  
  50. //inserimento dei voti
  51.  
  52. printf("ora bisogna inserire tutti i voti delle varie materie \nse non hai voti da inserire non ti preoccupare scrivi 0 :)\n\n");
  53. do {
  54. printf("matematica:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
  55. scanf_s("%d", &numVoti);
  56. if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
  57. mate=true;
  58. } while (numVoti >= VOTI || numVoti < 0);
  59. numVotitot = numVotitot + numVoti;
  60. for (int i = 0; i < numVoti; i++)
  61. {
  62. do {
  63. printf("voto numero %d: ", i + 1);
  64. scanf_s("%f", &matematica[i]);
  65. if (matematica[i] < 6)
  66. insuff++;
  67. if (matematica[i] < 1 || matematica[i] > 10)
  68. printf("voto errato inserisci un voto da 1 a 10\n");
  69.  
  70. } while (matematica[i] < 1 || matematica[i]>10);
  71. sommaVoti = sommaVoti + matematica[i];
  72. }
  73.  
  74. do {
  75. printf("storia:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
  76. scanf_s("%d", &numVoti);
  77. if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
  78. sto=true;
  79. } while (numVoti >= VOTI || numVoti < 0);
  80. numVotitot = numVotitot + numVoti;
  81. for (int i = 0; i < numVoti; i++)
  82. {
  83. do {
  84. printf("voto numero %d: ", i + 1);
  85. scanf_s("%f", &storia[i]);
  86. if (storia[i] < 6)
  87. insuff++;
  88. if (storia[i] < 1 || storia[i] > 10)
  89. printf("voto errato inserisci un voto da 1 a 10\n");
  90. } while (storia[i] < 1 || storia[i] > 10);
  91. sommaVoti = sommaVoti + storia[i];
  92. }
  93.  
  94. do {
  95. printf("geografia:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
  96. scanf_s("%d", &numVoti);
  97. if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
  98. geo=true;
  99. } while (numVoti >= VOTI || numVoti < 0);
  100. numVotitot = numVotitot + numVoti;
  101. for (int i = 0; i < numVoti; i++)
  102. {
  103. do {
  104. printf("voto numero %d: ", i + 1);
  105. scanf_s("%f", &geografia[i]);
  106. if (geografia[i] < 6)
  107. insuff++;
  108. if (geografia[i] < 1 || geografia[i] > 10)
  109. printf("voto errato inserisci un voto da 1 a 10\n");
  110. } while (geografia[i] < 1 || geografia[i] > 10);
  111. sommaVoti = sommaVoti + geografia[i];
  112. }
  113.  
  114. do {
  115. printf("motoria:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
  116. scanf_s("%d", &numVoti);
  117. if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
  118. edfisica=true;
  119. } while (numVoti >= VOTI || numVoti < 0);
  120. numVotitot = numVotitot + numVoti;
  121. for (int i = 0; i < numVoti; i++)
  122. {
  123. do {
  124. printf("voto %d: ", i + 1);
  125. scanf_s("%f", &motoria[i]);
  126. if (motoria[i] < 6)
  127. insuff++;
  128. if (motoria[i] < 1 || motoria[i] > 10)
  129. printf("voto errato inserisci un voto da 1 a 10\n");
  130. } while (motoria[i] < 1 || motoria[i] > 10);
  131. sommaVoti = sommaVoti + motoria[i];
  132. }
  133.  
  134. do {
  135. printf("italiano:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
  136. scanf_s("%d", &numVoti);
  137. if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
  138. ita=true;
  139. } while (numVoti >= VOTI || numVoti < 0);
  140. numVotitot = numVotitot + numVoti;
  141. for (int i = 0; i < numVoti; i++)
  142. {
  143. do {
  144. printf("voto %d: ", i + 1);
  145. scanf_s("%f", &italiano[i]);
  146. if (italiano[i] < 6)
  147. insuff++;
  148. if (italiano[i] < 1 || italiano[i] > 10)
  149. printf("voto errato inserisci un voto da 1 a 10\n");
  150. } while (italiano[i] < 1 || italiano[i] > 10);
  151. sommaVoti = sommaVoti + italiano[i];
  152. }
  153.  
  154. do {
  155. printf("inglese:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
  156. scanf_s("%d", &numVoti);
  157. if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
  158. ing=true;
  159. } while (numVoti >= VOTI || numVoti < 0);
  160. numVotitot = numVotitot + numVoti;
  161. for (int i = 0; i < numVoti; i++)
  162. {
  163. do {
  164. printf("voto %d: ", i + 1);
  165. scanf_s("%f", &inglese[i]);
  166. if (inglese[i] < 6)
  167. insuff++;
  168. if (inglese[i] < 1 || inglese[i] > 10)
  169. printf("voto errato inserisci un voto da 1 a 10\n");
  170. } while (inglese[i] < 1 || inglese[i] > 10);
  171. sommaVoti = sommaVoti + inglese[i];
  172. }
  173.  
  174. do {
  175. printf("informatica:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
  176. scanf_s("%d", &numVoti);
  177. if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
  178. inf=true;
  179. } while (numVoti >= VOTI || numVoti < 0);
  180. numVotitot = numVotitot + numVoti;
  181. for (int i = 0; i < numVoti; i++)
  182. {
  183. do {
  184. printf("voto %d: ", i + 1);
  185. scanf_s("%f", &informatica[i]);
  186. if (informatica[i] < 6)
  187. insuff++;
  188. if (informatica[i] < 1 || informatica[i] > 10)
  189. printf("voto errato inserisci un voto da 1 a 10\n");
  190. } while (informatica[i] < 1 || informatica[i] > 10);
  191. sommaVoti = sommaVoti + informatica[i];
  192. }
  193.  
  194. do {
  195. printf("diritto:\nquanti voti vuoi inseire per questa materia?(massimo %d voti)\n", VOTI-1);
  196. scanf_s("%d", &numVoti);
  197. if (numVoti == 0)//nego la variabile bool che servirà per la stampa in caso non ci siano voti
  198. dir=true;
  199. } while (numVoti >= VOTI || numVoti < 0);
  200. numVotitot = numVotitot + numVoti;
  201. for (int i = 0; i < numVoti; i++)
  202. {
  203. do {
  204. printf("voto %d: ", i + 1);
  205. scanf_s("%f", &diritto[i]);
  206. if (diritto[i] < 6)
  207. insuff++;
  208. if (diritto[i] < 1 || diritto[i] > 10)
  209. printf("voto errato inserisci un voto da 1 a 10\n");
  210. } while (diritto[i] < 1 || diritto[i] > 10);
  211. sommaVoti = sommaVoti + diritto[i];
  212. }
  213.  
  214.  
  215. system("cls");
  216.  
  217. //fine inserimento
  218. printf("FINE DELL'INSERIMENTO\n\n");
  219. do {
  220.  
  221. printf("\n_________________________________________________________________________________________________________________\n\n");
  222. printf("cosa vuoi fare ora?\n1.visualizza i voti di tutte le materie \n2.visualizza media generale di tutti i voti\n");
  223. printf("3.visualizza la media di una materia a scelta\n4. visualizza il numero dei voti insufficienti di tutte le materie\n5.esci\n");
  224. scanf_s("%d", &scelta);
  225. switch (scelta)
  226. {
  227. case 1:
  228.  
  229. system("cls");
  230. printf("ecco i tuoi voti %s %s !\n", cognome, nome);
  231. if (mate == true)
  232. {
  233. printf("metamtica:\t\tnessun voto inserito");
  234. }
  235. else
  236. {
  237. printf("matematica\t\t");
  238. for (int i = 0; matematica[i] != 0; i++)
  239. {
  240. printf("%.2f\t", matematica[i]);
  241. }
  242. }
  243. printf("\n");
  244.  
  245.  
  246. if (sto == true)
  247. {
  248. printf("storia:\t\t\tnessun voto inserito");
  249. }
  250. else
  251. {
  252. printf("storia\t\t\t");
  253. for (int i = 0; storia[i] != 0; i++)
  254. {
  255. printf("%.2f\t", storia[i]);
  256. }
  257. }
  258. printf("\n");
  259.  
  260. if (geo == true)
  261. {
  262. printf("geografia:\t\tnessun voto inserito");
  263. }
  264. else
  265. {
  266. printf("geografia\t\t");
  267. for (int i = 0; geografia[i] != 0; i++)
  268. {
  269. printf("%.2f\t", geografia[i]);
  270. }
  271. }
  272. printf("\n");
  273.  
  274. if (edfisica == true)
  275. {
  276. printf("motoria:\t\tnessun voto inserito");
  277. }
  278. else
  279. {
  280. printf("motoria\t\t\t");
  281. for (int i = 0; motoria[i] != 0; i++)
  282. {
  283. printf("%.2f\t", motoria[i]);
  284. }
  285. }
  286. printf("\n");
  287.  
  288. if (ita == true)
  289. {
  290. printf("italiano:\t\tnessun voto inserito");
  291. }
  292. else
  293. {
  294. printf("italiano\t\t");
  295. for (int i = 0; italiano[i] != 0; i++)
  296. {
  297. printf("%.2f\t", italiano[i]);
  298. }
  299. }
  300. printf("\n");
  301.  
  302. if (ing == true)
  303. {
  304. printf("inglese:\t\tnessun voto inserito");
  305. }
  306. else
  307. {
  308. printf("inglese\t\t\t");
  309. for (int i = 0; inglese[i] != 0; i++)
  310. {
  311. printf("%.2f\t", inglese[i]);
  312. }
  313. }
  314. printf("\n");
  315.  
  316. if (inf == true)
  317. {
  318. printf("infomatica:\t\tnessun voto inserito");
  319. }
  320. else
  321. {
  322. printf("informatica\t\t");
  323. for (int i = 0; informatica[i] != 0; i++)
  324. {
  325. printf("%.2f\t", informatica[i]);
  326. }
  327. }
  328. printf("\n");
  329. if (dir == true)
  330. {
  331. printf("diritto:\t\tnessun voto inserito");
  332. }
  333. else
  334. {
  335. printf("diritto\t\t\t");
  336. for (int i = 0; diritto[i] != 0; i++)
  337. {
  338. printf("%.2f\t", diritto[i]);
  339. }
  340. }
  341. printf("\n\n");
  342. break;
  343. case 2:
  344. //stampa della media di tutti i voti
  345. system("cls");
  346. if (sommaVoti > 0)
  347. {
  348. printf("\nla media generale di tutti i voti e': %.2f \n", (float)sommaVoti / numVotitot);
  349. break;
  350. }
  351. else
  352. {
  353. printf("impossibile calcolare la media!!\n\n");
  354. }
  355. case 3:
  356. system("cls");
  357. do {
  358.  
  359. //menù secondario per scegliere la materia di cui calcolare la media
  360. printf("\n\ninserisci il numero corrispondente alla materia di cui vuoi visualizzare la media:\n");
  361. printf("1.matematica\n2.storia\n3.geografia\n4.motoria\n5.italiano\n6.inglese\n7.informatica\n8.diritto\n");
  362. printf("9.torna al menu\n\n");
  363. scanf_s("%d",&sceltaMat);
  364.  
  365. switch (sceltaMat)
  366. {
  367. //richiamo alla funzione mediavoti
  368. case 1:
  369. system("cls");
  370. if (mate == true)
  371. {
  372. printf("impossibile calcolare la media, nessun voto inserito\n");
  373. break;
  374. }
  375. else
  376. {
  377. printf("media matematica: %.2f\t", mediavoti(matematica, VOTI));
  378. break;
  379. }
  380. case 2:
  381. system("cls");
  382. if (sto == true)
  383. {
  384. printf("impossibile calcolare la media, nessun voto inserito\n");
  385. break;
  386. }
  387. else
  388. {
  389. printf("media storia: %.2f\t", mediavoti(storia, VOTI));
  390. break;
  391. }
  392. case 3:
  393. system("cls");
  394. if (geo == true)
  395. {
  396. printf("impossibile calcolare la media, nessun voto inserito\n");
  397. break;
  398. }
  399. else
  400. {
  401. printf("media geografia: %.2f\t", mediavoti(geografia, VOTI));
  402. break;
  403. }
  404. case 4:
  405. system("cls");
  406. if (edfisica == true)
  407. {
  408. printf("impossibile calcolare la media, nessun voto inserito\n");
  409. break;
  410. }
  411. else
  412. {
  413. printf("media motoria: %.2f\t", mediavoti(motoria, VOTI));
  414. break;
  415. }
  416. case 5:
  417. system("cls");
  418. if(ita==true)
  419. {
  420. printf("impossibile calcolare la media, nessun voto inserito\n");
  421. break;
  422. }
  423. else
  424. {
  425. printf("media italiano: %.2f\t", mediavoti(italiano, VOTI));
  426. break;
  427. }
  428. case 6:
  429. system("cls");
  430. if (ing == true)
  431. {
  432. printf("impossibile calcolare la media, nessun voto inserito\n");
  433. break;
  434. }
  435. else
  436. {
  437. printf("media inglese: %.2f\t", mediavoti(inglese, VOTI));
  438. break;
  439. }
  440. case 7:
  441. system("cls");
  442. if (inf == true)
  443. {
  444. printf("impossibile calcolare la media, nessun voto inserito\n");
  445. break;
  446. }
  447. else
  448. {
  449. printf("media informatica: %.2f\t", mediavoti(informatica, VOTI));
  450. break;
  451. }
  452. case 8:
  453. system("cls");
  454. if (dir == true)
  455. {
  456. printf("impossibile calcolare la media, nessun voto inserito\n");
  457. break;
  458. }
  459. else
  460. {
  461. printf("media diritto: %.2f\t", mediavoti(diritto, VOTI));
  462. break;
  463. }
  464. default:
  465. system("cls");
  466. if (sceltaMat != 9)
  467. {
  468. system("cls");
  469. printf("scelta errata!!!\n\n\n");
  470. break;
  471. }
  472. }
  473. } while (sceltaMat!=9);
  474. case 4:
  475. if (scelta != 3)
  476. {
  477. system("cls");
  478. printf("\ni tuoi voti insufficienti sono: %d\n", insuff);
  479. break;
  480. }
  481. default:
  482. system("cls");
  483. if (scelta !=5 && scelta!=4 && scelta!=3)
  484. {
  485. printf("scelta errata!!!\n\n\n");
  486. break;
  487. }
  488. }
  489. } while (scelta != 5);
  490. //stampa finale
  491. printf("grazie per aver usato questo programma %s %s !!!\n\nPuricelli Luca-3ci\n\n\n",nome,cognome);
  492. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement