[英]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.