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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2022, 09:22   #1
Elena]
Новичок
Джуниор
 
Регистрация: 08.06.2022
Сообщений: 2
По умолчанию Возникла проблема с кодом

Добрый день, у меня было задание написать программу учёта абонентов сотовой связи, но возникла небольшая проблема. Когда проводится авторизация просит ввести пароль и логин, но после ввода пишет неверное имя или пароль. Я уже много раз пыталась, но не могу найти ошибку. Помогите пожалуйста. (Програма создана на языке С++)
Вложения
Тип файла: txt Код.txt (30.1 Кб, 2 просмотров)
Elena] вне форума Ответить с цитированием
Старый 08.06.2022, 12:24   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
if (type == 2)
вместо
Код:
if (type != 0 && type != 1)
на 148 строке
Вы ясно инициализируете переменную флаг, а проверяете значения отличные от явной константы. Если из файла будет считана константа отличная от 0, 1 или 2?
Если и это не поможет, то просто добавьте перед условием распечатку в консоль значений считанных из файла в цикле при проверке пользователей.
macomics вне форума Ответить с цитированием
Старый 08.06.2022, 14:39   #3
Elena]
Новичок
Джуниор
 
Регистрация: 08.06.2022
Сообщений: 2
По умолчанию

Поменяв часть кода, ничего не изменилось, также выбивает ошибку. А насчёт вашего второго предложения, не могли бы вы подсказать как это сделать?
Elena] вне форума Ответить с цитированием
Старый 08.06.2022, 16:49   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
// 135 строка
	for (int i = 0; i < number_of_users; i++)

	{
		cout << arr_of_users[i].name << "| role = " << arr_of_users[i].role; // т.к. надо контролировать значения type и отличать записи в файле, то достаточно вывести два этих поля.
		if (login == arr_of_users[i].name && pass == arr_of_users[i].pass)

		{
			type = arr_of_users[i].role;

			// cout << endl << arr_of_users[i].name << " добро пожаловать в систему"<< endl;
			cout << "login ok" << endl;
			break;

		}
	}
	cout << "Type = " << type << endl;
Такие проблемы обычно решаются элементарно в отладчике при проходе этой части программы по шагам с контролем значений переменных.

Последний раз редактировалось macomics; 08.06.2022 в 17:03.
macomics вне форума Ответить с цитированием
Старый 08.06.2022, 22:08   #5
maks1331
Форумчанин
 
Аватар для maks1331
 
Регистрация: 20.12.2016
Сообщений: 270
По умолчанию

Печатать данные в консоль это must have в отладке кода, в больших проектах для этого даже отдельную систему ведения журнала работы программы используют.
формошлеп.рф
witech.su
maks1331 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возникла проблема с кодом для Delphi Студент_Минск Общие вопросы Delphi 4 08.03.2013 03:23
Возникла проблема Александр8912 HTML и CSS 2 23.11.2012 21:07
Возникла проблема... ycropp HTML и CSS 4 16.11.2011 18:43
Возникла проблема! Файзулка Помощь студентам 1 22.11.2009 21:42