第四十三讲 项目四 计算工资
来源:互联网 发布:java开源框架是什么 编辑:程序博客网 时间:2024/05/20 18:43
任务和代码
/**Copyright (c)2016,CSDN学院 | C语言及程序设计初步*All rights reserved.*文件名称:p43-3.c*作 者:管运煌*完成日期:2016年6月23日*从文件salary.txt中读入工人的工号、基本工资、奖金,将奖金全部增加20%(好事)后,将工号、基本工资、奖金和应发工资(前项目之和)保存到文件salarylist.txt中。*/#include <stdio.h>#include <stdlib.h>int main(){ int i,gh; //gh为工号 float gz,jj,sum,cam; //分别为工资、奖金、应发工资、读入数据的存放变量 FILE *fp1,*fp2; if ((fp1=fopen ("salary.txt","r"))==NULL) { printf ("connot open!"); exit (0); } if ((fp2=fopen ("salarylist.txt","w"))==NULL) { printf ("connot open!"); exit (0); } fprintf (fp2,"工号 基本工资 奖金 应发工资\n"); for (i=1;fscanf (fp1,"%f",&cam)!=EOF;i++) //i为switch计量,每4次一个循环(因为每个工号的信息为4项) { switch (i) { case 1: //i为1时把读取的数据赋值给工号 gh=(int)cam; fprintf (fp2,"%d\t",gh); //写入文件 break; case 2: gz=cam; fprintf (fp2,"%10.2f\t",gz); break; case 3: jj=cam+cam*0.2; fprintf (fp2,"%10.2f\t",jj); break; case 4: //i为4时,基本工资与奖金之和为实发工资 sum=gz+jj; fprintf (fp2,"%10.2f\n",sum); i=0; //已读取完一个工号四项信息,把i赋值为0通过循环重新进入switch语句。 break; } } fclose (fp1); fclose (fp2); return 0;}运行结果
知识总结
读入、输出文件函数使用
心得体会
老师用三行代码解决的问题
(while(fscanf(fpin, "%d %lf %lf", &num, &salary, &award)!=EOF) //当读取成功……
{
award *=1.2;
fprintf(fpout, "%d %.2f %.2f %.2f\n", num, salary, award, salary+award );
} )
我TM用了近二十行代码,彻底蒙逼了十来分钟!
客观原因是对输入输出文件函数不熟悉,总以为fscanf 函数里头的变量只能是一个;主观原因是:自已TM脑洞太小,试都没试一下!
0 0
- 第四十三讲 项目四 计算工资
- 第四十三讲项目四 算工资
- 第四十三讲项目4——算工资
- 第四十三讲 项目 文件操作
- 第四十三讲项目三 成绩统计
- 第四十三讲项目1.1-由键盘到文件
- 第四十三讲项目1.2—由键盘到文件
- 第四十三讲项目1.3—由键盘到文件
- 第四十三讲项目2-文件中的符号个数
- 第四十三讲项目3.1——成绩统计
- 第四十三讲项目一 由键盘到文件
- 第四十三讲项目二 文件中的符号个数
- 第四十讲项目四 换分币
- 第二十三讲项目四 三角公式求值
- 第三十三讲项目四 多数中的最大
- 第四十三讲项目3.2——将统计结果保存到数据文件
- 第四十三讲项目3.3——用柱状图输出考试的平均成绩
- 韩顺平网页设计第四十三讲
- java 绘制数值计算云图
- 常用工具汇总
- 装饰模式(Decorator)
- hive内部表、外部表
- zint编译配置整理
- 第四十三讲 项目四 计算工资
- TCP 的那些事儿(下)
- Apache Shiro 快速入门教程,shiro 基础教程
- Kmeans算法寻找合适K值
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- Windows驱动开发(10) - 驱动程序的同步处理(一)
- linux下分区、格式化、挂载的命令
- 关于视图动画我的Bug(待解决)
- 浅谈cookie机制