如何通过键入字母来终止程序?

时间:2016-05-02 03:44:24

标签: c if-statement while-loop calculator terminate

我正在创建一个允许用户输入数字的程序。然后,它会在输入的第一个数字上连续添加,减去,除以或相乘,并在按下x时退出。

我的代码:

    char o;
    float N1,N2,res;
    printf("Enter a Number Then Hit Enter> ");
    scanf("%f",&N1);
    res = N1;
    printf("\n****Value = %f****\n",res);

    while(1) {
        printf("\nEnter an operation (+,-,*,/) or enter (x) to exit Then Hit Enter> ");
        scanf("%*c%c",&o);

        if(o=='x') {
            break;
        }

        printf("Enter a Number Then Hit Enter> ");
        scanf("%f",&N2);

        switch(o) {
        case '+':
            res=res+N2;
            printf("\n****Value = %f****\n",res);
            break;
        case '-':
            res=res-N2;
            printf("\n****Value = %f****\n",res);
            break;
        case '*':
            res=res*N2;
            printf("\n****Value = %f****\n",res);
            break;
        case '/':
            res=res/N2;
            printf("\n****Value = %f****\n",res);
            break;

        default:
            printf("Illegal Operation Symbol ....Try again > ");
        }
    }
    enter code here
    return 0;
}

我想知道如何退出程序以及是否缺少某些内容?

1 个答案:

答案 0 :(得分:1)

  

如何通过键入字母来终止程序?

恕我直言,您的原始程序应该正确终止。但是,如果您尝试在按键上退出程序 (此选项将帮助您像Visual Studio一样保留输出窗口),您可以执行以下操作:< / p>

替换:

enter code here

while(getchar()!='\n')
   continue; //wasting the buffer
printf("You have pressed the x option\n");
printf("Press any key to exit..")
getchar();