C++ 如果(validBeverage==true)被(validBeverage)回复,它会改变代码的逻辑吗?如果是,为什么?
更换线路 如果validBeverage==true 排队 如果有效平均 然后再次运行程序。在执行过程中是否存在任何差异 节目?为什么 我的家里学习C++,我上大学的朋友不断地给我布置作业,有人能给我解释一下这是怎么做的,因为我得到了同样的结果,我只想知道为什么?C++ 如果(validBeverage==true)被(validBeverage)回复,它会改变代码的逻辑吗?如果是,为什么?,c++,C++,更换线路 如果validBeverage==true 排队 如果有效平均 然后再次运行程序。在执行过程中是否存在任何差异 节目?为什么 我的家里学习C++,我上大学的朋友不断地给我布置作业,有人能给我解释一下这是怎么做的,因为我得到了同样的结果,我只想知道为什么? // #include <iostream> // #include <iomanip> // using namespace std; // int main() /
// #include <iostream>
// #include <iomanip>
// using namespace std;
// int main()
// {
// int number; //number of beverages
// float cost; //cost of beverage
// int beverage; //beverage type
// bool validBeverage;
// cout << fixed << showpoint << setprecision(2);
// do
// {
// cout << endl << endl;
// cout << "Hot Beverage Menu" << endl << endl;
// cout << "1: Coffee $1.00" << endl;
// cout << "2: Tea $ .75" << endl;
// cout << "3: Hot Chocolate $1.25" << endl;
// cout << "4: Cappuccino $2.50" << endl << endl << endl;
// cout << "Enter the beverage 1,2,3, or 4 you desire" << endl;
// cout << "Enter 5 to exit the program" << endl << endl;
// cin >> beverage;
// switch (beverage)
// {
// case 1: validBeverage = true;
// break;
// case 2: validBeverage = true;
// break;
// case 3: validBeverage = true;
// break;
// case 4: validBeverage = true;
// break;
// default:validBeverage = false;
// }
// if (validBeverage == true)
// {
// cout << "How many cups would you like?" << endl;
// cin >> number;
// }
// switch (beverage)
// {
// case 1: cost = number * 1.0;
// cout << "The total cost is $ " << cost << endl;
// break;
// case 2: cost = number * .75;
// cout << "The total cost is $ " << cost << endl;
// break;
// case 3: cost = number * 1.25;
// cout << "The total cost is $ " << cost << endl;
// break;
// case 4: cost = number * 2.50;
// cout << "The total cost is $ " << cost << endl;
// break;
// case 5: cout << "Thank you. Please come again." << endl;
// break;
// default:cout << "You entered an invalid selection.\n";
// cout << "Try again please" << endl;
// }
// } while (beverage != 5);
// return 0;
// }
因为每一行都被注释掉了,所以这段代码的含义没有区别。因为validBeverage是一个bool,所以这两行完全相等:
if (validBeverage == true)
if (validBeverage)
选择使用哪一种是个人风格的问题。如果条件为真,则满足条件。0、false和NULL被视为非真值。所有其他值都被认为是正确的 这就是代码的执行方式
if( validBeverage == true)
变成
if( true/false)
==运算符的返回值为true或false。因此validBeverage==true返回true或false
现在检查if子句。
因此,检查分为两个阶段
要更好地理解,请尝试以下方法
int condition = (validBeverage == true)
if(condition) { ... }
在下面的代码中
if(validBeverage)
检查是一个阶段。代码逻辑的唯一变化是:我希望你的朋友不要把你的解决方案当作他自己的解决方案来交。这将是对学术规范、一般道德和友谊的严重违反。请阅读您使用的标签:这不是一个基本程序。谢谢,我不与他分享我的工作,他只是给我他的作业。对基本的标签感到抱歉。他告诉我他正在学习C++基础知识,所以我只是想。无论如何,谢谢你澄清这一点!:我恨你先发现这一点:谢谢普拉纳夫我现在明白了,第一段很容易让人误解。它忽略了类型的概念,并假装表达式NULL不是。剩下的是好的。我试着简化它。他是一个拇指规则,而不是C++标准。在这种情况下,你通过去掉事实和增加神话来简化它: