Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <locale.h>
- #include <conio.h>
- #include <iostream>
- #include <windows.h>
- using namespace std;
- #define SIZE 3 //КОЛИЧЕСТВО СТУДЕНТОВ
- class Student
- {
- protected:
- char name[20];
- char surname[20];
- public:
- void set()
- {
- cout << "ИМЯ = ";
- cin.getline(name, 20);
- cout << "ФАМИЛИЯ = ";
- cin.getline(surname, 20);
- cout << endl;
- }
- void print()
- {
- cout << "ИМЯ = " << name << " " << "ФАМИЛИЯ = " << surname << endl;
- }
- };
- class GroupSTUDENT : public Student
- {
- Student A[SIZE];
- char *temp[SIZE]; //массив указателей на имена
- public:
- //добавление в группу
- void add()
- {
- for (int i = 0; i < SIZE; i++)
- {
- A[i].set();
- this->temp[i] = name;
- }
- }
- //вывод
- void print_gr()
- {
- for (int i = 0; i < SIZE; i++)
- {
- cout << i + 1 << ".";
- A[i].print();
- }
- }
- //изменить информацию
- void change_info(int n)
- {
- A[n].set();
- }
- //сортировка по первой букве имени
- void sort()
- {
- int min;
- Student t;
- for (int i = 0; i < SIZE - 1; i++)
- {
- min = i;
- for (int j = i + 1; j < SIZE; j++)
- {
- if (temp[j] < temp[min])
- {
- min = j;
- }
- }
- t = A[i];
- A[i] = A[min];
- A[min] = t;
- }
- }
- };
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- setlocale(LC_ALL, "rus");
- GroupSTUDENT GR;
- int k, n;
- GR.add();
- system("cls");
- GR.print_gr();
- cout << "Хотите ли вы изменить информацию?" << endl << "1 - изменить весь список студентов" << endl << "2 - изменить информацию о опеделенном студенте" << endl;
- cout << "Остальные кнопки - не менять информацию" << endl;
- cin >> k;
- switch (k)
- {
- case 1:
- GR.add();
- break;
- case 2:
- cout << "Введите номер студента" << endl;
- cin >> n;
- GR.change_info(n-1);
- break;
- }
- system("cls"); GR.print_gr();
- cout << endl;
- GR.sort();
- GR.print_gr();
- _getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement