重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

工资c语言函数 计算职工工资c语言

C语言,模拟工资计算器,计算一个销售人员的月工资的数量(月工资=基本工资+提成,提成=商品数*1.5)。

楼主的代码存在两个明显问题:

南岔网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

1、数值类型掌握不好

计算工资时很可能出现小数,而楼主声明变量时完全采用了int型,先不说是否逻辑正确。int型的变量直接与后面代码冲突。

有两个问题:

1.1:

scanf()中楼主在括号内写的是%ld,%ld等待的输入类型是long int,而楼主声明的是

int。

1.2:

iCommission=(iSales*1.5);

iSales为整形,1.5为浮点型,iSales*1.5的结果会隐式转换为浮点型,而iCommission为

整型int。在赋值时会产生错误。

需要补充知识点:参数类型的定义和转换。请查阅任何一本C语言教材。

2、scanf()函数掌握不好

这也是楼主最关心的问题,scanf()中\n、空格和制表符都是是空白符。空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。只有输入一个非空白符的时候才能终止scanf的输入。另外在上一点提出的参数类型也需要格外注意。

需要补充知识点:scanf()函数的使用方法。请查阅相关文档。

再啰嗦几句:puts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。虽然楼主的使用方式也正确,但是最好也查阅一下更标准的使用方法。

下面贴出我修改后的代码:

#include stdio.h

int main()

{

double iSalary,iBasic,iCommission,iSales;

printf("Please enter the basic payment:");

scanf("%lf",iBasic);

printf("Please enter the sales:");

scanf("%lf",iSales);

iCommission=(iSales*1.5);

printf("提成工资为:%lf\n",iCommission);

iSalary=(iBasic+iCommission);

printf("月工资数量:");

printf("%lf",iSalary);

return 0;

}

请楼主注意其中变量类型的变化以及输入输出中%后面的变化。

小提示:编程过程中细节真的很重要啊,还有,以后遇到问题,试着分解成一个个小问题分析,再查找相关的解决办法,学会善用搜索引擎。比如楼主在输入时遇到了问题,就要想是不是scanf出问题了呀,进而去搜索它的正确用法。这才是真正的解决问题。

用C语言编写计算工人工资怎么编写?

用C语言编写计算工人工资怎么编写?

某工厂按工人的工时计算工人工资,规则如下:工资按每小时84元计发。若总工时120小时,超过120小时的部分每小时加发15%;若总工时60小时,则总工资扣发700元。编写程序,从键盘录入某工人的工时,程序能计算并输出该工人的工资。(画出程序流程图)

用C语言编写计算工人工资怎么编写?

某工厂按工人的工时计算工人工资,规则如下:工资按每小时84元计发。若总工时120小时,超过120小时的部分每小时加发15%;若总工时60小时,则总工资扣发700元。编写程序,从键盘录入某工人的工时,程序能计算并输出该工人的工资。(画出程序流程图)

c语言函数名:avgSalary * 功能:计算多个职工的平均工资、最高工资和最低工资 *

判断语句出错 应该拿上一次的high出来对比。你的判断漏洞在于如果k大于i。i小于m的时候不成立


本文名称:工资c语言函数 计算职工工资c语言
本文URL:http://cqcxhl.cn/article/ddicghc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP