Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. #include <locale.h>
  2. #include <conio.h>
  3. #include <iostream>
  4. #include <windows.h>
  5. using namespace std;
  6. #define SIZE 3 //КОЛИЧЕСТВО СТУДЕНТОВ
  7. class Student
  8. {
  9. protected:
  10. char name[20];
  11. char surname[20];
  12. public:
  13. void set()
  14. {
  15. cout << "ИМЯ = ";
  16. cin.getline(name, 20);
  17. cout << "ФАМИЛИЯ = ";
  18. cin.getline(surname, 20);
  19. cout << endl;
  20. }
  21. void print()
  22. {
  23. cout << "ИМЯ = " << name << " " << "ФАМИЛИЯ = " << surname << endl;
  24. }
  25.  
  26. };
  27. class GroupSTUDENT : public Student
  28. {
  29. Student A[SIZE];
  30. char *temp[SIZE]; //массив указателей на имена
  31. public:
  32. //добавление в группу
  33. void add()
  34. {
  35. for (int i = 0; i < SIZE; i++)
  36. {
  37. A[i].set();
  38. this->temp[i] = name;
  39. }
  40. }
  41. //вывод
  42. void print_gr()
  43. {
  44. for (int i = 0; i < SIZE; i++)
  45. {
  46. cout << i + 1 << ".";
  47. A[i].print();
  48. }
  49. }
  50. //изменить информацию
  51. void change_info(int n)
  52. {
  53. A[n].set();
  54. }
  55. //сортировка по первой букве имени
  56. void sort()
  57. {
  58. int min;
  59. Student t;
  60. for (int i = 0; i < SIZE - 1; i++)
  61. {
  62. min = i;
  63. for (int j = i + 1; j < SIZE; j++)
  64. {
  65. if (temp[j] < temp[min])
  66. {
  67. min = j;
  68. }
  69. }
  70. t = A[i];
  71. A[i] = A[min];
  72. A[min] = t;
  73. }
  74. }
  75. };
  76. int main()
  77. {
  78. SetConsoleCP(1251);
  79. SetConsoleOutputCP(1251);
  80. setlocale(LC_ALL, "rus");
  81. GroupSTUDENT GR;
  82. int k, n;
  83. GR.add();
  84. system("cls");
  85. GR.print_gr();
  86. cout << "Хотите ли вы изменить информацию?" << endl << "1 - изменить весь список студентов" << endl << "2 - изменить информацию о опеделенном студенте" << endl;
  87. cout << "Остальные кнопки - не менять информацию" << endl;
  88. cin >> k;
  89. switch (k)
  90. {
  91. case 1:
  92. GR.add();
  93. break;
  94. case 2:
  95. cout << "Введите номер студента" << endl;
  96. cin >> n;
  97. GR.change_info(n-1);
  98. break;
  99. }
  100. system("cls"); GR.print_gr();
  101. cout << endl;
  102. GR.sort();
  103. GR.print_gr();
  104. _getch();
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement