教师工资管理系统课程设计报告_第1页
教师工资管理系统课程设计报告_第2页
教师工资管理系统课程设计报告_第3页
教师工资管理系统课程设计报告_第4页
免费预览已结束,剩余13页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东莞理工学院C 语言程序设计课程设计报告题目:专业:教师工资管理系统工业工程 1 班(本)年级:2013级 1 班小组成员:129 李惠敏 113 郭雁华指导教师:彭义春老师时间:2014年 6月 22日6月 26日地点:图书馆、E 机房东莞理工学院计算机学院制2014年 6 月目 录1课程设计目的22课程设计内容23总体设计24详细设计45调试与测试86设计体会15参考文献16附件:程序清单161 课程设计目的1) 通过课程设计, 加深对结构化设计思想的理解, 能对系统功能进行分析, 并设计合理的模块化结构。2) 通过课程设计,学会设计数据结构。其中,包括对函数、结构数组、指针、链表和数据文

2、件等知识的运用。3) 通过课程设计,训练 C 程序调试能力,能运用合理的控制流程编写清晰高效的程序。4) 通过课程设计,培养分析问题、思考问题和动手解决实际问题的能力。2 课程设计内容第 10 题:教师工资管理系统每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资 =基本工资 +津贴 +生活补贴;合计扣款 =电话费 +水电费 +房租 +所得税 +卫生费 +公积金;实发工资 =应发工资 合计扣款。A 、教师信息处理:(1) 输入教师信息(2) 插入(修改)教师信息:

