Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.66 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. set <pair <string, long> > all,good;
  5. set <string> bad;
  6. int main()
  7. {
  8.  
  9.     while (true) // Запускаємо цикл для зчитування данних
  10.     {
  11.         string command;
  12.         cin>>command; //Зчитуємо команду, яку треба виконати
  13.         if (command == "exit") break; //Якщо отримали команду на завершення програми, виходимо з циклу
  14.         else if (command == "add") //якщо отримали команду "add" додаємо студента в список
  15.         {
  16.             string name;
  17.             long bal;
  18.             cin>>name>>bal; //Зчитуємо ім'я студента і його оцінку
  19.             all.insert({name,bal}); //Додаємо студента в загальний список
  20.             if (bal == 0) bad.insert(name); //Якшо студент не здав, то додаємо в список тих, хто не здав
  21.             else if (bal >= 4) good.insert({name,bal}); // якшо оцінка 4, або 5, додаємо до тих, хто гарно здав екзамен
  22.         }
  23.         else if (command == "all") //якщо отримали команду "all" виводимо список студентів
  24.         {
  25.             for (auto it:all) cout<<it.first<<" "<<it.second<<endl;
  26.             cout<<endl; //робимо відступ для зручності користувача
  27.         }
  28.         else if (command == "bad") //якщо отримали команду "bad" виводимо список тих, хто не здав
  29.         {
  30.             for (auto it:bad) cout<<it<<endl;
  31.             cout<<endl; //робимо відступ для зручності користувача
  32.         }
  33.         else if (command == "good") //якшо отримали команду "good" виводимо тих, хто отримав гарну оцінку
  34.         {
  35.             for (auto it:good) cout<<it.first<<" "<<it.second<<endl;
  36.             cout<<endl; //робимо відступ для зручності користувача
  37.         }
  38.         else
  39.         {
  40.             getline(cin,command); //Зчитуємо весь рядок, щоб випадково не зчитати зайву команду
  41.             cout<<"Wrong command! Try again!"<<endl; //якщо була помилка в написані команди, виводимо відповідне повідомлення
  42.             cout<<endl; //робимо відступ для зручності користувача
  43.         }
  44.     }
  45.     return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement