c语言课程设计报告288891.docx
《c语言课程设计报告288891.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告288891.docx(34页珍藏版)》请在冰豆网上搜索。
c语言课程设计报告288891
重庆科技学院
课程设计报告
院(系):
电气与信息工程学院专业班级:
电自专09级2班
学生姓名:
贾瑞楠学号:
设计地点(单位)___计算机自主学习中心________
设计题目:
________《职工工资管理系统》
完成日期:
2010年12月24日
指导教师评语:
____________________________________________________________________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
指导教师(签字):
________________
重庆科技学院
课程设计任务书
设计题目:
职工工资管理系统
学生姓名
课程名称
C语言程序设计课程设计
专业班级
电气自动化技术2009级
地点
I301
起止时间
2010年12月20日—12月24日
设计内容及要求
在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。
进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图表示算法。
根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。
设计
参数
1、设计一个能够记录公司员工工资的数据结构(比如包括:
员工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发工资等)、文件(文件作为工资数据的保存介质)。
注:
,其中实发工资=基本工资+补贴金额+奖励金额-扣除金额
2、应用文件保存工资管理数据。
3、新增:
能将所有输入的员工工资数据保存到文件中,并可选择继续输入或退出。
4、查找:
输入员工的员工号,并在文件中查找
♦若找到,则显示该员工的工资详情
♦否则提示未找到。
♦无论查找成功否,应还可选择继续查找或退出。
5、删除:
输入员工的员工号,并在文件中查找
♦若找到,提示是否确定删除
♦若选择是,则删除文件中该员工信息
♦若选择否,则取消,
♦否则提示无此员工信息
♦无论查找成功否,应还可选择继续查找或退出。
6、修改:
输入员工的员工号,并在文件中查找
♦若找到,显示该员工的所有信息,并可进行输入。
完成后将现输入的内容覆盖原内容保存到文件中。
♦否则提示无此员工信息
♦无论查找成功否,应还可选择继续查找或退出。
7、统计:
分类汇总并输出所有员工的基本工资、补贴金额、奖励金额、扣除金额、实发工资的总金额和平均金额。
8、退出:
退出程序
进度
要求
12月20日--12月20日明确设计任务,学习相关知识;
12月21日--12月21日查阅相关资料,进行基础练习;
12月22日--12月23日根据题目要求,进行设计和实现;
12月24日--12月24日撰写课程设计报告,进行答辩。
参考资料
[1]何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年
[2]谭浩强张基温.《C语言程序设计教程》.高等教育出版社.2006年
[3]C程序设计经典教程,[美]Deitel,H.M.,[美]Deitel,P.J.著,清华大学出版社,2006
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
教研室主任:
指导教师:
伍建全2010年12月10日
摘要
此报告简要概述了《职工工资管理系统》设计的简单过程,即如何利用c语言的文件操作能力设计开发一个小型的管理信息系统。
同时,简述了设计内容与要求、数据存储结构设计、程序设计、程序运行与测试和总结等内容,又通过部分程序的展示、部分运行结果的展示更加清楚的展示出程序设计与运行的过程。
程序设计过程中通过用结构体数组解决了数据存储问题,通过一个个的函数解决了应用中的一个个实际问题,通过函数的调用使程序简单化,通过信息用文件保存使职工信息永久化等。
本文内容简单、实用性强,有利于初学者对c语言的简单认识和学习稍复杂程序编写的思路。
关键词:
c语言结构体数组函数文件
摘要I
1设计内容与要求1
1.1设计要求1
1.2设计内容1
2数据储存结构设计3
2.1数据类型3
2.2数据储存3
3程序设计5
3.1总体设计思路5
3.2主函数模块的设计6
3.3重要函数的设计8
4程序运行与测试13
4.1程序运行结果13
4.2程序调试16
总结17
参考文献18
致谢19
附录20
1设计内容与要求
设计题目:
《工资管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的职工工资管理系统。
工资管理系统是一个企业不可缺少的一部分,它利用计算机对员工工资进行统一管理,实现工资管理工作的系统化、规范化和自动化,为企业提高工作效率。
1.1设计内容
主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:
工资录入,按人名、基本工资、实发工资、个人所得税进行查询,将职工信息显示出来,排序,插入职工信息,将职工信息用文件保存,读取职工信息。
有一个文本菜单来调用各个功能的函数及一个主菜单来提示用户如何操作。
1.2设计要求
明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。
在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。
1设计一个能够记录公司员工工资的数据结构,每条记录包括:
员工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发工资等。
2应用文件保存工资管理数据。
3新增:
能将所有输入的员工工资数据保存到文件中,并可选择继续输入或退出。
4查找:
输入员工的员工号,并在文件中查找。
若找到,则显示该员工的工资详情;否则提示未找到。
无论查找成功否,应还可选择继续查找或退出。
5删除:
输入员工的员工号,并在文件中查找。
若找到,提示是否确定删除。
若选择是,则删除文件中该员工信息;若选择否,则取消。
若未找到则提示无此员工信息。
无论查找成功否,应还可选择继续查找或退出。
6修改:
输入员工的员工号,并在文件中查找。
若找到,显示该员工的所有信息,并可进行输入。
完成后将现输入的内容覆盖原内容保存到文件中。
否则提示无此员工信息。
无论查找成功否,应还可选择继续查找或退出。
7统计:
分类汇总并输出所有员工的基本工资、补贴金额、奖励金额、扣除金额、实发工资的总金额和平均金额。
如:
基本工资、补贴金额、奖励金额、扣除金额、实发工资
总和1200013001400150013200
平均12001301401501320
人数:
10
8退出:
退出程序
2数据储存结构设计
2.1数据类型
本次程序主要用到了整形、字符型和浮点型数据,用整型来定义简单的变量,用字符型来定义职工的姓名、工号和部门等,用浮点型数据来定义职工的基本工资、个人所得税和实发工资等。
同时,还用到了数组类型和结构体类型,用它来放职工的基本信息,使我们在用的时候更方便、快捷,使程序整体上简单易懂。
用结构体存放数据,具体过程如下:
structworker
{
intnumber;/*职工号*/
charname[20];/*职工姓名*/
intbasicwage;/*基本工资*/
intsubwage;/*补贴金额*/
intrewwage;/*奖励金额*/
intdedwage;/*扣除金额*/
intrealwage;/*实际工资*/
};
2.2数据储存
文件是程序设计中一个重要的概念。
所谓“文件”一般指储存在外部介质上数据的集合。
一批数据是以文件的形式存放在外部介质上的。
操作系统是以文件为单位对数据进行管理。
在程序运行时,常常需要将一些数据输出到磁盘上存放起来,以后需要时再从磁盘中输入到计算机内存。
这就要用到磁盘文件。
磁盘文件可以永久性的保存。
工资管理是一个单位最基本的一项财务管理,此程序通过定义以worker.txt为文件名的文件,将程序中的职工信息存放到文件中,使数据永久性的保存起来,便于工作者的使用。
在程序中主要保存了3次,即输入信息之后的保存、删除职工信息之后的保存和修改职工信息之后的保存,使文件将最直观、最有用的信息保存起来。
那么,单位就实现了利用计算机对员工工资进行统一管理,实现了工资管理工作的系统化、规范化和自动化,为企业提高工作效率。
具体过程如下:
fp=fopen("worker.txt","a");
for(i=1;i<=n;i++)
{
printf("**********************\n");/*从键盘输入职工信息*/
printf("请输入职工信息:
\n");
printf("职工号:
");
scanf("%d",&p->number);
printf("职工姓名:
");
scanf("%s",p->name);
printf("基本工资:
");
scanf("%d",&p->basicwage);
printf("补贴金额:
");
scanf("%d",&p->subwage);
printf("奖励金额:
");
scanf("%d",&p->rewwage);
printf("扣除金额:
");
scanf("%d",&p->dedwage);
fprintf(fp,"%d\n",p->number);/*将职工信息录入文件*/
fprintf(fp,"%s\n",p->name);
fprintf(fp,"%d\n",p->basicwage);
fprintf(fp,"%d\n",p->subwage);
fprintf(fp,"%d\n",p->rewwage);
fprintf(fp,"%d\n",p->dedwage);
p->realwage=p->basicwage+p->subwage+p->rewwage-p->dedwage;
fprintf(fp,"%d\n",p->realwage);
}
fclose(fp);
3程序设计
程序设计过程是一个既简单又繁琐的过程,我们需要对要求有一个整体的感知,梳理好自己的思路,才最有可能即快速又简单的完成任务。
3.1总体设计思路
用结构体数组储存职工信息,用主函数显示菜单,并用swich语句选择、调用函数,之后用一个个分函数完成具体功能,并将职工信息保存到文件中。
3.1.1程序功能
此系统是简单的《职工工资管理系统》,具体的管理和显示对象包括:
职工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发工资等。
具体的功能包括:
1设计一个能够记录公司员工工资的数据结构,每条记录包括:
职工号,职工姓名,基本工资,