《C教师工资管理系统 .docx》由会员分享,可在线阅读,更多相关《C教师工资管理系统 .docx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习课程设计报告软件工程学院:天津理工高校华信软件学院专业名称:可编辑资料 - - - 欢迎下载精品名师归纳总结课程设计科目C语言课程设计所在班级:同学学号: 同学姓名: 指导老师: 完成时间:可编辑资料 - - - 欢迎下载精品名师归纳总结对课程设计工作过程的简短介绍和自我评判课程设计成果评定表在工程设计中,我认真的翻阅了C 语言学习教材,并在各大 IT网站( csdn)搜寻源代码。然后就是不断的改正编辑程序中的错误,不断的改正。体会 到了编程的艰辛。看着编辑的程序完善的运行,心中的欢
2、快是不言而喻的。同学签名:2021 年 6 月 11 日可编辑资料 - - - 欢迎下载精品名师归纳总结(以下由评定老师填写)质量评判指标(在相应栏目给分,优秀20-25 分,良好 15-20分,中等 10-15 分,及格 5-10 分,不及格 0-5 分)评 价 质 量可编辑资料 - - - 欢迎下载精品名师归纳总结评 价 项 目工作量和态度( 25分)试验、运算牢靠性(25 分)文字和图表质量(25 分) 总体评判(25 分)评定成果(百分优秀良好中等及格不及格可编辑资料 - - - 欢迎下载精品名师归纳总结制)目录设计任务与目标4方案设计与论证6程序框图或流程图,程序清单与调用关系9全部
3、源程序清单11程序运行结果测试与分析28结论与心得 参考资料311老师工资治理系统一、设计任务与目标任务:老师工资治理系统每个老师的信息为:老师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资 +津贴 +生活补贴。合计扣款 =电话费 +水电费 +房租 +所得税 +卫生费 +公积金。实发工资=应发工资合计扣款。A、老师信息处理(1) 输入老师信息(2) 插入(修改)老师信息:1可编辑资料 - - - 欢迎下载精品名师归纳总结(3) 删除老师信息:(4) 浏览老师信息:提示:具
4、体功能及操作参考题 1。B、老师数据处理:(1) 按老师号录入老师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。(2) 老师实发工资、应发工资、合计扣款运算。提示:运算规章如题目。(3) 老师数据治理提示:输入老师号,读出并显示该老师信息,输入新数据,将改后信息写入文件(4) 老师数据查询:提示:输入老师号或其他信息,即读出全部数据信息,并显示出来。(5) 老师综合信息输出提示:输出老师信息到屏幕。案例论证:1. 完成此设计的目的意义此题目能让我综合的考虑设计一个信息处理系统,要求设计出主函数, 确定调用函数,成员的函数设计。2. 目标老师数据处理:(1)
5、按老师号录入老师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。(2) 老师实发工资、应发工资、合计扣款运算。运算规章如题目。(3) 老师数据治理输入老师号,读出并显示该老师信息,输入新数据,将改后信息写入文件(4) 老师数据查询:输入老师号或其他信息,即读出全部数据信息,并显示出来。可编辑资料 - - - 欢迎下载精品名师归纳总结(5) 老师综合信息输出输出老师信息到屏幕二、方案设计与论证(1)主函数的设计编写主函数的主要任务就是确定调用函数以及把握屏幕显示。 定调用的函数依据要求,该系统至少应当实现五种基本功能:输出工作信息,删除工资信 息,修改工资信息,
6、查找工资信息,列出全部信息。实现以上任何一种功能都必需要调用一个函数,依据标识符的定义规章,分别命名为原型 void show_all。功能 展出全部录入文件参数 无返回值 无工作方式 调用 char name10 。float salary 。 float allowance 。 float life 。 float tel 。float utilities 。float rent 。float due 。 float health 。 float fund 。 2float total 。 float should。 float actual 。原型 voidtea_new功能 创建新的信
7、息录入参数 无返回值 无工作方式 创建 file原型 void searchmenu 。功能 查找菜单参数 无返回值 无工作方式 调用 void search_id。void search_name 。原型 void search_id。可编辑资料 - - - 欢迎下载精品名师归纳总结功能 查找信息 按编号查找参数 无返回值 整个信息工作方式 调用 number原型 void search_name 。功能 查找信息 按姓名查找参数 无返回值 整个信息工作方式 调用 char name原型 void delete_id功能 删除数据 按编号删除参数 无返回值 无工作方式 调用 id原型 voi
8、d change_id。功能 转变数据 按编号改参数 无返回值 整个录入信息工作方式 调用 id(2) 函数的设计编写函数的目的就是编写一个能实现某种功能的函数供主函数调用函数设计的主要任务是确定调用的成员函数以及屏幕显示。 确定调用的成员函数。不同的函数调用的成员函数是不尽相同的,基本上每个函数都有一个对应的成员函。char name10 。float salary。float allowance。float life。可编辑资料 - - - 欢迎下载精品名师归纳总结float telfloat utilities。float rent。float duefloat health。float
9、 fund。 3 float total。float should。float actual。(3) 算法实现链表是算法的关键。在添加新的数据时,可以表头插入也可以表尾插入,这两种插入方法准备了其他成员函数数据的处理。本系统中实行的是表尾插入的方法。在删除某信息时需要判定数据是在表头,表中仍是表 尾,假如删除的是在表中,就需要将删除的前后链表连接起来。统大量运用了链表的 5 种基本操作:建立链表、链表的插入、删除、输入和查找。三、程序框图或流程图,程序清单与调用关系输出界面选择操作选择 1输入数据Break选择 2修改数据break可编辑资料 - - - 欢迎下载精品名师归纳总结选择 3删除数
10、据Break可编辑资料 - - - 欢迎下载精品名师归纳总结选择 4选择 5查询数据保 存 退 出BreakBreak可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结输 出 : 无 效 选Break可编辑资料 - - - 欢迎下载精品名师归纳总结终止可编辑资料 - - - 欢迎下载精品名师归纳总结readfromfileshow_allsearchmenu可编辑资料 - - - 欢迎下载精品名师归纳总结Mainmenusearch_idwritetofilesearch_nametea_newdelete_id可编辑资料 - - - 欢迎下载精品
11、名师归纳总结四、全部源程序清单change_id可编辑资料 - - - 欢迎下载精品名师归纳总结#include #include #include #include/* 老师工资治理系统结构体定义 */struct teacherint 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
12、 num=0。FILE *fp 。void mainmenu。void readfromfile 。void writetofile 。void show_all。void tea_new 。可编辑资料 - - - 欢迎下载精品名师归纳总结void searchmenu。void search_id。void search_name。 void delete_id。void change_id。void mainreadfromfile 。while1mainmenu。/ 主菜单void mainmenuchar choic。systemcls。printft-WELCOME-n。printf
13、t*老师工资治理系统 *nn。printft-1输入老师信息 -n 。printft-2修改老师信息 -n 。printft-3删除老师信息 -n 。printft-4查询老师信息 -n 。printft-5储存并退出 -n 。printft*n。printft 请选择: n 。choic=getch。switchchoic可编辑资料 - - - 欢迎下载精品名师归纳总结case1:tea_new 。 break。case2:change_id 。 break。case3:delete_id 。 break。case4:searchmenu。 break。case5:writetofile。b
14、reak。default:mainmenu。/ 从文件导入void readfromfileiffp=fopenteacher.bin,rb=NULLprintfnt 老师工资信息文件不存在 。iffp=fopenteacher.bin,wb=NULL可编辑资料 - - - 欢迎下载精品名师归纳总结elseprintfnt 建立失败 。exit0 。printfnt 老师工资信息文件已建立 。printfnt 按回车键进入主菜单 。getch。return。可编辑资料 - - - 欢迎下载精品名师归纳总结exit0 。fseekfp,0,2。ifftellfp0可编辑资料 - - - 欢迎下载
15、精品名师归纳总结rewindfp 。fornum=0 。 .feoffp&fread&teanum,sizeofstruct teacher,1,fp。num+。printfnt 老师工资信息文件导入成功 。printfnt 文件中无任何记录 。printfnt 按回车键进入主菜单 。getch。return。/ 写入文件void writetofileint i。iffp=fopenteacher.bin,wb=NULLprintfnt 打开文件失败 。fori=0 。inum 。i+iffwrite&teai,sizeofstruct teacher,1,fp.=1printfnt 文件写
16、入错误 .n 。fclosefp。printfnt 老师工资信息文件已储存 。printfnt 按任意键退出程序 nt。可编辑资料 - - - 欢迎下载精品名师归纳总结exit0。/添加记录void tea_newprintf 请输入老师号: 。scanf%d,&teanum.number。printf 请输入老师姓名 : 。scanf%s,teanum.name。 printf 请输入老师基本工资: 。scanf%f,&teanum.salary 。printf 请输入老师的津贴: 。scanf%f,&teanum.allowance 。printf 请输入老师的生活补贴: 。scanf%f
17、,&teanum.life 。printf 请输入老师的电话费: 。scanf%f,&teanum.tel 。printf 请输入老师的水电费: 。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 +teanu
18、m.allowance +teanum.life。teanum.total=teanum.tel+teanum.utilities可编辑资料 - - - 欢迎下载精品名师归纳总结+teanum.rent+teanum.due+teanum.health+teanum.fund。teanum.actual=teanum.should-teanum.total。num+。printf 是否连续添加 .Y/N 。ifgetch=y tea_new 。return。/ 查询菜单void searchmenuchar choic。systemcls。printfnt- 查询- 。printfnt-1 显
19、示全部 - 。printfnt-2 按编号查询 - 。printfnt-3 按姓名查询 - 。printfnt-4 返回主菜单 - 。printfnt 请选择 :n 。choic=getch。switchchoic可编辑资料 - - - 欢迎下载精品名师归纳总结case1:show_all。break。可编辑资料 - - - 欢迎下载精品名师归纳总结case2:search_id。 break。case3:search_name。 break。可编辑资料 - - - 欢迎下载精品名师归纳总结case4:mainmenu。break。可编辑资料 - - - 欢迎下载精品名师归纳总结/ 显示全部v
20、oid show_all可编辑资料 - - - 欢迎下载精品名师归纳总结int i。systemcls。ifnum.=0fori=0。inum。i+printfnt 编号: %d,teai.number。printfnt 姓名: %s,teai.name。printfnt 基本工资 : %.5f,teai.salary 。printfnt 津贴: %.5f,teai.allowance 。printfnt 生活补贴 : %.5f,teai.life 。printfnt 电话费: %.5f,teai.tel 。printfnt 水电费: %.5f,teai.utilities 。printfnt
21、 房租: %.5f,teai.rent 。printfnt 所得税: %.5f,teai.due。printfnt 卫生费: %.5f,teai.health。printfnt 公积金: %.5f,teai.fund 。printfnt 应发工资 : %.5f,teai.should 。printfnt 合计扣款 : %.5f,teai.total 。printfnt 实发工资 : %.5f,teai.actual 。ifi+1numprintfnt。systempause。printfnt*。else可编辑资料 - - - 欢迎下载精品名师归纳总结printfnt 文件中无记录 。print
22、fnt 按回车键回到主菜单 。getch。return。/ 按编号查询void search_idint mark=0。int i,a=0。int id 。printfnt 请输入编号 :。scanf%d,&id。fori=0。inum。i+ifid=teai.numberprintfnt*以下是你要查找的老师工资信息 *n。printfnt 编号: %d,teai.number。printfnt 姓名: %s,teai.name。printfnt 基本工资 : %.5f,teai.salary 。printfnt 津贴: %.5f,teai.allowance 。printfnt 生活补贴
23、: %.5f,teai.life 。printfnt 电话费: %.5f,teai.tel 。printfnt 水电费: %.5f,teai.utilities 。printfnt 房租: %.5f,teai.rent 。printfnt 所得税: %.5f,teai.due。printfnt 卫生费: %.5f,teai.health。printfnt 公积金: %.5f,teai.fund 。可编辑资料 - - - 欢迎下载精品名师归纳总结printfnt 应发工资 : %.5f,teai.should 。printfnt 合计扣款 : %.5f,teai.total 。printfnt
24、实发工资 : %.5f,teai.actual 。printfnt*。printfnt 按回车键回到主菜单 。mark+。getch。return。ifmark=0printfnt 没有该编号的信息 。printfnt 按回车键返回主菜单 。getch。return。/ 按姓名查询void search_nameint mark=0。int i,a=0。char name10。printf 请输入姓名 : 。scanf%s,name。fori=a。inum。i+ifstrcmpteai.name,name=0可编辑资料 - - - 欢迎下载精品名师归纳总结printfnt*以下是你要查找的老师
25、工资信息 *n。printfnt 编号: %d,teai.number。printfnt 姓名: %s,teai.name。printfnt 基本工资 : %.5f,teai.salary 。printfnt 津贴: %.5f,teai.allowance 。printfnt 生活补贴 : %.5f,teai.life 。printfnt 电话费: %.5f,teai.tel 。printfnt 水电费: %.5f,teai.utilities 。printfnt 房租: %.5f,teai.rent 。printfnt 所得税: %.5f,teai.due。printfnt 卫生费: %.5
26、f,teai.health。printfnt 公积金: %.5f,teai.fund 。printfnt 应发工资 : %.5f,teai.should 。printfnt 合计扣款 : %.5f,teai.total 。printfnt 实发工资 : %.5f,teai.actual 。printfnt*。mark+。ifi+1numprintftn 是否连续查找相同名字的老师信息 :y/n 。ifgetch=y可编辑资料 - - - 欢迎下载精品名师归纳总结elsea=。icontinue。可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结el
27、sereturn。可编辑资料 - - - 欢迎下载精品名师归纳总结printfnt 按回车键返回主菜单 。getch。return。ifmark.=0printfnt 没有相同姓名的老师信息记录 。printfnt 按回车键回到主菜单 。getch。return。elseprintfnt 没有相同姓名的老师信息记录 。printfnt 按回车键回到主菜单 。getch。return。/ 删除菜单void delete_idint i,j 。int deletemark=0。int id 。printfnt 情输入要删除的编号 :。scanf%d,&id 。ifnum=0可编辑资料 - - -
28、欢迎下载精品名师归纳总结printfnt 对不起,文件中无任何老师工资信息记录。printfnt 按回车键回到主菜单 。getch。 return。fori=0。inum 。i+ifid=teai.numberprintfnt*以下是你要删除的老师工资信息 *n。printfnt 编号: %d,teai.number。printfnt 姓名: %s,teai.name。printfnt 基本工资 : %.5f,teai.salary 。printfnt 津贴: %.5f,teai.allowance 。printfnt 生活补贴 : %.5f,teai.life 。printfnt 电话费:
29、%.5f,teai.tel 。printfnt 水电费: %.5f,teai.utilities 。printfnt 房租: %.5f,teai.rent 。printfnt 所得税: %.5f,teai.due。printfnt 卫生费: %.5f,teai.health。printfnt 公积金: %.5f,teai.fund 。printfnt 应发工资 : %.5f,teai.should 。printfnt 合计扣款 : %.5f,teai.total 。printfnt 实发工资 : %.5f,teai.actual 。printfnt 是否删除 .y/n 。ifgetch=yfo
30、rj=i。jnum-1。j+可编辑资料 - - - 欢迎下载精品名师归纳总结teaj=teaj+1 。num-。deletemark+。printfnt 删除成功 。printfnt 是否连续删除 .y/n 。ifgetch=y delete_id。return。可编辑资料 - - - 欢迎下载精品名师归纳总结elsecontinue。return。可编辑资料 - - - 欢迎下载精品名师归纳总结ifdeletemark=0printfnt 没有该老师的记录 。printfnt 是否连续删除 .y/n 。ifgetch=y delete_id。/ 修改菜单void change_idint a
31、=0,findmark=0。int i。int id。printfnt 请输入要修改老师的编号 : 。可编辑资料 - - - 欢迎下载精品名师归纳总结scanf%d,&id。fori=a。inum。i+ifid=teai.numberprintfnt*以下是你要删除的老师工资信息 *n。findmark+。printfnt 编号: %d,teai.number。printfnt 姓名: %s,teai.name。printfnt 基本工资 : %.5f,teai.salary 。printfnt 津贴: %.5f,teai.allowance 。printfnt 生活补贴 : %.5f,tea
32、i.life 。printfnt 电话费: %.5f,teai.tel 。printfnt 水电费: %.5f,teai.utilities 。printfnt 房租: %.5f,teai.rent 。printfnt 所得税: %.5f,teai.due。printfnt 卫生费: %.5f,teai.health。printfnt 公积金: %.5f,teai.fund 。printfnt 应发工资 : %.5f,teai.should 。printfnt 合计扣款 : %.5f,teai.total 。printfnt 实发工资 : %.5f,teai.actual 。i=i。break
33、。elsecontinue。printfnt 请重新输入以下信息 :n。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,&tean
34、um.tel 。printf 请输入老师的水电费: 。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=teanum.tel+teanum.utilities+teanum.rent+teanum.due+teanum.health+teanum.fund。teanum.actual=teanum.should-teanum.total。printfnt 以下是你修改后的老师工资信息 :n。findmark+。printfnt。 printfnt 编号: %d,teai.number。printfnt 姓名: %s,teai.name。可编辑资料 - - - 欢迎下载精品名师归纳总结printfnt 基本工资 : %.5f,teai.salary 。printfnt