Моя функция «Просмотр сведений о профиле» отображается неправильно. ⇐ C++
-
Гость
Моя функция «Просмотр сведений о профиле» отображается неправильно.
Эта программа представляет собой систему регистрации вакцин. Проблема здесь в том, что в разделе «Просмотр сведений о профиле» должны отображаться введенные пользователем данные после того, как он зарегистрировался для получения вакцины. Я реализовал управление файлами для хранения введенных данных из опции «Зарегистрироваться для вакцинации». В моем «users.txt» информация сохраняется, но когда я перекомпилирую программу, она не отображается. Информация отображается только тогда, когда я регистрируюсь, а затем сразу же выбираю просмотр подробностей. Он не будет отображаться снова, только если я перезапущу программу. Я несколько раз пытался исправить код, но так и не исправил.
Вывод проблемы:
=============================== Посмотреть детали профиля ============================== Пользователь не зарегистрировался для получения вакцины. Пожалуйста, сначала зарегистрируйтесь. Нажмите Enter, чтобы продолжить... Что должно отображаться при перекомпиляции программы:
============================== Посмотреть детали профиля ============================== Полное имя: Ахмад Возраст: 21 Дата рождения : 02021000 Пол: м Номер IC: 20 Адрес: хм Национальность: моя Номер телефона: 123 Нажмите Enter, чтобы продолжить... Вот часть кода для просмотра деталей профиля и обработки файлов
Обработка файлов:
void loadUsersFromFile() { файл ifstream("users.txt"); пользователи.очистить(); // Очистка существующего вектора пользователей перед загрузкой из файла Пользователь Пользователь; в то время как (файл >> имя пользователя.имя пользователя >> пароль пользователя >> возраст пользователя >> пользователь.доб >> пользователь.пол >> user.icNumber >> user.add >> user.nationality >> user.ph >> user.registeredForVaccine) { пользователи.push_back(пользователь); } файл.закрыть(); // Найти и обновить данные профиля текущего пользователя for (Пользователь& u : пользователи) { if (currentUser.username == u.username) { текущийПользователь = ты; // Обновляем весь объект currentUser перерыв; // Прерывание после обновления пользователя } } } и
void saveToFile() const { файл ofstream("users.txt", ios::app); если (file.is_open()) { файл user.registeredForVaccine; файл.закрыть(); вернуть истину; // Пользователь найден в файле } } файл.закрыть(); вернуть ложь; // Пользователь не найден в файле } }; Функция просмотра сведений о профиле:
void viewProfileDetails() { система("CLS"); cout
Эта программа представляет собой систему регистрации вакцин. Проблема здесь в том, что в разделе «Просмотр сведений о профиле» должны отображаться введенные пользователем данные после того, как он зарегистрировался для получения вакцины. Я реализовал управление файлами для хранения введенных данных из опции «Зарегистрироваться для вакцинации». В моем «users.txt» информация сохраняется, но когда я перекомпилирую программу, она не отображается. Информация отображается только тогда, когда я регистрируюсь, а затем сразу же выбираю просмотр подробностей. Он не будет отображаться снова, только если я перезапущу программу. Я несколько раз пытался исправить код, но так и не исправил.
Вывод проблемы:
=============================== Посмотреть детали профиля ============================== Пользователь не зарегистрировался для получения вакцины. Пожалуйста, сначала зарегистрируйтесь. Нажмите Enter, чтобы продолжить... Что должно отображаться при перекомпиляции программы:
============================== Посмотреть детали профиля ============================== Полное имя: Ахмад Возраст: 21 Дата рождения : 02021000 Пол: м Номер IC: 20 Адрес: хм Национальность: моя Номер телефона: 123 Нажмите Enter, чтобы продолжить... Вот часть кода для просмотра деталей профиля и обработки файлов
Обработка файлов:
void loadUsersFromFile() { файл ifstream("users.txt"); пользователи.очистить(); // Очистка существующего вектора пользователей перед загрузкой из файла Пользователь Пользователь; в то время как (файл >> имя пользователя.имя пользователя >> пароль пользователя >> возраст пользователя >> пользователь.доб >> пользователь.пол >> user.icNumber >> user.add >> user.nationality >> user.ph >> user.registeredForVaccine) { пользователи.push_back(пользователь); } файл.закрыть(); // Найти и обновить данные профиля текущего пользователя for (Пользователь& u : пользователи) { if (currentUser.username == u.username) { текущийПользователь = ты; // Обновляем весь объект currentUser перерыв; // Прерывание после обновления пользователя } } } и
void saveToFile() const { файл ofstream("users.txt", ios::app); если (file.is_open()) { файл user.registeredForVaccine; файл.закрыть(); вернуть истину; // Пользователь найден в файле } } файл.закрыть(); вернуть ложь; // Пользователь не найден в файле } }; Функция просмотра сведений о профиле:
void viewProfileDetails() { система("CLS"); cout
Мобильная версия