【问题标题】:How to terminate a program by typing a letter? [closed]如何通过键入字母来终止程序? [关闭]
【发布时间】:2016-08-26 18:15:57
【问题描述】:

我正在创建一个允许用户输入数字的程序。然后它对输入的第一个数字进行连续加、减、除或乘,并在按下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;
}

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

【问题讨论】:

  • 我想知道如何退出程序以及是否缺少smth
  • 请详细说明您认为可能缺少的内容。我们如何知道是否缺少某些东西?
  • 如果o == 'x',您提供的代码看起来像是退出程序,至少它跳出循环然后调用return 0enter code here 是否应该在您的代码中?
  • 我希望程序在用户输入时退出 x 我该怎么做?

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


【解决方案1】:

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

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

替补:

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();

【讨论】:

  • 嗯,是的@JonnyHenly:D。已更正并感谢您指出这一点。
  • 我喜欢你代码中的逻辑。感谢您解决这个微小的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-05
  • 2022-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
相关资源
最近更新 更多