我正在尝试编写一个c ++程序,您可以在其中选择要进行的操作,然后选择数量来计算结果。我想使用getchar
函数,但我无法弄明白。
你怎么做int以使它像变量一样?
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
/*char a_char;
a_char=getchar();
cout<<a_char;*/
int opcode;
int a, b;
int result;
printf("Program for Addition, Subtraction, Multiplication and Division\n");
printf("Enter Your Choice: 1 - Add, 2 - Sub, 3 - Mul, 4 - Div: ");
scanf("%d", &opcode);
printf("Enter First Number:");
scanf("%d", &a);
printf("Enter Second Number:");
scanf("%d", &b);
switch(opcode)
{
case 1:
result = a + b;
printf("%d + %d = %d", a, b, result);
break;
case 2:
result = a - b;
printf("%d - %d = %d", a, b, result);
break;
case 3:
result = a * b;
printf("%d * %d = %d", a, b, result);
break;
case 4:
result = a / b;
printf("%d / %d = %d\n%d %% %d = %d", a, b, result, a, b, a % b);
break;
}
}
答案 0 :(得分:1)
假设您要通过getchar
输入操作代码,它看起来像这样:
opcode = getchar();
然后在你的switch
中用单数引号括住值:
case '1':
....
case '2':
.... and so on
答案 1 :(得分:0)
您可以使用以下代码来实现您的确切需要。
您可以替换以下行
scanf("%d", &opcode);
作为
opcode=getchar();
opcode = opcode-'0';
因为getchar会给你ASCII代码。所以你需要转换为整数值,所以你需要减去&#39; 0&#39;。
这是逻辑:&#39; 0&#39;是48:)