已知某餐馆近三年每月的营业额(单位为万)为:
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)写两个函数,分别计算某年某月的同比和环比比例。
(环比是相邻两个月份增长率,同比是相邻两年同月份增长率)

(visual studio2022)C++编写一个程序
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录