Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <clocale>
- #include <list>
- #include <fstream>
- #include <string>
- #include <Windows.h>
- using namespace std;
- struct User
- {
- char login[255],
- password[255];
- };
- struct admin
- {
- char theatr[255],
- act[255];
- };
- void menu(),login(), registr(), statusCheck(char login[]), workInAdmin(),addOrDelShow() ,
- addОrDelAct(), workWithPoster(), workInKassir(), workInUser();
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- setlocale(LC_ALL, ".1251");
- menu();
- system("pause");
- return 0;
- }
- void menu()
- {
- cout << "Добро пожаловать!" << endl;
- cout << "Войти или зарегистрироваться? (1/2)";
- char temp;
- cin >> temp;
- if (temp == '1')
- {
- login();
- }
- else if (temp == '2')
- {
- registr();
- }
- cout << "Досвидания! " << endl;
- }
- void registr()
- {
- User dataUser;
- ofstream out("users.dat", ios_base::binary | ios_base::app);
- cout << "Введите логин: ";
- cin >> dataUser.login;
- cout << "Введите пароль: ";
- cin >> dataUser.password;
- out.write(reinterpret_cast<char *>(&dataUser), sizeof(User));
- out.close();
- cout << "Спасибо за регистрацию, " << dataUser.login << "!" << endl;
- }
- void login()
- {
- User userIn, readIn;
- cout << "Введите логин: ";
- cin >> userIn.login;
- cout << "Введите пароль: ";
- cin >> userIn.password;
- ifstream in("users.dat", ios_base::binary);
- bool flag = false;
- while (!in.eof())
- {
- in.read(reinterpret_cast<char *>(&readIn), sizeof(User));
- if (strcmp(userIn.login, readIn.login) == 0 && strcmp(userIn.password, readIn.password) == 0)
- {
- flag = true;
- break;
- }
- }
- in.close();
- if (flag)
- {
- cout << "Добро пожаловать в систему, " << userIn.login << "!\n";
- statusCheck(userIn.login);
- }
- else
- cout << "Ошибка входа! Попробуйте еще разок. \n";
- }
- void statusCheck(char login[])
- {
- switch (login[0])
- {
- case 'A':
- workInAdmin();
- break;
- case 'K':
- workInKassir();
- break;
- default:
- workInUser();
- break;
- }
- }
- void workInAdmin()
- {
- int temp;
- cout << "Добро пожаловать, Администратор. Что вы хотите сделать? \n";
- cout << "1.Добавление или удаление списка спектаклей. \n"
- << "2. Добавить или удалить актера. \n"
- << "3. Работа с афишей. \n";
- cin >> temp;
- switch (temp)
- {
- case 1:
- addOrDelShow();
- break;
- case 2:
- addОrDelAct();
- break;
- case 3:
- workWithPoster();
- break;
- default:
- break;
- }
- }
- void addOrDelShow() //добавление и удаление спектаклей из списка
- {
- /*admin show, delShow ;
- char str[255];
- ofstream outShow("ShowData.dat", ios_base::binary | ios_base::app);
- ifstream inShow("ShowData.dat", ios_base::binary);
- cout << "Добавление и удаление спектаклей. \n 1.Добавить. \n 2. Удалить. ";
- int temp;
- if (temp == 1)
- {
- cout << "Введите название спектакля, до(ctrl+z): ";
- while (cin.getline(str, 255))
- {
- outShow.write(reinterpret_cast<char *>(&show), sizeof(admin));
- }
- }
- else if (temp = 2)
- {
- cout << "Удаление спектакля, введите его название: ";
- cin.getline(str, 255);
- inShow.read(reinterpret_cast<char *>(&delShow), sizeof(admin));
- if (strcmp(str, delShow.theatr) == 0)
- {
- }
- }*/
- ofstream outShow("ShowData.dat", ios::binary | ios::trunc);
- ifstream inShow("ShowData.dat", ios::binary);
- inShow.close();
- outShow.close();
- }
- void addОrDelAct()
- {
- }
- void workWithPoster()
- {
- }
- void workInKassir()
- {
- cout << "Добро пожаловать, Кассир.\n";
- cout << "Список актуальных спектаклей: \n";
- }
- void workInUser()
- {
- }
Add Comment
Please, Sign In to add comment