3、(3) 删除教师信息:(4) 浏览教师信息:提示:具体功能及操作参考题1。(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。(2) 教师实发工资、应发工资、合计扣款计算。提示:计算规则如题目。(3) 教师数据管理提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件。(4) 教师数据查询:提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。(5) 教师综合信息输出提示:输出教师信息到屏幕。3. 总体设计( 1) 系统功能模块教师工 资管理系统信息输入信息新增信息修改信息删除信息查找信息分类信息保存图 1系统功能模块

4、图( 2) 模块化设计为实现系统功能,本程序主要分为七个模块。它们分别为:输入教师信息、新增教师信息、修改教师信息、删除教师信息、查找教师信息、分类教师信息和保存信息。这七个函数再通过主函数调用分别得以实现。主函数 main ,首先提供了程序运行时的友好界面,列出了清单,提供用户做出选择,以便决定使用主菜单的哪种功能。然后,通过执行多分支选择语句switch 语句,分别实现其它各个函数的调用功能。其它各个函数的功能分别如下:Void menu() :用于打印出主菜单选项;PAY *input() :用于对教师个人信息中数据的输入;PAY *insert() :用于新增教师个人信息;PAY *r

5、evise() :用于对教师个人信息的修改。PAY *del() :用于对教师个人信息的删除;Void search() :用于对教师个人信息的查找;PAY *open() :用于打开教师个人信息中的所有信息;Void output() :用于对教师个人信息中数据的输出;Void save(PAY *head) :用于对教师个人信息中数据以文件的形式保存起来;( 3) 模块接口设计本程序中,大量地运用了链表,这样就使对教师个人信息的插入、删除和修改变得更为简便些。本程序执行的入口是main 函数,然后在main 函数中首先调用了menu 函数,这就实现了对教师信息中的数据的读入。接下来在do-

6、while 语句中再套用switch 语句实现对各个函数的调用。最后,再从main 函数中结束整个程序的运行。4. 详细设计( 1) 数据结构设计本程序中, 运用了多种数据结构。首先对于教师个人信息中各项详细信息的记录用了结构数组的形式,然后又运用链表动态地分配内存单元,在Input 函数中,把保存在数组中的值再赋值给其中的一个结点,通过指针的后移,把多个数据连成一个链,形成一个链表。在这过程当中, 还运用了数据文件的方式,每一次从终端输入的数据都以数据文件的形式保存到了磁盘。对于主要数据结构的举例如下:结构数组:typedef struct paylong num,tel;char name

7、20,sex10,dw20,add20;float should_pay,jbgz,jt,shbt;float koukuan,rent,gj,sd,tel_fee,sds;float actual_pay;struct pay *next;( 2) 流程图主函数流程图:开始显示一系列功能选项否输入 sel,判断 sel 是否不等于 0?是根据 sel 的值调用各功能模块函数结束图 2.主函数流程图PAY *input() 函数流程图:通过主函数调用是判断链表是否为空?否逐一输入教师个人信息通过 n 来累加输入的教师人数结束图 3.教师信息输入函数流程图PAY *Insert() 函数流程图:

8、通过主函数调用是判断原链表是否为空?否逐一输入教师个人信息新插入结点成为头结点新插入结点成为尾结点结束图 4.教师信息插入函数流程图Void Search() 函数流程图:通过主函数调用是判断链表是否为空?否输入要查询的教师号否判断是否存在所输入的教师个人信息?是显示出所要查询的教师个人信息结束图 5.教师信息查询函数流程图PAY *Del() 函数流程图:通过主函数调用是判断链表是否为空?否输入要删除的教师号否判断是否存在该教师号?是删除该教师个人信息结束图 6.教师信息删除函数流程图PAY *Revise() 函数流程图:通过主函数调用是判断链表是否为空?否输入要修改的教师号否判断要找的教

9、师号是否存在?是修改该教师个人信息?结束图 7.教师信息修改函数流程图5. 调试与测试( 1) 调试过程中的主要问题由于本程序是分模块设计的,所以运行时选择完任务并且执行完任务后,又会继续回到用户选择界面,供用户继续选择任务并执行任务,整个程序以文件形式读写,所以每次都可对输入的数据进行保存。但在调试修改、模块等其它的程序中,总是无法正确退出。所以,总体上来说,在调试过程中还是有比较大的困难。( 2) 测试结果的分析与讨论 登录主界面: 若账号输入正确:若账号输入不正确:创建工资信息: 输入完成后按7 存盘:新增工资信息:修改工资信息:删除工资信息: 删除后存盘: 再查找删除后的信息:查找工资

10、信息:分类信息列表:保存信息:退出程序:6. 设计体会通过为期五天的课程设计,我们对C 语言程序设计这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。同时,也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。运用 C 语言中的算法思想作数据结构,结合 C 语言基本知识, 编写一个教师工资管理系统。通过完成本课题,进一步熟悉C 语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C 语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。另外,在调试每

11、一个模块中,有些模块是很棘手的。但,我们经过不断地修改和调试,最终,我们还是克服了这些困难,顿时就觉得很开心,而且还有点小小的成就感。原来,我们无论面对什么困难,只要不放弃,并且执著当初的目标,那么,我们总会成功的。当然,对于这次的二人合作,我们觉得还不错。分工比较明显,而且,我们也会时时刻刻地交流各自的想法。虽然,我们两个在C 语言方面不是最厉害的,但,我们至少很努力和很认真地完成课程设计。所以,无论结果如何,我们都问心无愧了。参考文献3-5 篇,格式如下:1何钦铭,颜晖 . C 语言程序设计 ( 第 2 版 )M.北京 :高等教育出版社 . 2012年 3月.2肖捷,陈雪芳 . C/C 语

12、言程序设计实训教程与水平考试指导(第1 版) M.北京 :高等教育出版社 . 2012年 3月.3颜晖,柳俊 .C 语言程序设计实验与习题指导( 第 2版 )M.北京 : 高等教育出版社.2012 年 3月.附件:程序清单说明:将代码贴在下表中,文字大小小五,英文采用段后 0 行,代码必须有足够的注释。Time New Roman ,行间距1 倍,段前Calculator()/* 简单计算器*/int a4,b4,c4,i,j,k;char ch4;/* 定义FILE *fp1,*fp2;fp1=fopen("expres.txt","r");/* 定义

13、 ab 两个数组存放数c 存放运算符 */* 打开 expres 文件 */*/if(fp1=NULL)/* 判断打开成功*/printf("Can not open file expresn");exit(1);for(i=0;i<=3;i+)fscanf(fp1,"%d%c%d",&ai,&chi,&bi);/* 循环读入四道题*/for(j=0;j<=3;j+)switch(chj)/* 判断运算符 */ case '+':cj=aj+bj; break; case '-':cj=aj-bj; break;case '*':cj=aj*bj; break;case '/':cj=aj/bj; break;fp2=fopen("result.txt","w"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论