ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:95.59KB ,
资源ID:9102623      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9102623.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C 教师工资管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C 教师工资管理系统.docx

1、C 教师工资管理系统封面作者:PanHongliang仅供个人学习 课程设计报告学院:天津理工大学华信软件学院专业名称:软件工程课程设计科目C语言课程设计所在班级:学生学号:学生姓名:指导教师:完成时间:课程设计成绩评定表对课程设计工作过程的简短介绍和自我评价 在工程设计中,我认真地翻阅了C语言学习教材,并在各大IT网站(csdn)搜寻源代码。然后就是不断的改正编辑程序中的错误,不断的改正。体会到了编程的艰辛。 看着编辑的程序完美的运行,心中的喜悦是不言而喻的。 学生签名:2012年 6月11日(以下由评定教师填写)质量评价指标(在相应栏目给分,优秀20-25分,良好15-20分,中等10-1

2、5分,及格5-10分,不及格0-5分)评 价 项 目评 价 质 量优秀良好中等及格不及格工作量和态度(25分)实验、计算可靠性(25分)文字和图表质量(25分)总体评价(25分)评定成绩(百分制)目录设计任务与目标 4方案设计与论证 6程序框图或流程图,程序清单与调用关系 9全部源程序清单 11程序运行结果测试与分析28结论与心得 参考资料31教师工资管理系统一、设计任务与目标任务:教师工资管理系统每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴

