Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- using namespace std;
- fstream infile("file.bin");
- class student {
- public:
- class stud {
- public:
- string name;
- string surname;
- string lastname;
- char sex;
- int age;
- int kurs;
- int mark;
- };
- stud stu;
- public:
- void vvod() {
- cout << "Enter name" << endl;
- cin >> stu.name;
- cout << "Enter surname" << endl;
- cin >> stu.surname;
- cout << "Enter lastname" << endl;
- cin >> stu.lastname;
- cout << "Enter sex(m - male, f - female)" << endl;
- cin >> stu.sex;
- cout << "Enter age" << endl;
- cin >> stu.age;
- cout << "Enter kurs" << endl;
- cin >> stu.kurs;
- cout << "Enter mark" << endl;
- cin >> stu.mark;
- infile.open("file.bin", ios::out);
- infile.write(stu.name.c_str(), stu.name.length() + 1);
- infile.write(stu.surname.c_str(), stu.surname.length() + 1);
- infile.write(stu.lastname.c_str(), stu.lastname.length() + 1);
- infile.write(reinterpret_cast <char*> (&stu.sex), sizeof(char));
- infile.write(reinterpret_cast <char*> (&stu.age), sizeof(int));
- infile.write(reinterpret_cast <char*> (&stu.kurs), sizeof(int));
- infile.write(reinterpret_cast <char*> (&stu.mark), sizeof(int));
- infile.close();
- }
- void vyvod() {
- infile.open("file.bin", ios::binary);
- while (!infile.eof()) {
- infile >> stu.name;
- cout << "Name:" << stu.name << endl;
- infile >> stu.surname;
- cout << "Surname:" << stu.surname << endl;
- infile >> stu.lastname;
- cout << "Lastame:" << stu.lastname << endl;
- infile >> stu.sex;
- cout << "Sex:" << stu.sex << endl;
- infile >> stu.age;
- cout << "Age:" << stu.age << endl;
- infile >> stu.kurs;
- cout << "Kurs:" << stu.kurs << endl;
- infile >> stu.mark;
- cout << "Mark:" << stu.mark << endl;
- }
- infile.close();
- }
- void poisk() {
- int num = 0;;
- string n, s, l;
- char m;
- int a, k, ma;
- cout << "Enter name" << endl;
- cin >> n;
- infile.open("file.bin");
- cout << "students with name " << n << ":" << endl;;
- while (!infile.eof()) {
- infile >> stu.name;
- infile >> stu.surname;
- infile >> stu.lastname;
- infile >> stu.sex;
- infile >> stu.age;
- infile >> stu.kurs;
- infile >> stu.mark;
- if (stu.name == n) {
- cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- num++;
- }
- }
- infile.close();
- if (num != 1) {
- cout << "enter surname" << endl;
- cin >> s;
- infile.open("file.bin");
- cout << "students with name and surname" << n << " " << s << ":" << endl;
- num = 0;
- while (!infile.eof()) {
- infile >> stu.name;
- infile >> stu.surname;
- infile >> stu.lastname;
- infile >> stu.sex;
- infile >> stu.age;
- infile >> stu.kurs;
- infile >> stu.mark;
- if (stu.surname == s && stu.name == n) {
- cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- num++;
- }
- }
- infile.close();
- if (num != 1) {
- cout << "enter lastname";
- cin >> l;
- cout << "students with name and surname nad last name " << n << " " << s << " " << l << ":" << endl;
- num = 0;
- infile.open("file.bin");
- while (!infile.eof()) {
- infile >> stu.name;
- infile >> stu.surname;
- infile >> stu.lastname;
- infile >> stu.sex;
- infile >> stu.age;
- infile >> stu.kurs;
- infile >> stu.mark;
- if (stu.name == n && stu.surname == s && stu.lastname == l) {
- cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- num++;
- }
- }
- infile.close();
- if (num != 1) {
- cout << "enter sex";
- cin >> m;
- cout << "students with name and surname and lastname and sex " << n << " " << s << " " << l << " " << s << ":" << endl;
- num = 0;
- infile.open("file.bin");
- while (!infile.eof()) {
- infile >> stu.name;
- infile >> stu.surname;
- infile >> stu.lastname;
- infile >> stu.sex;
- infile >> stu.age;
- infile >> stu.kurs;
- infile >> stu.mark;
- if (n == stu.name && stu.surname == s && stu.lastname == l && stu.sex == m) {
- cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- num++;
- }
- }
- infile.close();
- if (num != 1) {
- cout << "enter age";
- cin >> a;
- cout << "students with name and surname and lastname and sex and age " << n << " " << s << " " << l << " " << s << " " << a << ":" << endl;
- num = 0;
- infile.open("file.bin");
- while (!infile.eof()) {
- infile >> stu.name;
- infile >> stu.surname;
- infile >> stu.lastname;
- infile >> stu.sex;
- infile >> stu.age;
- infile >> stu.kurs;
- infile >> stu.mark;
- if (n == stu.name && stu.surname == s && stu.lastname == l && stu.sex == m && stu.age == a) {
- cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- num++;
- }
- }
- infile.close();
- if (num != 1) {
- cout << "enter kurs";
- cin >> k;
- cout << "students with name and surname and lastname and sex and age and kurs " << n << " " << s << " " << l << " " << s << " " << a << " " << k << ":" << endl;
- num = 0;
- infile.open("file.bin");
- while (!infile.eof()) {
- infile >> stu.name;
- infile >> stu.surname;
- infile >> stu.lastname;
- infile >> stu.sex;
- infile >> stu.age;
- infile >> stu.kurs;
- infile >> stu.mark;
- if (n == stu.name && stu.surname == s && stu.lastname == l && stu.sex == m && stu.age == a && stu.kurs == k) {
- cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- num++;
- }
- }
- infile.close();
- if (num != 1) {
- cout << "enter mark";
- cin >> ma;
- cout << "students with name and surname and lastname and sex and age and kurs and mark " << n << " " << s << " " << l << " " << s << " " << a << " " << k << " " << ma << ":" << endl;
- num = 0;
- infile.open("file.bin");
- while (!infile.eof()) {
- infile >> stu.name;
- infile >> stu.surname;
- infile >> stu.lastname;
- infile >> stu.sex;
- infile >> stu.age;
- infile >> stu.kurs;
- infile >> stu.mark;
- if (n == stu.name && stu.surname == s && stu.lastname == l && stu.sex == m && stu.age == a && stu.kurs == k && ma == stu.mark) {
- cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- num++;
- }
- }
- infile.close();
- }
- else {
- cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- }
- }
- else {
- cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- }
- }
- else {
- cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- }
- }
- else {
- cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- }
- }
- else {
- cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- }
- }
- else {
- cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
- }
- }
- int mans(int i) {
- int num = 0;
- infile.open("file.bin", ios::beg);
- if (!infile.is_open()) cout << "open)" << endl;
- else {
- cout << "not open(" << endl;
- }
- infile.seekg(0);
- while (!infile.eof()) {
- infile >> stu.name;
- infile >> stu.surname;
- infile >> stu.lastname;
- infile >> stu.sex;
- infile >> stu.age;
- infile >> stu.kurs;
- infile >> stu.mark;
- if (stu.kurs == i && stu.sex == 'm') num++;
- }
- infile.close();
- return num;
- }
- };
- int main() {
- int i, k, p = 0, l;
- cout << "Enter 1 - add student in file" << endl << "2 - clear file and add students" << endl << "3-nothing" << endl;
- cin >> k;
- student b;
- if (k == 1) {
- cout << "enter kol-vo students:" << endl;
- cin >> p;
- for (i = 0; i < p; i++) {
- b.vvod();
- }
- }
- else {
- if (k == 2) {
- remove("file.bin");
- infile.open("file.bin");
- infile.close();
- cout << "Enter kol-vo students" << endl;
- cin >> p;
- for (i = 0; i < p; i++) {
- b.vvod();
- }
- }
- }
- cout << "Enter kurs" << endl;
- cin >> l;
- p = b.mans(l);
- cout << endl << p;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement