Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. struct alunno
  7. {
  8. string nome;
  9. char sesso;
  10. int altezza_cm;
  11. };
  12.  
  13. int num_alunni = 0;
  14.  
  15. int ottieni_num_alunni()
  16. {
  17. int i=0;
  18. string linea;
  19.  
  20. fstream file1;
  21. file1.open("classe.txt", ios::in);
  22. while(!file1.eof())
  23. {
  24. file1 >> linea;
  25. i++;
  26. }
  27. file1.close();
  28. return i;
  29. }
  30.  
  31. void visualizza_alunni()
  32. {
  33. fstream file1;
  34. alunno stud;
  35.  
  36. file1.open("classe.txt", ios::in);
  37. while(!file1.eof())
  38. {
  39. file1 >> stud.nome >> stud.sesso >> stud.altezza_cm;
  40. cout << stud.nome <<"-" << stud.sesso <<"-" <<stud.altezza_cm <<"\n";
  41. }
  42. file1.close();
  43. }
  44.  
  45. void calcola_media()
  46. {
  47. num_alunni = ottieni_num_alunni();
  48. alunno classe[num_alunni];
  49.  
  50. double media_m = 0;
  51. double media_f = 0;
  52. int cont_m = 0;
  53. int cont_f = 0;
  54.  
  55. fstream file1;
  56. file1.open("classe.txt", ios::in);
  57.  
  58. while(!file1.eof())
  59. {
  60. for (int i=0; i<num_alunni; i++)
  61. {
  62. file1 >> classe[i].nome >> classe[i].sesso >> classe[i].altezza_cm;
  63.  
  64. if (classe[i].sesso == 'm')
  65. {
  66. media_m += classe[i].altezza_cm;
  67. cont_m++;
  68. }
  69. if (classe[i].sesso == 'f')
  70. {
  71. media_f += classe[i].altezza_cm;
  72. cont_f++;
  73. }
  74. }
  75. }
  76. file1.close();
  77.  
  78. media_m = media_m/cont_m;
  79. media_f = media_f/cont_f;
  80.  
  81. cout << "Altezza media maschi: " <<media_m <<"\n";
  82. cout << "Altezza media femmine: " <<media_f <<"\n";
  83. }
  84.  
  85. void memorizza_alunni()
  86. {
  87. fstream file1;
  88. file1.open("classe.txt", ios::out);
  89.  
  90. cout << "Numero di alunni della classe: ";
  91. cin >> num_alunni;
  92. alunno stud;
  93.  
  94. for (int i=0; i<num_alunni; i++)
  95. {
  96. cout << "Nome alunno: ";
  97. cin >> stud.nome;
  98. cout << "Sesso (m/f): ";
  99. cin >> stud.sesso;
  100. cout << "Altezza in cm: ";
  101. cin >> stud.altezza_cm;
  102.  
  103. file1 << stud.nome << "\n";
  104. file1 << stud.sesso << "\n";
  105. file1 << stud.altezza_cm <<"\n";
  106. }
  107.  
  108. file1.close();
  109. }
  110.  
  111. int main(int argc, char** argv) {
  112.  
  113. memorizza_alunni();
  114. visualizza_alunni();
  115.  
  116. calcola_media();
  117.  
  118. return 0;
  119. system("pause");
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement