Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- struct alunno
- {
- string nome;
- char sesso;
- int altezza_cm;
- };
- int num_alunni = 0;
- int ottieni_num_alunni()
- {
- int i=0;
- string linea;
- fstream file1;
- file1.open("classe.txt", ios::in);
- while(!file1.eof())
- {
- file1 >> linea;
- i++;
- }
- file1.close();
- return i;
- }
- void visualizza_alunni()
- {
- fstream file1;
- alunno stud;
- file1.open("classe.txt", ios::in);
- while(!file1.eof())
- {
- file1 >> stud.nome >> stud.sesso >> stud.altezza_cm;
- cout << stud.nome <<"-" << stud.sesso <<"-" <<stud.altezza_cm <<"\n";
- }
- file1.close();
- }
- void calcola_media()
- {
- num_alunni = ottieni_num_alunni();
- alunno classe[num_alunni];
- double media_m = 0;
- double media_f = 0;
- int cont_m = 0;
- int cont_f = 0;
- fstream file1;
- file1.open("classe.txt", ios::in);
- while(!file1.eof())
- {
- for (int i=0; i<num_alunni; i++)
- {
- file1 >> classe[i].nome >> classe[i].sesso >> classe[i].altezza_cm;
- if (classe[i].sesso == 'm')
- {
- media_m += classe[i].altezza_cm;
- cont_m++;
- }
- if (classe[i].sesso == 'f')
- {
- media_f += classe[i].altezza_cm;
- cont_f++;
- }
- }
- }
- file1.close();
- media_m = media_m/cont_m;
- media_f = media_f/cont_f;
- cout << "Altezza media maschi: " <<media_m <<"\n";
- cout << "Altezza media femmine: " <<media_f <<"\n";
- }
- void memorizza_alunni()
- {
- fstream file1;
- file1.open("classe.txt", ios::out);
- cout << "Numero di alunni della classe: ";
- cin >> num_alunni;
- alunno stud;
- for (int i=0; i<num_alunni; i++)
- {
- cout << "Nome alunno: ";
- cin >> stud.nome;
- cout << "Sesso (m/f): ";
- cin >> stud.sesso;
- cout << "Altezza in cm: ";
- cin >> stud.altezza_cm;
- file1 << stud.nome << "\n";
- file1 << stud.sesso << "\n";
- file1 << stud.altezza_cm <<"\n";
- }
- file1.close();
- }
- int main(int argc, char** argv) {
- memorizza_alunni();
- visualizza_alunni();
- calcola_media();
- return 0;
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement