#c #data-structures #linked-list
#c #структуры данных #связанный список
Вопрос:
Проблема в том, что программа работает нормально для первого выбора, но она начинает повторяться без запроса выбора и перехода в функцию AddNode или SearchNode
list *newList = new list;
int choice = 0;
while (choice != 3)
{
printf("What would you like to do?n");
printf("1 - Insert something in the phonebook?n");
printf("2 - Search something from the phonebook?n");
printf("3 - Nothing at alln");
printf("Enter 1 through 5: ");
scanf_s("%d", amp;choice);
switch (choice) {
case 1:
newList->addNode();
break;
case 2:
newList->searchNode();
break;
default:
printf("nThank you for using the phonebookn");
}
choice = 0;
}
Ответ №1:
В конце цикла устанавливается choice
значение 0.
Затем код переходит к проверке значения в верхней части цикла.
Значение в верхней части цикла равно 0, что не равно 3, поэтому цикл продолжается.
Ответ №2:
Если вы все еще хотели бы сохранить ‘choice=0;’ в цикле while, вы могли бы использовать что-то подобное этому:
если(выбор!=3) выбор =0;
Надеюсь, это поможет!