画谱 2022-12-20 20:27 采纳率: 100%
浏览 143
已结题

(visual studio2022)C++编写一个程序

已知某餐馆近三年每月的营业额(单位为万)为:
2019年:12.3,11.5,12.4,13.8,17.5,16.4,12.7,13.2,15.7,13.0,16.9,18.4
2020年:18.6,13.4,13.3,16.2,17.0,17.9,17.2,18.1,19.8,19.3,18.2,18.5
2021年:22.3,21.2,22.3,23.5,22.7,23.7,24.9,24.1,25.3,26.4,26.8,27.3
编写一个完整的程序,实现以下功能:
1)定义一个数组,表达所有月份营业额
2)写一个函数,返回一个数组,表达每年的营业总额
3)写一个函数,返回一个数组,表达每年的营业税
​(计算方法:营业总额30万内免税,30万到50万以内1.5%,50万到100万3%,100万到200万5%,200万以上10%)
4)写两个函数,分别计算某年某月的同比和环比比例。
(环比是相邻两个月份增长率,同比是相邻两年同月份增长率)

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-12-20 20:35
    关注

    定义一个月份营业额的数组,长度为12,将三年每个月的营业额相加

    #include <iostream>
    using namespace std;
    float yye[3][12] = {{12.3,11.5,12.4,13.8,17.5,16.4,12.7,13.2,15.7,13.0,16.9,18.4},
                        {18.6,13.4,13.3,16.2,17.0,17.9,17.2,18.1,19.8,19.3,18.2,18.5},
                        {22.3,21.2,22.3,23.5,22.7,23.7,24.9,24.1,25.3,26.4,26.8,27.3}};
    
    void calcMonth(float a[])
    {
        for(int i=0;i<12;i++)
        {
            for(int j=0;j<3;j++)
                a[i] += yye[j][i];
        }
    }
    
    void calcTotal(float a[])
    {
        for(int i=0;i<3;i++)
        {
            for(int j=0;j<12;j++)
                a[i] += yye[i][j];
        }
    }
    
    void calcTotalFax(float a[],float b[])
    {
        for(int i=0;i<3;i++)
        {
            if(a[i] <= 30)
                b[i] = 0;
            else if(a[i] <= 50)
                b[i] = a[i]*0.015;
            else if(a[i] <= 100)
                b[i] = a[i]*0.03;
            else if(a[i] <= 200)
                b[i] = a[i]*0.05;
            else
                b[i] = a[i]*0.1;
        }
    }
    
    int tb(int year,int month,float &t)
    {
        if(year < 2019 || year > 2021)
            return 0;
        if(month < 1 || month > 12)
            return 0;
        if(year == 2019 && month == 1)
            return 0;
        float now,prev;
        now = yye[year-2019][month-1];
        if(month == 1)
            prev = yye[year-2020][11];
        else
            prev = yye[year-2019][month-2];
        t = (now-prev)/prev*100;
        return 1;
    }
    
    int hb(int year,int month,float &t)
    {
        if(year < 2020 || year > 2021)
            return 0;
        if(month < 1 || month > 12)
            return 0;
        float now,prev;
        now = yye[year-2019][month-1];
        prev = yye[year-2020][month-1];
        t = (now-prev)/prev*100;
        return 1;
    }
    
    int main()
    {
        float total[3] = {0};
        float totalFax[3] = {0};
        float y[12] = {0};
        int res;
        calcMonth(y);
        cout<<"每月营业额为:"<<endl;
        for(int i=0;i<12;i++)
            cout<<y[i]<<" ";
        cout<<endl;
        calcTotal(total);
        cout<<"每年营业额为:"<<endl;
        for(int i=0;i<3;i++)
            cout<<total[i]<<" ";
        cout<<endl;
        cout<<"每年营业税为:"<<endl;
        calcTotalFax(total,totalFax);
        for(int i=0;i<3;i++)
            cout<<totalFax[i]<<" ";
        cout<<endl;
        cout<<"请输入同比和环比的年份及月份:";
        int year,month;
        cin>>year>>month;
        float t1,t2;
        res = tb(year,month,t1);
        cout<<"同比增长率为:";
        if(res == 0)
            cout<<"输入错误"<<endl;
        else
            cout<<t1<<"%"<<endl;
        cout<<"环比增长率为:";
        res = hb(year,month,t2);
        if(res == 0)
            cout<<"输入错误"<<endl;
        else
            cout<<t2<<"%"<<endl;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月29日
  • 已采纳回答 12月21日
  • 创建了问题 12月20日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么