switch与while的混合使用

前言:任务难度降低,工作量极大。(可能我不擅长上篇文章中的较复杂的循环条件与数学运算)
正文:
Q:某公司按照经理(固定的周薪)、计时工(前40个工作小时按照固定的每小时工资计算,超过40小时的工作视为加班,按照工资的1.5倍计算,合计发放)、代办工(底薪250元,加上每周销量总额的5%提成)、计件工(每件产品付给固定数目的报酬,每位计件工只生产一种产品,按照其生产的产品及数目计算周薪)四种员工类别来发放工资。请编写一个计算员工工资的程序。程序事先不知道员工的数量,每种员工类型有一个编码:经理编码为1,计时工编码为2,代办工编码为3,计件工编码为4。基于员工类型编码,使用switch语句计算每位员工的周薪。在switch语句中,提示用户(即工资秘书)输入计算员工工资程序所需的数据信息。
源代码:

#include<stdio.h>
int main(){
	int m,n;
	float x,a,b,c,d,e,f;
	printf("请输入员工的职工号(-1表示结束):");
	scanf("%d",&m);
	while(m!=-1){
	    printf("请输入员工的类型(1-4的整数):");
        scanf("%d",&n);
		switch(n){
			case 1:
				printf("请输入经理的周薪:");
				scanf("%f",&a) ;
				printf("职工号为%d的员工的周薪为%.2f\n",m,a);
				break;
			case 2:
			    printf("请输入计时工每小时的工资:");
				scanf("%f",&b) ;
				printf("请输入计时工的周工作时间:");
				scanf("%f",&c) ;
				if(c<=40){
					x=b*c;
				}
				else{
					x=40*b+0.5*(c-40)*b;
				}
				printf("职工号为%d的员工的周薪为%.2f\n",m,x);
				break;
			case 3:
				printf("请输入代办工的周销售总额:");
				scanf("%f",&d);
				x=250+0.05d;
				printf("职工号为%d的员工的周薪为%.2f\n",m,x);
				break;
			case 4:
				printf("请输入计件工的单件产品报酬:");
				scanf("%f",&e);
				printf("请输入计件工的周生产产品总数:");
				scanf("%f",&f);
				x=e*f;
				printf("职工号为%d的员工的周薪为%.2f\n",m,x);
				break;
		} 
		printf("请输入员工的职工号(-1表示结束):");
		scanf("%d",&m);
	}
}
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值