Бесконечный цикл. Borland C++ Version 2.0 - C (СИ)
Формулировка задачи:
В Microsoft Visual Studio данный код прекрасно копмилируется.
Менюшка рабоатет.
Данный код нужно откомпилировать в Borland C++ Version 2.0
я добавил в кодЧтобы все обаотало.
При компиляции ошибок никаких нету.
При запуске получаю зацикленную отрисовку меню.
Как седалть что бы и Borland C++ Version 2.0 работало!?
Игнорирует эту строку в borland
Закоментил scanf этот.
Присвоил choice = 1
при case : 1
вывожу текст "1111111111111111111111111111"
В общем он заходит в switch, но все всеравно зацикленно все.
постоянно выводит менюшку и текст "1111111111111111111111111111"
Народ!!
Может кто знает как переписать эту менюшку по другому!!
Может это из-за стандарта старого?
void menu(); // прототип функции меню
int main()
{
menu();
return 0;
}void menu()
{
char quit;
quit = false;
while(true)
{
clrscr();
int choice;
printf(" -----MENU-----\n");
printf("(1) vvedite spisok \n");
printf("(2) prosmotr \n");
printf("(3) dobavlenie \n");
printf("(4) ydalenie \n");
printf("(5) exit \n");
scanf("%d", &choice);
switch (choice)
{
case(1):
if (!thelist)
{
createlist(thelist);
printf(" the list has been created succesfully... \n");
getch();
}
else
{
printf(" the list is already created...\n" );
getch();
}
break;
case(2):
if (thelist)
printlist(thelist);
else
{
printf(" the list is not created...\n");
getch();
}
break;
case(3):
if (thelist)
addStudent(*thelist);
else
{
printf(" the list is not created...\n");
getch();
}
break;
case 4:
if (thelist)
delStudent(*thelist);
else
{
printf(" the list is not created... \n");
getch();
}
break;
case(5):
quit = true;
}
if (quit == true)
break;
}
} enum {false, true}
scanf("%d", &choice);
Решение задачи: «Бесконечный цикл. Borland C++ Version 2.0»
textual
Листинг программы
// new.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
void menu();
void main()
{
menu();
}
void menu()
{
char quit;
quit = false;
while(true)
{
int choice;
printf(" -----MENU-----\n");
printf("(1) vvedite spisok \n");
printf("(2) prosmotr \n");
printf("(3) dobavlenie \n");
printf("(4) ydalenie \n");
printf("(5) exit \n");
scanf("%d", &choice);
switch (choice)
{
case(1):
printf(" the list has been created succesfully... \n");
break;
case(2):
printf(" the list is not created...\n");
break;
case(3):
printf(" the list is not created...\n");
break;
case (4):
printf(" the list is not created... \n");
break;
case(5):
quit = true;
}
if (quit == true)
break;
}
};
Объяснение кода листинга программы
Код представляет собой консольное приложение на языке C, использующее Borland C++ Version 2.0. В основной функции программы main(), которая вызывает функцию menu(). Функция menu() содержит бесконечный цикл, который продолжается до тех пор, пока пользователь не введет цифру 5.
Внутри цикла происходит запрос на ввод числа от пользователя с помощью функции scanf(). Введенное число затем проверяется в операторе switch. В зависимости от выбора пользователя выводится соответствующее сообщение.
Если пользователь вводит цифру 5, то переменная quit изменяется на true и цикл прерывается.
Список действий:
- Объявление переменных и функций.
- Вызов функции
menu(). - В функции
menu()объявление переменнойquitи инициализация ее значениемfalse. - Запуск бесконечного цикла
while(true). - Внутри цикла запрос на ввод числа от пользователя с помощью
scanf(). - Оператор
switchдля обработки введенного числа. - Если пользователь вводит цифру 5, то переменная
quitизменяется наtrueи цикл прерывается. - Если пользователь вводит цифру 1, то выводится сообщение
the list has been created successfully.... - Если пользователь вводит цифру 2, то выводится сообщение
the list is not created.... - Если пользователь вводит цифру 3, то выводится сообщение
the list is not created.... - Если пользователь вводит цифру 4, то выводится сообщение
the list is not created.... - Если пользователь вводит цифру 5, то переменная
quitизменяется наtrueи цикл прерывается. - Проверка значения переменной
quitв конце цикла. Еслиquitравноtrue, то цикл прерывается. - Конец функции
menu(). - Конец функции
main().