Advertisement
ada1711

Untitled

Oct 24th, 2023
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. class UserManager
  6. {
  7. private:
  8. const std::string fileName = "users.txt";
  9.  
  10. public:
  11. void create_account()
  12. {
  13. std::string username, password;
  14.  
  15. std::cout << "Podaj nazwę użytkownika: ";
  16. std::cin >> username;
  17.  
  18. std::cout << "Podaj hasło: ";
  19. std::cin >> password;
  20.  
  21. std::ofstream outFile(fileName, std::ios::app);
  22. if (outFile.is_open())
  23. {
  24. outFile << username << " " << password << std::endl;
  25. std::cout << "Konto zostało utworzone!" << std::endl;
  26. outFile.close();
  27. }
  28. else
  29. {
  30. std::cerr << "Nie można otworzyć pliku." << std::endl;
  31. }
  32. }
  33.  
  34. bool login()
  35. {
  36. std::string username, password;
  37.  
  38. std::cout << "Podaj nazwę użytkownika: ";
  39. std::cin >> username;
  40.  
  41. std::cout << "Podaj hasło: ";
  42. std::cin >> password;
  43.  
  44. std::ifstream inFile(fileName);
  45. if (inFile.is_open())
  46. {
  47. std::string fileUsername, filePassword;
  48. while (inFile >> fileUsername >> filePassword)
  49. {
  50. if (fileUsername == username && filePassword == password)
  51. {
  52. std::cout << "Zalogowano pomyślnie!" << std::endl;
  53. inFile.close();
  54. return true;
  55. }
  56. }
  57.  
  58. std::cout << "Błędna nazwa użytkownika lub hasło!" << std::endl;
  59. inFile.close();
  60. }
  61. else
  62. {
  63. std::cerr << "Nie można otworzyć pliku." << std::endl;
  64. }
  65.  
  66. return false;
  67. }
  68. };
  69.  
  70. int main()
  71. {
  72. UserManager userManager;
  73. int choice;
  74.  
  75. do
  76. {
  77. std::cout << "1. Utwórz konto" << std::endl;
  78. std::cout << "2. Zaloguj się" << std::endl;
  79. std::cout << "3. Wyjdź" << std::endl;
  80. std::cout << "Wybierz opcję: ";
  81. std::cin >> choice;
  82.  
  83. switch (choice)
  84. {
  85. case 1:
  86. userManager.create_account();
  87. break;
  88. case 2:
  89. if (userManager.login())
  90. {
  91. std::cout << "Koniec programu!" << std::endl;
  92. choice = 3;
  93. }
  94. else
  95. {
  96. std::cout << "Spróbuj ponownie!" << std::endl;
  97. }
  98. break;
  99. case 3:
  100. std::cout << "Do widzenia!" << std::endl;
  101. break;
  102. default:
  103. std::cout << "Nieznana opcja!" << std::endl;
  104. break;
  105. }
  106.  
  107. } while (choice != 3);
  108.  
  109. return 0;
  110. }
  111.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement