• Предмет: Информатика
  • Автор: mrpravv90
  • Вопрос задан 3 месяца назад

Помогите написать код на с++
Кейс: электронная проходная Описание проблемы: При входе в здание школы каждый посторонний человек должен отметиться в журнале учета посещений. При этом входящий должен указать свои ФИО и подтвердить удостоверением личности. Очевидно, что пользоваться бумажным журналом в наше время не практично. Гипотеза решения: Необходим вебпортал, где каждый входящий сможет зарегистрироваться, при этом факт регистрации под своим ФИО должна подтвердить служба охраны (по удостоверению). Для этого необходимо разработать мобильное приложение «Электронная проходная» (только для службы охраны), в котором охранник сможет: 1. Подтвердить факт регистрации нового посетителя (факт подтверждается 1 раз) 2. Подтвердить вход/выход зарегистрированного посетителя (время входа, ФИО посещаемого). При этом при подтверждении входа охранником на электронную почту сотрудника школы приходит уведомление о посещении. Также на данном портале для определенных пользователей необходим доступ на просмотр всего журнала посещений и некоторых отчетов.​


salpsx: ты свой коммерческий проект решил засунуть сюда? есть предложение, я напишу полноценную црм систему, но за чокопайки, а щас накину консольный код
ibroo0309: что это
ibroo0309: ??

Ответы

Ответ дал: salpsx
0

Ответ:

логин и пароли порядковый номер в списке, администратор 2 пароль 2 и тп

Объяснение:

#include <iostream>

#include <ctime>

#include <vector>

#include <algorithm>

class Visitor {

public:

   std::string name, entryTime;

   Visitor(std::string _name) : name(_name) {}

   void confirmEntry() { entryTime = ctime(&time(0)); }

};

class SecuritySystem {

public:

   void notify(const Visitor& v) { std::cout << " Уведомление: " << v.name << " вошел в " << v.entryTime << "\n"; }

   void viewAll(const std::vector<Visitor>& v) { std::cout << "\n Список всех посещений:\n"; for (const auto& visitor : v) std::cout << " " << visitor.name << " вошел в " << visitor.entryTime; }

};

class Admin {

public:

   void add(std::string name, std::vector<Visitor>& v) { v.emplace_back(name); std::cout << " Ученик " << name << " добавлен в систему.\n"; }

};

int main() {

   SecuritySystem security;

   Admin admin;

   std::vector<Visitor> v;

   std::cout << " Добро пожаловать в систему контроля доступа в школу!\n";

   while (true) {

       std::cout << "\n Выберите действие:\n1. ️ Вход охранника\n2. ‍ Вход администратора\n3. Просмотр всех посещений\n4. Выход\n";

       int c; std::cin >> c;

       switch (c) {

           case 1: std::cout << "️ Охранник, введите свой логин и пароль:\n"; std::string login, password; std::cin >> login >> password;

               if (login == "1" && password == "1") { std::cout << " Охранник, введите имя ученика для подтверждения входа:\n"; std::string name; std::cin >> name;

                   auto it = std::find_if(v.begin(), v.end(), [name](const Visitor& x) { return x.name == name; });

                   if (it != v.end()) { it->confirmEntry(); security.notify(*it); std::cout << " Вход подтвержден для " << it->name << " в " << it->entryTime << "\n"; } else std::cout << " Ученик не найден.\n"; }

               else std::cout << " Неверный логин или пароль для охранника.\n"; break;

           case 2: std::cout << "‍ Администратор, введите свой логин и пароль:\n"; std::string login2, password2; std::cin >> login2 >> password2;

               if (login2 == "2" && password2 == "2") { std::cout << "‍ Администратор, введите имя нового ученика:\n"; std::string name2; std::cin >> name2; admin.add(name2, v); }

               else std::cout << " Неверный логин или пароль для администратора.\n"; break;

           case 3: security.viewAll(v); break;

           case 4: std::cout << " Выход из системы. До свидания!\n"; return 0;

           default: std::cout << " Неверный выбор. Пожалуйста, выберите действие из списка.\n";

       }

   }

   return 0;

}

#include <iostream>

#include <ctime>

#include <vector>

#include <algorithm>

class Visitor {

public:

   std::string name, entryTime;

   Visitor(std::string _name) : name(_name) {}

   void confirmEntry() { entryTime = ctime(&time(0)); }

};

class SecuritySystem {

public:

   void notify(const Visitor& v) { std::cout << " Уведомление: " << v.name << " вошел в " << v.entryTime << "\n"; }

   void viewAll(const std::vector<Visitor>& v) { std::cout << "\n Список всех посещений:\n"; for (const auto& visitor : v) std::cout << " " << visitor.name << " вошел в " << visitor.entryTime; }

};

class Admin {

public:

   void add(std::string name, std::vector<Visitor>& v) { v.emplace_back(name); std::cout << " Ученик " << name << " добавлен в систему.\n"; }

};

int main() {

   SecuritySystem security;

   Admin admin;

   std::vector<Visitor> v;

   std::cout << " Добро пожаловать в систему контроля доступа в школу!\n";

   while (true) {

       std::cout << "\n Выберите действие:\n1. ️ Вход охранника\n2. ‍ Вход администратора\n3. Просмотр всех посещений\n4. Выход\n";

       int c; std::cin >> c;

       switch (c) {

           case 1: std::cout << "️ Охранник, введите свой логин и пароль:\n"; std::string login, password; std::cin >> login >> password;

               if (login == "1" && password == "1") { std::cout << " Охранник, введите имя ученика для подтверждения входа:\n"; std::string name; std::cin >> name;

                   auto it = std::find_if(v.begin(), v.end(), [name](const Visitor& x) { return x.name == name; });

                   if (it != v.end()) { it->confirmEntry(); security.notify(*it); std::cout << " Вход подтвержден для " << it->name << " в " << it->entryTime << "\n"; } else std::cout << " Ученик не найден.\n"; }

               else std::cout << " Неверный логин или пароль для охранника.\n"; break;

           case 2: std::cout << "‍ Администратор, введите свой логин и пароль:\n"; std::string login2, password2; std::cin >> login2 >> password2;

               if (login2 == "2" && password2 == "2") { std::cout << "‍ Администратор, введите имя нового ученика:\n"; std::string name2; std::cin >> name2; admin.add(name2, v); }

               else std::cout << " Неверный логин или пароль для администратора.\n"; break;

           case 3: security.viewAll(v); break;

           case 4: std::cout << " Выход из системы. До свидания!\n"; return 0;

           default: std::cout << " Неверный выбор. Пожалуйста, выберите действие из списка.\n";

       }

   }

   return 0;

}

Приложения:

mrpravv90: Оценю как проверю.
mrpravv90: Оценю, если скинешь весь код в тг @MrPrav
mrpravv90: и корону поставлю
Вас заинтересует