C++switch语句怎么应用到此题???急求!!!
编写一个程序,循环从标准输入读入某雇员的工作时间(以小时计)和每小时的工资数,计算并输出他的工资。若雇员月工作小时超过40小时,则超过部分按原工资的1.5倍的加班工资来计...
编写一个程序,循环从标准输入读入某雇员的工作时间(以小时计)和每小时的工资数,计算并输出他的工资。若雇员月工作小时超过40 小时,则超过部分按原工资的1.5
倍的加班工资来计算。若雇员月工作小时超过50 小时,则超过部分按原工资的3
倍的加班工资来计算。
(参考下面测试数据进行测试)
分支控制部分使用switch。。。case实现
测试数据:
输入工作时数及单位时间基本工资:30 4
输出:120
输入工作时数及单位时间基本工资:45
4.5
输出:213.75
输入工作时数及单位时间基本工资 :60 5
输出:425
输入工作时数及单位时间基本工资:0
0
程序结束 展开
倍的加班工资来计算。若雇员月工作小时超过50 小时,则超过部分按原工资的3
倍的加班工资来计算。
(参考下面测试数据进行测试)
分支控制部分使用switch。。。case实现
测试数据:
输入工作时数及单位时间基本工资:30 4
输出:120
输入工作时数及单位时间基本工资:45
4.5
输出:213.75
输入工作时数及单位时间基本工资 :60 5
输出:425
输入工作时数及单位时间基本工资:0
0
程序结束 展开
2个回答
展开全部
switch不能用在范围中,只能是整型数据,所以这个程序用不上switch,下面是一个参考程序,需要退出输入q
#include <iostream>
using namespace std;
int main()
{
int time = 0, salary = 0;
while ( true )
{
cout<<"请输入工作时数、小时工资,结束请输入q:"<<endl;
cin<<time<<salary;
if ( time == 'q' || salary == 'q' ) break;
if ( time <= 40 )
{
cout<<"该人工资为:"<<time * salary<<endl;
continue;
}
if ( time > 40 && time <= 50 )
{
cout<<"该人工资为:"<<40 * salary + (time - 40) * 1.5 * salary<<endl;
continue;
}
if ( time > 50 )
{
cout<<"该人工资为:"
<<40 * salary + 10 * 1.5 * salary + (time - 50)*3*salary
<<endl;
continue;
}
}
return 0;
}
追问
啊?那为什么我们作业要求用SWITCH...CASE实现。。。
追答
int main()
{
int time = 0, salary = 0;
while ( true ){
cout<<"请输入工作时数、小时工资:"<<endl;
cin<<time<<salary;
if ( time == 'q' || salary == 'q' ) break;
switch( time )
{
case 41: case 42: case 43:
case 44: case 45: case 46:
case 47: case 48: case 49:
case 50:
cout<<"该人工资为:"
<<40 * salary + (time - 40) * 1.5 * salary<<endl;
break;
default:
if ( time <= 40 ){
cout<<"该人工资为:"<<time * salary<<endl;
continue;
}
else{
cout<<"该人工资为:"
<<40 * salary + 10 * 1.5 * salary + (time - 50)*3*salary
<<endl;
}
}
} return 0;
}
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
#include <iostream>
using namespace std;
int main()
{
double Hour,PayPer,Pay;
do
{
cout<<"输入工作时数及单位时间基本工资:";
cin>>Hour>>PayPer;
bool f1=(Hour>40);
bool f2=(Hour>50);
switch(f1)
{
case 0:
Pay=Hour*PayPer;
cout<<"输出:"<<Pay<<endl;
break;
case 1:
switch(f2)
{
case 0:
Pay=40*PayPer+(Hour-40)*1.5*PayPer;
cout<<"输出:"<<Pay<<endl;
break;
case 1:
Pay=40*PayPer+10*1.5*PayPer+(Hour-50)*3*PayPer;
cout<<"输出:"<<Pay<<endl;
break;
}
break;
}
}while(Hour!=0&&PayPer!=0);
return 0;
}
符合你的要求,输入0 0程序结束,满意请采纳!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询