遇到了大问题,希望能够在这里遇见会C++的亲,解决问题,我不会做这个,主要是还是英文
3条回答 默认 最新
- qfl_sdu 2021-07-17 10:56关注
题目1:
代码段A效率更高一些。代码段A中一旦条件符合,就不会再执行后面的条件语句,但是代码段B会执行所有的判断语句。题目2:
switch(score) { case 1: cout << "moderate"; break; case 2: cout << "good"; break; default: { switch(level) { case 'T': cout << "10% discount"; break; case 'C': cout << "15% discount"; break; case 'E': cout << "20% discount"; break; default: cout << "Sorry. No discount"; break; } break; } }
题目3:
a.答案
float CALCULATE_PAYMENT(char set,int num,float price);
b.答案
CALCULATE_PAYMENT(chicken_set,num_set,price_set)
c.答案float s = 0.0; switch(set) { case 'A': case 'B': s = price * 0.7 * num; break; case 'C': case 'D': s = price * 0.65 * num; break; } return s;
d.答案
void CALCULATE_PAYMENT(char* size,char set,int num,float price) { float s = 0.0; switch(set) { case 'A': case 'B': s = price * 0.7 * num; break; case 'C': case 'D': s = price * 0.65 * num; break; } cout << "\n Chicken size:" << size << endl; cout << "\n Chicken Set:" << set << endl; cout << " Number of Set:" << num << endl; cout << " Price: RM " << price << endl; cout << "The total amount is RM" << s ; }
题目4:
int price; if(child_age >=2 && child_age <=4) price = 180; else if(child_age >=5 && child_age <=6) price = 150; else if(child_age < 2) price = 250; else cout << "年龄必须在1-6岁之间";
题目5:
a.答案
没有计算总的收入和激励
b.答案
在cout前面添加如下内容total_income = total_sales * 0.15; if(total_sales >= 20000) total_income += 2000;
SECTION B:
QUESTION 1:a)答案
计算应付钱数的函数:
输入: Senior Citizen 的数量、Adult的数量 Child的数量
输出:应付的钱数判断是否超过限定人数的函数,如果超员,提示剩余票数:
输入:当前需要购票的数量、当前已售票数
输出:1超员,0未超员主函数:
输入:无
输出:无b)答案
#include <iostream> using namespace std; //判断是否超员,如果超员,提示剩余票数 int isOut(int nmb,int current) { if( nmb+current > 50) { cout << "余票不足,当前剩余票数:" << 50 - current << endl; return 1; }else return 0; } //购票并显示支付金额 int payment(int nmbS, int nmbA, int nmbC,int current) { return nmbS * 40 + nmbA * 80 + nmbC* 30; } int main() { int nmbS; //游客每次购买S票(Senior Citizen)的数量 int nmbA; //游客每次购买A票(Adult)的数量 int nmbC; //游客每次购买C票(Child)的数量 int current = 0; //当前游客数量 int totalfees = 0; //总收入 int pay; //需要支付的费用 char ch; while(current < 50) { cout << "请分别输入购买S票、A票、C票的数量:"; cin >> nmbS >> nmbA >> nmbC; if(isOut(nmbS+nmbA+nmbC,current)) continue; pay = payment(nmbS,nmbA,nmbC); cout << "购票成功,总共需要支付RM" << pay << endl; totalfees += pay; cout << "是否继续购票(Y/N)?"; cin >> ch; if(ch == 'N' || ch == 'n') break; } cout << "当天的总收入为RM" << totalfees<<endl; return 0; }
QUESTION 2:
a)答案
文件读取函数:
输入:文件名
输出:教学时长结构体数组、数组中元素的个数主函数:调用文件读取函数获取每个老师的授课时长,计算薪资及纳税
输入:无
输出:打印每个教师的税后薪资和纳税b)答案
#include <iostream> #include <fstream> #include <string> using namespace std; struct StTeachHour { char id[10]; //staff number int nmbLecture; int nmbLabClass; StTeachHour() { memset(id,0,10); } }; //读取文件 void ReadFile(const char* filename,StTeachHour arr[], int &nmbs) { ifstream infile; //输入流 nmbs = 0; infile.open(filename, ios::in); if(!infile.is_open ()) cout << "Open file failure" << endl; while (!infile.eof()) // 若未到文件结束一直循环 { infile >> arr[nmbs].id >> arr[nmbs].nmbLecture >> arr[nmbs].nmbLabClass; if(arr[nmbs].nmbLecture >=0 && arr[nmbs].nmbLabClass >=0) nmbs++; } infile.close(); } int main() { int i = 0; struct StTeachHour arr[100]; int nmbs = 0; int salary = 0; float tax = 0.0; ReadFile("teacherhour.txt",arr,nmbs); //读取文件 for (i=0;i<nmbs;i++) { salary = arr[i].nmbLecture * 200 + arr[i].nmbLabClass * 100; if(salary > 4000 && salary <= 8000) tax = salary * 0.07; else if(salary > 8000) tax = salary * 0.11; cout << arr[i].id << " salary:" << salary - tax << " tax:" << tax <<endl; } return 0; }
附teacherhour.txt文件内容:
KV000015 40 8 KV000078 16 4 KV000149 24 8
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 软件测试决策法疑问求解答
- ¥15 win11 23H2删除推荐的项目,支持注册表等
- ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
- ¥15 qt6.6.3 基于百度云的语音识别 不会改
- ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
- ¥15 神经网络怎么把隐含层变量融合到损失函数中?
- ¥15 lingo18勾选global solver求解使用的算法
- ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
- ¥20 测距传感器数据手册i2c