weixin_51368385 2021-07-17 00:31 采纳率: 100%
浏览 339
已采纳

七月十八日之前完成,会C++的亲们帮个忙

img
遇到了大问题,希望能够在这里遇见会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
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 7月19日
  • 创建了问题 7月17日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题