gpt4 book ai didi

c++ - C++中的函数和选择问题

转载 作者:行者123 更新时间:2023-11-28 01:09:26 25 4
gpt4 key购买 nike

我修改了这篇文章。我是编程新手,不知道功能设置是否正确,甚至不知道如何选择包。以下是我的目标。

我的类作业是编写一个 C++ 程序来计算客户每月的互联网账单。它将输入客户名称、客户购买的套餐以及使用了多少小时。

要求是:

输入验证:确保用户只选择包 A B 或 C。如果输入错误的包,则显示错误消息。

计算:

PackA 每月 9.95 美元,可使用 10 小时。每增加一小时 2 美元。PackB 每月 14.95 美元,可使用 20 小时。每增加一小时加收 1 美元。PackC 每月 19.95 美元,无限制访问。

然后我必须将输出创建为账单。

到目前为止我写的代码是:

/*
James Hayek
CIS 165
Passaic County Community College
Program 04
*/


#include <iostream>
#include <iomanip>

using namespace std;

double calcBill(double packageChoosen, double hours, double basePack, char name); // This is the function prototype for calcBill
void dispBill(char packageChoosen, double hours, double basePack, char name, char bill); // This is the function prototype for dispBill


int main()
{
char packageChoosen;
double bill;
char name;
double hours;
double basePack;

cout << "Welcome To Your Personal Bill Caclculator!\n\n";
cout << "Please enter your name: \n";
cin >> name;
cout << "Please choose your package by entering A, B, or C: \n";
cin >> packageChoosen;

bill = calcBill(name, packageChoosen, hours, basePack); // call function calcBill
dispBill(name, packageChoosen, hours, basePack, bill); // call function dispBill


return 0;

} // end main




double calcBill(char packageChoosen, double hours, double basePack, char name) //This is the function for calcBill
{

if (packageChoosen == 'A' || packageChoosen == 'a' && hours <= 10)
{
bill = 9.95;
}
else if (packageChoosen == 'A' || packageChoosen == 'a' && hours > 10)
{
bill = 9.95 + (2 * hours);
}

else
{
cout << "Please choose an apropriate package";

}


return bill;

} // end main



void dispBill(double packA, double packB, double packC, char name, char bill) //This is the function for dispBill
{



cout << bill;


return;

} // end dispBill

我真的不确定从哪里开始,任何建议将不胜感激。

最佳答案

&& 运算符比 C++ 中的 || 运算符绑定(bind)得更紧密。而不是

packageChoosen == 'A' || packageChoosen == 'a' && hours > 10

作为 bool 表达式,您很可能想要

(packageChoosen == 'A' || packageChoosen == 'a') && hours > 10

顶部表达式查找“​​套餐 A”或“套餐 a 的小时数 > 10”。底部表达式查找“​​包 A 或包 a”和“小时 > 10”。

正如 Platinum Azure 在他的回答中提到的,也可以将任何字符转换为小写,然后与小写字母进行一次比较。

#include <cctype>
// ...
std::tolower(packageChoosen) == 'a' && hours > 10

这使您的代码更具可读性,而且您不必担心运算符的优先级。

关于c++ - C++中的函数和选择问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4187125/

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