main.cpp 2.0 KB

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