3、+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资合计扣款。A、教师信息处理(1)输入教师信息 (2) 插入(修改)教师信息:(3) 删除教师信息:(4) 浏览教师信息:提示:具体功能及操作参考题1。B、教师数据处理:(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。(2) 教师实发工资、应发工资、合计扣款计算。提示:计算规则如题目。(3) 教师数据管理提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件(4) 教师数据查询:提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。

4、(5) 教师综合信息输出提示:输出教师信息到屏幕。案例论证:1. 完成此设计的目的意义此题目能让我综合的考虑设计一个信息处理系统,要求设计出主函数,确定调用函数,成员的函数设计。2.目标教师数据处理:(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。(2) 教师实发工资、应发工资、合计扣款计算。 计算规则如题目。(3) 教师数据管理输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件(4) 教师数据查询:输入教师号或其他信息,即读出所有数据信息,并显示出来。(5) 教师综合信息输出输出教师信息到屏幕二、方案设计与论证(1)主函

5、数的设计编写主函数的主要任务就是确定调用函数以及控制屏幕显示。1 定调用的函数根据要求,该系统至少应该实现五种基本功能:输出工作信息,删除工资信息,修改工资信息,查找工资信息,列出所有信息。实现以上任何一种功能都必须要调用一个函数,根据标识符的定义规则,分别命名为原型void show_all。功能 展出所有录入文件参数 无 返回值 无工作方式 调用 char name10。 float salary。float allowance。 float life。 float tel。float utilities。float rent。float due。 float health。 float

6、fund。 float total。 float should。 float actual。原型voidtea_new功能 创建新的信息录入参数 无返回值 无工作方式 创建file原型void searchmenu。功能 查找菜单参数 无返回值 无工作方式 调用void search_id。void search_name。原型void search_id。功能 查找信息 按编号查找参数 无返回值 整个信息工作方式 调用 number原型void search_name。功能 查找信息 按姓名查找参数 无返回值 整个信息工作方式 调用char name原型void delete_id功能 删除

7、数据 按编号删除参数 无返回值 无工作方式 调用 id 原型 void change_id。功能 改变数据 按编号改参数 无返回值 整个录入信息工作方式 调用 id(2)函数的设计编写函数的目的就是编写一个能实现某种功能的函数供主函数调用函数设计的主要任务是确定调用的成员函数以及屏幕显示。1 确定调用的成员函数。不同的函数调用的成员函数是不尽相同的,基本上每个函数都有一个对应的成员函。char name10。 float salary。 float allowance。 float life。 float tel。 float utilities。 float rent。 float due。

8、 float health。 float fund。 float total。 float should。 float actual。 (3)算法实现链表是算法的关键。在添加新的数据时,可以表头插入也可以表尾插入,这两种插入方法决定了其他成员函数数据的处理。本系统中采取的是表尾插入的方法。在删除某信息时需要判断数据是在表头,表中还是表尾,如果删除的是在表中,则需要将删除的前后链表连接起来。统大量运用了链表的5种基本操作:建立链表、链表的插入、删除、输入和查找。三、程序框图或流程图,程序清单与调用关系四、全部源程序清单#include#include#include #include/*教师工资

9、管理系统结构体定义*/struct teacher int number。 char name10。 float salary。 float allowance。 float life。 float tel。 float utilities。 float rent。 float due。 float health。 float fund。 float total。 float should。 float actual。 tea500。int num=0。 FILE *fp。 void mainmenu()。 void readfromfile()。 void writetofile()。 vo

10、id show_all()。 void tea_new ()。 void searchmenu()。 void search_id()。 void search_name()。 void delete_id()。 void change_id()。 void main() readfromfile()。 while(1) mainmenu()。 /主菜单void mainmenu() char choic。 system(cls)。printf(t-WELCOME-n)。printf(t*教师工资管理系统*nn)。printf(t-1输入教师信息-n)。printf(t-2修改教师信息-n)。

11、printf(t-3删除教师信息-n)。printf(t-4查询教师信息-n)。printf(t-5保存并退出-n)。printf(t*n)。printf(t请选择: n)。 choic=getch()。 switch(choic) case1:tea_new ()。break。 case2:change_id ()。break。 case3:delete_id ()。break。 case4:searchmenu()。break。 case5:writetofile()。break。 default:mainmenu()。 /从文件导入void readfromfile() if(fp=fo

12、pen(teacher.bin,rb)=NULL) printf(nt教师工资信息文件不存在)。 if(fp=fopen(teacher.bin,wb)=NULL) printf(nt建立失败)。 exit(0)。 else printf(nt教师工资信息文件已建立)。 printf(nt按回车键进入主菜单)。 getch()。 return。 exit(0)。 fseek(fp,0,2)。 if(ftell(fp)0) rewind(fp)。 for(num=0。!feof(fp) & fread(&teanum,sizeof(struct teacher),1,fp)。num+)。 pri

13、ntf(nt教师工资信息文件导入成功)。 printf(nt文件中无任何记录)。 printf(nt按回车键进入主菜单)。 getch()。 return。 /写入文件void writetofile() int i。 if(fp=fopen(teacher.bin,wb)=NULL) printf(nt打开文件失败)。 for(i=0。inum。i+) if(fwrite(&teai,sizeof(struct teacher),1,fp)!=1) printf(nt文件写入错误!n)。 fclose(fp)。 printf(nt教师工资信息文件已保存)。 printf(nt按任意键退出程序

14、nt)。 exit(0)。/添加记录void tea_new() printf(请输入教师号:)。 scanf(%d,&teanum.number)。 printf(请输入教师姓名:)。 scanf(%s,teanum.name)。 printf(请输入教师基本工资:)。 scanf(%f,&teanum.salary)。 printf(请输入教师的津贴:)。 scanf(%f,&teanum.allowance)。 printf(请输入教师的生活补贴:)。 scanf(%f,&teanum.life)。 printf(请输入教师的电话费:)。 scanf(%f,&teanum.tel)。 p

15、rintf(请输入教师的水电费:)。 scanf(%f,&teanum.utilities)。 printf(请输入教师的房租:)。 scanf(%f,&teanum.rent)。 printf(请输入教师的所得税:)。 scanf(%f,&teanum.due)。 printf(请输入教师的卫生费:)。 scanf(%f,&teanum.health)。 printf(请输入教师的公积金:)。 scanf(%f,&teanum.fund)。 teanum.should =teanum.salary +teanum.allowance +teanum.life。 teanum.total=te

16、anum.tel+teanum.utilities +teanum.rent+teanum.due+teanum.health+teanum.fund。 teanum.actual=teanum.should-teanum.total。 num+。 printf(是否继续添加?(Y/N)。 if(getch()=y) tea_new ()。 return。/查询菜单void searchmenu() char choic。 system(cls)。 printf(nt-查询-)。 printf(nt-1显示所有-)。 printf(nt-2按编号查询-)。 printf(nt-3按姓名查询-)

17、。 printf(nt-4返回主菜单-)。 printf(nt请选择:n)。 choic=getch()。 switch(choic) case1:show_all()。break。 case2:search_id()。break。 case3:search_name()。break。 case4:mainmenu()。break。 /显示所有void show_all() int i。 system(cls)。 if(num!=0) for(i=0。inum。i+) printf(nt编号: %d,teai.number)。 printf(nt姓名: %s,teai.name)。 print

18、f(nt基本工资: %.5f,teai.salary)。 printf(nt津贴: %.5f,teai.allowance)。 printf(nt生活补贴: %.5f,teai.life)。 printf(nt电话费: %.5f,teai.tel)。 printf(nt水电费: %.5f,teai.utilities)。 printf(nt房租: %.5f,teai.rent)。 printf(nt所得税: %.5f,teai.due)。 printf(nt卫生费: %.5f,teai.health)。 printf(nt公积金: %.5f,teai.fund)。 printf(nt应发工资:

19、 %.5f,teai.should)。 printf(nt合计扣款: %.5f,teai.total)。 printf(nt实发工资: %.5f,teai.actual)。 if(i+1num) printf(nt_)。 system(pause)。 printf(nt*)。 else printf(nt文件中无记录)。 printf(nt按回车键回到主菜单)。 getch()。 return。/按编号查询void search_id() int mark=0。 int i,a=0。 int id。 printf(nt请输入编号:)。 scanf(%d,&id)。 for(i=0。inum。i

20、+) if(id=teai.number) printf(nt*以下是你要查找的教师工资信息*n)。 printf(nt编号: %d,teai.number)。 printf(nt姓名: %s,teai.name)。 printf(nt基本工资: %.5f,teai.salary)。 printf(nt津贴: %.5f,teai.allowance)。 printf(nt生活补贴: %.5f,teai.life)。 printf(nt电话费: %.5f,teai.tel)。 printf(nt水电费: %.5f,teai.utilities)。 printf(nt房租: %.5f,teai.r

21、ent)。 printf(nt所得税: %.5f,teai.due)。 printf(nt卫生费: %.5f,teai.health)。 printf(nt公积金: %.5f,teai.fund)。 printf(nt应发工资: %.5f,teai.should)。 printf(nt合计扣款: %.5f,teai.total)。 printf(nt实发工资: %.5f,teai.actual)。 printf(nt*)。 printf(nt按回车键回到主菜单)。 mark+。 getch()。 return。 if(mark=0) printf(nt没有该编号的信息)。 printf(nt按

22、回车键返回主菜单)。 getch()。 return。 /按姓名查询void search_name() int mark=0。 int i,a=0。 char name10。 printf(请输入姓名:)。 scanf(%s,name)。 for(i=a。inum。i+) if(strcmp(teai.name,name)=0) printf(nt*以下是你要查找的教师工资信息*n)。 printf(nt编号: %d,teai.number)。 printf(nt姓名: %s,teai.name)。 printf(nt基本工资: %.5f,teai.salary)。 printf(nt津贴:

23、 %.5f,teai.allowance)。 printf(nt生活补贴: %.5f,teai.life)。 printf(nt电话费: %.5f,teai.tel)。 printf(nt水电费: %.5f,teai.utilities)。 printf(nt房租: %.5f,teai.rent)。 printf(nt所得税: %.5f,teai.due)。 printf(nt卫生费: %.5f,teai.health)。 printf(nt公积金: %.5f,teai.fund)。 printf(nt应发工资: %.5f,teai.should)。 printf(nt合计扣款: %.5f,t

24、eai.total)。 printf(nt实发工资: %.5f,teai.actual)。 printf(nt*)。 mark+。 if(i+1)num) printf(tn是否继续查找相同名字的教师信息:(y/n)。 if(getch()=y) a=i。continue。 else return。 else printf(nt按回车键返回主菜单)。 getch()。 return。 if(mark!=0) printf(nt没有相同姓名的教师信息记录)。 printf(nt按回车键回到主菜单)。 getch()。 return。 else printf(nt没有相同姓名的教师信息记录)。 printf(nt按回车键回到主菜单)。 getch()。 return。 /删除菜单void delete_id() int i,j。 int deletemark=0。 int id。 printf(nt情输入要删除的编号:)。 scanf(%d,&id)。 if(num=0) printf(nt对不起,文件中无任何教师工资信息记录)。 printf(nt按回车键回到主菜单)。 getch()。 return。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1