Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста с написанием программы в С++, буду очень благодарна!

м_к Знаток (419), на голосовании 2 года назад
Дана строка S и текстовый файл. Добавить строку S в конец файла.
Обеспечить процедуру авторизации. Необходимо: создать файл с учетными записями
пользователей; считать данные из файла с учетными записями пользователей: логин, пароль, права
(только чтение, полный доступ, администратор); создать меню. Работа с данными возможна только
после прохождения процедуры авторизации. Добавление нового пользователя осуществляется из
данной программы и возможно только пользователям с правами «администратор».
 описание основных средств языка и подключаемых библиотек;
 математическая формулировка задачи (графическое описание, описание численного метода
решения);
 алгоритм;
 описание ввода/вывода;
 тестирование (привести исходные данные и результаты работы программы);
 вывод (анализ результатов работы программы).
Голосование за лучший ответ
Александр Баранов Мыслитель (7912) 2 года назад
Советую использовать json для хранения информации. Вот очень простая библиотека
https:/ /github.com/nlohmann/json
Остальное всё реализуется через стандартную библиотеку
D P Мудрец (11157) 2 года назад
1. Никакого JSON тут не нужно от слова совсем.
2. Читаем https://www.opennet.ru/man.shtml?topic=passwd&category=5&russian=0 и https://www.opennet.ru/man.shtml?topic=group&category=5&russian=0 - это то, как что-то подобное сделано в промышленных системах.
3. В вашей задаче не описан ряд важных моментов, которые просто обязана иметь такая система:
3.0 Обеспечение уникальности - не может быть двух одинаковых логинов (но два логина могут ссылаться на один UID)
3.1 Обеспечение устойчивости данных при множественном доступе. Нужно добавить какую-либо блокировку, чтобы две копии программы, запущенные одновременно, не превратили ваш файл с паролями в тыкву
3.2 Нужно обеспечить возможность отката изменений хотя бы на одну стадию - опять же на случай восстановления после сбоя.
Вообще устойчивость к сбоям во многом зависит от устройства файловой системы и ОС, под которой все это запущено. Например во многих UNIX-подобных ОС функция rename производит атомарную замену одного файла другим и создатели уверяют, что даже если система навернется посреди этой операции данные ФС будут корректными. Это можно использовать для устойчивого к сбоям изменения файла с учетными данными: мы просто создаем новый файл а потом, если создание прошло успешно, атомарно переименовываем его в существующий. В Windows такой фокус по умолчанию не пройдет, но есть пути обхода через использование WinAPI
Похожие вопросы