C++计算器始终返回7208640

C++ Calculator always returns 7208640

本文关键字:返回 7208640 计算器 C++      更新时间:2023-10-16

这是我计算器的代码:

#include <iostream>
using namespace std;
int main()
{
    int fNumber, sNumber, sum;
    string op;
    cout << "You will be asked for two numbers and the operator to use on them.nCurrently supported operators are:n";
    cout << "    Addition: +n    Subtraction: -n    Multiplication: *n    Division: \n    Modulo: %nn";
    cout << "First Number: ";
    cin >> fNumber;
    cout << "nSecond Number: ";
    cin >> sNumber;
    cout << "nOperator: ";
    cin >> op;
    if(op == "+"){
        int sum = fNumber + sNumber;
    } else if(op == "x" || op == "*"){
        int sum = fNumber * sNumber;
    } else if(op == "/"){
        int sum = fNumber / sNumber;
    } else if(op == "-"){
        int sum = fNumber - sNumber;
    } else if(op == "%"){
        int sum = fNumber % sNumber;
    } else{
        cout << "nPlease use a correct Operatorn";
        return 1;
    }
    cout << "n" << fNumber << " " << op << " " << sNumber << " = " << sum << "n";
    return 0;
}

完全不知道为什么,但出于某种原因,无论我给它什么数字或运算符,它都会返回"7208640"作为答案:

系统将要求您提供两个数字以及要使用的运算符。

目前支持的运算符包括:

添加: +

减法:-

乘法:*

划分:\

模数: %

第一个数字:6

第二个数字:2

算子:/

6/2 = 7208640

返回的进程 0 (0x0( 执行时间 : 4.612 s 按任意键 继续。

if(op == "+"){
    int sum = fNumber + sNumber;

应该是

if(op == "+"){
    sum = fNumber + sNumber;

除第一个之外,所有其他int sum也是如此。你声明一个变量一次,而不是每次使用它。

如上所述,从 if 语句中删除 int 声明。

另外,请将 sum 变量的名称更改为类似"answerswer"的名称。减法、乘法、除法和模的结果分别称为差、乘积、商和余数。