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

img
遇到了大问题,希望能够在这里遇见会C++的亲,解决问题,我不会做这个,主要是还是英文

题目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

这么多题,都要写?发个中文版的吧,方便看。

图片太过模糊,看不清楚,复制文字发出来吧。