之后无法让switch()重复

时间:2014-08-01 01:33:33

标签: c loops

正如标题所说。我已经尝试过一切,但我无法让它发挥作用。 任何需要<iostream>的东西,因为我没有能力安装它(我的代码块告诉我它不见了)

我用var,cin,cout,booleans尝试了一些东西,我不能让这个f *******重复一遍。我已经浏览了无数的论坛阅读说明书,我无法得到任何工作。

你可以编辑它,这样如果用户输入任何默认值,那么再次显示用户菜单和输入数字的选项。真的很感激。我自己不能这样做

 #include <stdio.h> 
 #include <stdlib.h>

int main()  //main function
{
    printf("Airport Reservation System\n");
    printf("Menu\n1 - Flights\n2 - Passengers\n3 - "
        "Reservations\nAnything else to   quit\n\n");
    printf("Please enter menu number: ");

    int menu_number;
    scanf("%d", &menu_number);
    switch (menu_number) //creating the navigation menu
    {
        case 1:
            printf("Flights");
            break;
        case 2:
            printf("Passengers");
            break;
        case 3:
            printf("Reservations");
            break;
        default;
            break;
    }
    return 0; // zero returned if program is successful
}

1 个答案:

答案 0 :(得分:1)

我已经在这里修改了代码,这样它就会一直要求你输入一个条目,直到你接受它为止。

int menu_number;
int accepted = 0;

while (!accepted)
{
    if (scanf("%d", &menu_number) != 1)
    {
        puts("Error in input!");
        break; // or "continue;" to keep going
    }

    switch (menu_number)                  //creating the navigation menu
    {
            case 1:
                printf("Flights");
                accepted = 1;
                break;
            case 2:
                printf("Passengers");
                accepted = 1;
                break;
            case 3:
                printf("Reservations");
                accepted = 1;
                break;
            default:
                break;
    }
}