簡體   English   中英

創建一個簡單的計算器,有一個添加問題

[英]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()應該返回float,因為你返回兩個浮點數的總和。

您沒有得到正確的結果,因為您正在打印makeSum ,這是函數的地址。 您想要打印makeSum(firstNum, SecondNum)

這條線

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

IS'打印''makesum',makeum是一個函數,因此它打印出makeum的地址

你需要

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

現在至少它會打印出makesum的結果。 正如其他人指出函數是錯誤的(它返回一個bool)。

應該

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM