Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2017, 18:45   #1
laketych
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 37
По умолчанию Как проверить введенные данные пользователя с данными из файла

Проще говоря, первое как проверить строки всего файла?

Код:
void GetIntoTheSystem(string userlogin, string userpassword) {
	ifstream isUserloginTrue("program.txt", ios_base::in);

	string  line; int verify;
	string	loginAdministrator = "Admin",
		passwordAdministrator = "Admin";

	EnterFild(userlogin, userpassword);

	if (isUserloginTrue.is_open()) {
		while (!isUserloginTrue.eof()) {
			getline(isUserloginTrue, line);

			if (line == userlogin + " " + userpassword) {
				cout << "WELCOME, " << userlogin << endl;
				break;
			}
			else if (userlogin == loginAdministrator && userpassword == passwordAdministrator) {
				cout << "You have been enter as administrator!" << endl;
				cout << " - DISPLAY USERS: " << endl;
				AdminMenu();
				break;
			}
			else {
				for (int verify = 0; verify < 3; verify++) {
					cout << "\nUncorrect login or password.\n\tAttempts to enter left " << 3 - verify << endl;
					EnterFild(userlogin, userpassword);

					if (line == userlogin + " " + userpassword) {
						cout << "WELCOME, " << userlogin << endl;
					}
					else if (userlogin == loginAdministrator && userpassword == passwordAdministrator) {
						cout << "You have been enter as administrator!" << endl;
						cout << " - DISPLAY USERS: " << endl;
						AdminMenu();
						break;
					}
					else {
						if (verify == 2) {
							cout << "\n\nAccess denied!The number of attempts is limited!\n\n\n" << endl;
							exit(EXIT_SUCCESS);
						}
					}
				}
			}
		}
	}
	else {
		cerr << "Error, couldn't be opened the file." << endl;
		exit(EXIT_FAILURE);
	}
}
С этой функцией большие проблемы. Читает только первую строку файла и всё. Если заходить под администратором, если не с первого раза зайти зациклюивает 2-3 раза содержимое файла.
laketych вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как присвоить переменной данные введенные в поле textarea? Юсуп PHP 21 29.08.2012 20:00
не получается вывести данные введенные с клавиатуры Alex_Dep Помощь студентам 0 25.02.2012 17:13
Введенные данные в DBGridEh не сохраняются prorock БД в Delphi 11 21.04.2011 14:35
как проверить введенные даннные в edit на формат ? бедный_студент Помощь студентам 2 17.12.2009 21:05
Проверка на пустые введенные данные rainbow Паскаль, Turbo Pascal, PascalABC.NET 7 24.10.2008 09:42