创建一个简单的计算器,加法有问题

Creating a Simple Calculator, having an issue with the addition

我正在尝试创建一个简单的计算器,但在使用加法时我已经遇到了问题。我创建了一个加法函数,每当我传入两个值时,我都会得到不同的答案。例如,当我添加 4,5 我希望得到 9 但我得到的答案是 0029144C 。我还是个初学者,所以起初我不确定使用 bool 类型作为加法函数是否会影响我的结果,但我将其更改为 float 类型并且仍然得到相同的结果(以防有人问起)。

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;


void SimCalcMenu();
void additionSign();
bool makeSum(float num1, float num2);

int main() {

    float firstNum, SecondNum;
    char operationLetter;



    SimCalcMenu();
    cout << " Please Select an Operation You Would Like to Perform ";
    cin >> operationLetter;

    if (operationLetter == 'a' || operationLetter == 'A')
    {
        additionSign();
        cout << " Enter the First Number : ";
        cin >> firstNum;

        cout << " Enter the Second Number: ";
        cin >> SecondNum;

        makeSum(firstNum, SecondNum);


        cout << " The Sum of " << firstNum << " and " << SecondNum << " is :" << makeSum << endl;




    }

    else
    {
        cout << " Error ";
    }



    return 0;
}

void SimCalcMenu() {

    cout << "------------------------------------------------------------------------------" << endl;
    cout << "        WELCOME TO SIM CALCULATOR          " << endl;
    cout << "------------------------------------------------------------------------------" << endl;
    cout << endl;
    cout << " Please Select an Operation :  " << endl;
    cout << " A.) Addition " << endl;
    cout << " B.) Subtraction " << endl;
    cout << " C.) Multiplication " << endl;
    cout << " D.) Division       " << endl;
    cout << " E.) Roots ( Only Positive Number)" << endl;
    cout << " F.) Power ( Only Positive Number " << endl;
    cout << " G.) Percentage                   " << endl;
    cout << " H.) Display functions execution  " << endl;
    cout << " I.) Quit                         " << endl;
    cout << "------------------------------------------------------------------------------" << endl;

}

void additionSign() {

    cout << "------------------------------------------------------------------------------" << endl;
    cout << "        ADDITION          " << endl;
    cout << "------------------------------------------------------------------------------" << endl;




}




bool makeSum(float num1, float num2) {

    float totSum;

    totSum = num1 + num2;

    return totSum;

}

makeSum() 应该 return 浮点数,因为你是 return 计算两个浮点数的总和。

您没有得到正确的结果,因为您正在打印 makeSum,这是函数的地址。您想要打印 makeSum(firstNum, SecondNum).

的值

这一行

  cout << " The Sum of " << firstNum << " and " << SecondNum << " is :" << makeSum << endl;

IS 'printing' 'makesum',makesum是一个函数所以它打印makesum的地址

你需要

  cout << " The Sum of " << firstNum << " and " << SecondNum << " is :" << makeSum(firstNum, SecondNum) << endl;

现在至少它会打印 makesum 的结果。正如其他人指出的那样,函数是错误的(它 returns 一个 bool)。

应该是

float makeSum(float num1, float num2) {
    float totSum;
    totSum = num1 + num2;
    return totSum;
}