Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <iomanip>
- using namespace std;
- struct abitu {
- char name[21];
- int NumList;
- int matem, Rus, Physics;
- };
- void first(string filename)
- {
- int LengthName = 20;
- ifstream fin(filename, ios::binary);
- abitu man;
- while (fin.peek() != EOF)
- {
- fin.read((char*)&man, sizeof(abitu));
- cout << man.name << " " << man.matem;
- if (man.Rus == 5)
- {
- cout << " " << "Русский язык";
- }
- if (man.Physics == 5)
- {
- cout << " " << "Физика";
- }
- cout << endl;
- }
- fin.close();
- }
- void second(string filename)
- {
- int LengthName = 20;
- ifstream fin(filename, ios::binary);
- abitu man;
- while (fin.peek() != EOF)
- {
- fin.read((char*)&man, sizeof(abitu));
- cout << man.name << " " << man.NumList << " ";
- cout << (((double)(man.matem + man.Rus + man.Physics)) / 3);
- cout << endl;
- }
- fin.close();
- }
- void third(string filename)
- {
- int LengthName = 20;
- const int n = 3;
- ifstream fin(filename, ios::binary);
- abitu man;
- double Marks[n] = { 0 };
- int count = 0;
- while (fin.peek() != EOF)
- {
- fin.read((char*)&man, sizeof(abitu));
- count++;
- Marks[0] += man.matem;
- Marks[1] += man.Rus;
- Marks[2] += man.Physics;
- }
- cout << "Математика" << (Marks[0] / count) << endl;
- cout << "Русский язык" << (Marks[1] / count) << endl;
- cout << "Физика" << (Marks[2] / count) << endl;
- fin.close();
- }
- void fourth(string filename)
- {
- const int n = 3;
- int LengthName = 20;
- ifstream fin(filename, ios::binary);
- abitu man;
- int Marks[n] = { 0 };
- int count = 0;
- while (fin.peek() != EOF)
- {
- fin.read((char*)&man, sizeof(abitu));
- count++;
- Marks[man.matem - 3]++;
- }
- cout << "Кол-во оценок по математике" << endl;
- cout << setw(LengthName) << "3 " << (Marks[0]) << endl;
- cout << setw(LengthName) << "4" << (Marks[1]) << endl;
- cout << setw(LengthName) << "5" << (Marks[2]) << endl;
- fin.close();
- }
- void fifth(string filename)
- {
- int LengthName = 20;
- ifstream fin(filename, ios::binary);
- ofstream fout("out.bin", ios::binary);
- abitu man;
- while (fin.peek() != EOF)
- {
- fin.read((char*)&man, sizeof(abitu));
- if (man.matem + man.Rus + man.Physics >= 12)
- fout.write((char*)&man, sizeof(abitu));
- }
- fin.close();
- fout.close();
- fin.open("out.bin", ios::binary);
- while (fin.peek() != EOF)
- {
- fin.read((char*)&man, sizeof(abitu));
- cout << setw(LengthName) << man.name << " " << man.NumList << " ";
- cout << "Матем. " << man.matem << " Рус. " << man.Rus << " Физ. " << man.Physics;
- cout << endl;
- }
- fin.close();
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- ifstream fin("abitu.txt");
- ofstream fout("abitu.bin", ios::binary);
- if (!fin.is_open())
- {
- cout << "can't open file" << endl;
- exit(-1);
- }
- else
- {
- abitu man;
- while (fin.peek() != EOF)
- {
- fin >> man.name;
- fin >> man.NumList;
- fin >> man.matem >> man.Rus >> man.Physics;
- fout.write((char*)&man, sizeof(abitu));
- }
- fin.close();
- fout.close();
- third("abitu.bin");
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement