Бесконечный цикл. Borland C++ Version 2.0 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В Microsoft Visual Studio данный код прекрасно копмилируется. Менюшка рабоатет.
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; 
    }
}
Данный код нужно откомпилировать в Borland C++ Version 2.0 я добавил в код
 enum {false, true}
Чтобы все обаотало. При компиляции ошибок никаких нету. При запуске получаю зацикленную отрисовку меню. Как седалть что бы и Borland C++ Version 2.0 работало!?
scanf("%d", &choice);
Игнорирует эту строку в borland Закоментил scanf этот. Присвоил choice = 1 при case : 1 вывожу текст "1111111111111111111111111111" В общем он заходит в switch, но все всеравно зацикленно все. постоянно выводит менюшку и текст "1111111111111111111111111111" Народ!! Может кто знает как переписать эту менюшку по другому!! Может это из-за стандарта старого?

Решение задачи: «Бесконечный цикл. 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 и цикл прерывается. Список действий:

  1. Объявление переменных и функций.
  2. Вызов функции menu().
  3. В функции menu() объявление переменной quit и инициализация ее значением false.
  4. Запуск бесконечного цикла while(true).
  5. Внутри цикла запрос на ввод числа от пользователя с помощью scanf().
  6. Оператор switch для обработки введенного числа.
  7. Если пользователь вводит цифру 5, то переменная quit изменяется на true и цикл прерывается.
  8. Если пользователь вводит цифру 1, то выводится сообщение the list has been created successfully....
  9. Если пользователь вводит цифру 2, то выводится сообщение the list is not created....
  10. Если пользователь вводит цифру 3, то выводится сообщение the list is not created....
  11. Если пользователь вводит цифру 4, то выводится сообщение the list is not created....
  12. Если пользователь вводит цифру 5, то переменная quit изменяется на true и цикл прерывается.
  13. Проверка значения переменной quit в конце цикла. Если quit равно true, то цикл прерывается.
  14. Конец функции menu().
  15. Конец функции main().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5