gpt4 book ai didi

c++ - 使用 C++ 代码的小型计算器

转载 作者:行者123 更新时间:2023-11-28 02:12:45 24 4
gpt4 key购买 nike

我正在学习 C++,我有一个任务是使用 if、else if 语句创建小型计算器。程序应该像这样工作。首先,您需要选择加法或减法等操作,然后输入第一个参数,然后输入第二个参数,然后得到结果。我写了代码,但它没有正确显示地址。答案显示的结果与我预期的不同。乘法和除法给了我正确的结果,但加法和减法是错误的。请帮忙。

#include<iostream>
using namespace std;
int main()
{
int a = 1, b = 2, c = 3, d = 4;
int first_argument, second_argument;

cout << "Please choose the number: " <<endl<< "1.Multiple"<<endl<<"2.Divide" <<endl<<"3.Substract"<<endl<<"4.Add" << "\n";
cin >> a,b,c,d;
cout << "Please choose the first argument" << "\n";
cin >> first_argument;
cout << "Please choose the second argument" << "\n";
cin>>second_argument;

if (a==1)
cout <<"The answer is "<<first_argument*second_argument<< "\n";
else if (b == 2)
cout << "The answer is " << first_argument / second_argument << "\n";
else if (c == 3)
cout << "The answer is " << first_argument - second_argument << "\n";
else if (d == 4)
cout << "The answer is " << first_argument + second_argument << "\n";



cin.ignore();
cin.get();
return 0;
}

最佳答案

cin >> a,b,c,d;

应该是

cin >> a >> b >> c >> d;

否则你会调用臭名昭著的comma operator , 其中有 lowest precedence , 所以你的表达被翻译成

(cin >> a), b, c, d;

它只是读取 a,然后计算 bcd,以及表达式的最终结果就是d,后面当然用不到了。但无论如何,你不需要 4 个变量来完成这个任务,一个就足够了。然后您需要测试它的值并根据它执行所需的操作。

旁注:当您除以整数时,结果将被截断。如果你不想要这个,那么将其中一个整数转换为 double,比如

first_argument / static_cast<double>(second_argument)

关于c++ - 使用 C++ 代码的小型计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35075760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com