选择和迭代

时间:2014-10-27 13:22:13

标签: c++

我正在尝试编写一个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;
  }

}

2 个答案:

答案 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:)