Advertisement
Daniel_leinaD

Лаба Некит 6

Dec 19th, 2022 (edited)
1,046
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.37 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <clocale>
  4. // пока будешь стирать *ебучий* прочитаешь и вникнешь в весь код
  5. // '\n' - перенос на новую строку
  6. // '\t' - чтоб были ровные отступы типа как в таблице :)
  7. using namespace std;
  8.  
  9. struct student { // ебучая структура (если че скажи ебучему преподу,если спросит, что через ебучий char* нихуя не работало)
  10.     string name;
  11.     string surname;
  12.     string kurs; // ебучее направление / ебучий курс
  13.     int group; // ебучая группа
  14. };
  15.  
  16. void zapoln(student *st, int n) { // заполняем ебучих студентов
  17.     for (int i = 0; i < n; i++) {
  18.         cout << "Name:" << '\n';
  19.         cin >> st[i].name; // определяем имя студента
  20.         cout << "Surname:" << '\n';
  21.         cin >> st[i].surname;
  22.         cout << "Kurs:" << '\n';
  23.         cin >> st[i].kurs;
  24.         cout << "Group:" << '\n';
  25.         cin >> st[i].group;
  26.     }
  27. }
  28. // st[i].четотам - обращаемся к ебучей структуре по заданной функции, типа если нужно узнать ебучее имя, то пишем st[i].name и тд , ну ты понял короче
  29.  
  30. void print_st(student *st, int n) { // печатаем ебучих студентов
  31.     // в виде таблицы
  32.     cout << "Name\tSurname\tKurs\tGroup" << '\n';
  33.     for (int i = 0; i < n; i++) {
  34.         cout << st[i].name << '\t' << st[i].surname << '\t' << st[i].kurs << '\t' << st[i].group << '\t\t' << '\n';
  35.     }
  36. }
  37.  
  38. void opr_kurs(student *st, int n) { // каких ебучих студентов ебучего курса хочет увидеть ебучий препод
  39.     cout << "which course do you want to see students?\n";
  40.     string KURS;
  41.     cin >> KURS;
  42.     cout << "Kurs:" << '\t' << KURS << '\n';
  43.     for (int i = 0; i < n; i++) {
  44.         if (st[i].kurs == KURS) {
  45.             cout << st[i].name << '\t' << st[i].surname << '\t' << st[i].kurs << '\t' << st[i].group << '\t\t' << '\n';
  46.         }
  47.     }
  48. }
  49.  
  50. void opr_group_and_kurs(student* st, int n) { // каких ебучих студентов ебучего курса + ебучей группы хочет увидеть ебучий препод
  51.     cout << "which course + group  you want to see students?\n";
  52.     string course;
  53.     int group;
  54.     cout << "course:" << '\n';
  55.     cin >> course;
  56.     cout << "group:" << '\n';
  57.     cin >> group;
  58.     cout << "course:" << '\t' << course << '\t' << group;
  59.     for (int i = 0; i < n; i++) {
  60.         if (st[i].kurs == course && st[i].group == group) {
  61.             cout << st[i].name << '\t' << st[i].surname << '\t' << '\n';
  62.         }
  63.     }
  64. }
  65.  
  66.  
  67.  
  68.  
  69.  
  70. int main(int args, char *argv[]) {
  71.     // я короче не стал заморачиваться с выбором функции, поэтому они идут по порядку, по заданию не сказано, что функци должны вызываться в любом порядке
  72.     cout << "How many student's you want to record?\n";
  73.     int n;
  74.     cin >> n;
  75.     student* st = new student[n]; // для каждого ебучего студента создается ебучая память в структуре
  76.     zapoln(st, n);
  77.     cout << '\n';
  78.     print_st(st, n);
  79.     cout << '\n';
  80.     opr_kurs(st, n);
  81.     cout << '\n';
  82.     opr_group_and_kurs(st, n);
  83.     return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement