main.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "clientreader.h"
  2. #include "clientwriter.h"
  3. #include "server.h"
  4. #include <iostream>
  5. #include <string>
  6. int main(int argc, char** argv) {
  7. std::cout << "Hello! This is a Nazvanie Prilozhenia, kotoroe ya ne pridumal" << std::endl;
  8. std::cout << "Please, tell me, would you like to start a server "
  9. << "(type \"server\") or a client (type \"client\"): ";
  10. std::string command;
  11. std::cin >> command;
  12. if (command == "server") {
  13. // Если пользователь ввёл server - то создаём класс сервера и запускаем функцию exec
  14. Server server;
  15. return server.exec();
  16. }
  17. if (command == "client") {
  18. // Если пользователь ввёл client - узнаём, читатель он или писатель
  19. std::cout << "Please, tell me, would you like to be a writer (type \"writer\") or a reader (type \"reader\"): ";
  20. std::string user_type;
  21. std::cin >> user_type;
  22. if (user_type == "writer") {
  23. // Если пользователь ввёл writer - создаём класс клиента-писателя и запускаем его функцию exec
  24. ClientWriter writer;
  25. return writer.exec();
  26. }
  27. if (user_type == "reader") {
  28. // Если пользователь ввёл reader - создаём класс клиента-читателя и запускаем его функцию exec
  29. ClientReader reader;
  30. return reader.exec();
  31. }
  32. // Если то, что было введено - не writer и не reader - пишем сообщение об ошибке и завершаем программу
  33. std::cout << "Incorrect user type, exiting :(" << std::endl;
  34. return -1;
  35. }
  36. // Если то, что было введено - не server и не client - пишем сообщение об ошибке и завершаем программу
  37. std::cout << "Incorrect command, exiting :(" << std::endl;
  38. return -1;
  39. }