C_教师工资管理系统_第1页
C_教师工资管理系统_第2页
C_教师工资管理系统_第3页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

4、设计出主函数,确定调用函数,成员的函数设计。目标教师数据处理:(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。(2) 教师实发工资、应发工资、合计扣款计算。计算规则如题目。(3) 教师数据管理输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件(4) 教师数据查询:输入教师号或其他信息,即读出所有数据信息,并显示出来。教师综合信息输出输出教师信息到屏幕二、方案设计与论证(1)主函数的设计编写主函数的主要任务就是确定调用函数以及控制屏幕显示。定调用的函数根据要求,该系统至少应该实现五种基本功能:输出工作信息,删除工资信息,修改

5、工资信息,查找工资信息,列出所有信息。实现以上任何一种功能都必须要调用一个函数,根据标识符的定义规则,分别命名为原型voidshow_all;功能展出所有录入文件参数无返回值无工作方式调用charname10;floatsalary;floatallowance;floatlife;floattel;floatutilities;floatrent;floatdue;floathealth;floatfund;2floattotal;floatshould;floatactual;原型voidtea_new功能创建新的信息录入参数无返回值无工作方式创建file原型voidsearchmenu;

6、功能查找菜单参数无返回值无工作方式调用voidsearch_id;voidsearch_name;原型voidsearch_id;功能查找信息按编号查找参数无返回值整个信息工作方式调用number原型voidsearch_name;功能查找信息按姓名查找参数无返回值整个信息工作方式调用charname原型voiddelete_id功能删除数据按编号删除参数无返回值无工作方式调用id原型voidchange_id;功能改变数据按编号改参数无返回值整个录入信息工作方式调用id函数的设计编写函数的目的就是编写一个能实现某种功能的函数供主函数调用函数设计的主要任务是确定调用的成员函数以及屏幕显示。确定

7、调用的成员函数。不同的函数调用的成员函数是不尽相同的,基本上每个函数都有一个对应的成员函。charname10;floatsalary;floatallowance;floatlife;floattel;floatutilities;floatrent;floatdue;floathealth;floatfund;floattotal;floatshould;floatactual;(3)算法实现链表是算法的关键。在添加新的数据时,可以表头插入也可以表尾插入,这两种插入方法决定了其他成员函数数据的处理。本系统中采取的是表尾插入的方法。在删除某信息时需要判断数据是在表头,表中还是表尾,如果删除的

8、是在表中,则需要将删除的前后链表连接起来。统大量运用了链表的5种基本操作:建立链表、链表的插入、删除、输入和查找。三、程序框图或流程图,程序清单与调用关系V四、全部源程序清单#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>/*教师工资管理系统结构体定义*/structteacher(intnumber;charname10;floatsalary;floatallowance;floatlife;floattel;floatutilities;floatr

9、ent;floatdue;floathealth;floatfund;floattotal;floatshould;floatactual;tea500;intnum=0;FILE*fp;voidmainmenu();voidreadfromfile();voidwritetofile();voidshow_all();voidtea_new();voidsearchmenu();voidsearch_id();voidsearch_name();voiddelete_id();voidchange_id();voidmain()readfromfile();while(1)mainmenu(

10、);/主菜单voidmainmenu()charchoic;system("cls");printf("tWELCOMEn");printf("t*教师工资管理系统*nn");printf("t1输入教师信息n");printf("t2修改教师信息n");printf("t3删除教师信息n");printf("t4查询教师信息n");printf("t5保存并退出n");printf("t*n");printf(&q

11、uot;t请选择:n");choic=getch();switch(choic)case'1':tea_new();break;case'2':change_id();break;case'3':delete_id();break;case'4':searchmenu();break;case'5':writetofile();break;default:mainmenu();/从文件导入voidreadfromfile()if(fp=fopen("teacher.bin","

12、;rb")=NULL)printf(-nt教师工资信息文件不存在");if(fp=fopen("teacher.bin","wb")=NULL)printf("nt建立失败");exit(0);elseprintf("nt教师工资信息文件已建立");printf("nt按回车键进入主菜单");getch();return;exit(0);fseek(fp,0,2);if(ftell(fp)>0)rewind(fp);for(num=0;!feof(fp)&&am

13、p;fread(&teanum,sizeof(structteacher),1,fp);num+);printf(-nt教师工资信息文件导入成功");printf("nt文件中无任何记录");printf(-nt按回车键进入主菜单");getch();return;/写入文件voidwritetofile()inti;if(fp=fopen("teacher.bin","wb")=NULL)printf("nt打开文件失败");for(i=0;i<num;i+)(if(fwrite

14、(&teai,sizeof(structteacher),1,fp)!=1)(printf("nt文件写入错误!n");fclose(fp);printf(-nt教师工资信息文件已保存");printf("nt按任意键退出程序nt");exit(0);添加记录voidtea_new()(printf(”请输入教师号:");scanf("%d",&teanum.number);printf(”请输入教师姓名:");scanf("%s",);print

15、f(-请输入教师基本工资:");scanf("%f",&teanum.salary);printf(-请输入教师的津贴:");scanf("%f",&teanum.allowance);printf(-请输入教师的生活补贴:");scanf("%f",&teanum.life);printf(-请输入教师的电话费:");scanf("%f",&teanum.tel);printf(-请输入教师的水电费:");scanf("%

16、f",&teanum.utilities);printf(”请输入教师的房租:");scanf("%f",&teanum.rent);printf("请输入教师的所得税:");scanf("%f",&teanum.due);printf(-请输入教师的卫生费:");scanf("%f",&teanum.health);printf(-请输入教师的公积金:");scanf("%f",&teanum.fund);tean

17、um.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;num+;printf("是否继续添加?(Y/N)");if(getch()='y')tea_new();return;/查询菜单voidsearchmenu()charchoic;system(

18、"cls");printf("nt查询");printf("nt1显示所有");printf("nt2按编号查询");printf("nt3按姓名查询");printf("nt4返回主菜单");printf("nt请选择:n");choic=getch();switch(choic)(case'1':show_all();break;case'2':search_id();break;case'3':sear

19、ch_name();break;case'4':mainmenu();break;/显示所有voidshow_all()(inti;system("cls");if(num!=0)(for(i=0;i<num;i+)(printf("nt编号:%d",teai.number);printf("nt姓名:s",);printf("nt基本工资:.5f",teai.salary);printf("nt津贴:.5f",teai.allowance);printf

20、("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应发工资:.

21、5f",teai.should);printf("nt合计扣款:%.5f",teai.total);printf("nt实发工资:.5f",teai.actual);if(i+1<num)printf("nt");system("pause");printf("nt*");elseprintf("nt文件中无记录");printf("nt按回车键回到主菜单");getch();return;/按编号查询voidsearch_id()intm

22、ark=0;inti,a=0;intid;printf("nt请输入编号:");scanf("%d",&id);for(i=0;i<num;i+)if(id=teai.number)printf("nt*以下是你要查找的教师工资信息*n,printf("nt编号:%d",teai.number);printf("ntprintf("nt姓名:%s",);基本工资:.5f",teai.salary);printf("ntprintf("

23、nt津贴:.5f",teai.allowance);生活补贴:.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

24、);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按回车键返回主菜单");getch();return;/按姓名

25、查询voidsearch_name()(intmark=0;inti,a=0;charname10;printf(-请输入姓名:");scanf("%s",name);for(i=a;i<num;i+)(if(strcmp(,name)=0)(printf("nt*以下是你要查找的教师工资信息*n,printf("nt编号:%d",teai.number);printf("nt姓名:s",);printf("nt基本工资:.5f",teai.salary

26、);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(&q

27、uot;nt公积金:.5f",teai.fund);printf("nt应发工资:.5f',teai.should);printf("nt合计扣款:%.5f",teai.total);printf("nt实发工资:.5f",teai.actual);printf("nt*");mark+;if(i+1)<num)printf("tn是否继续查找相同名字的教师信息:(y/n)");if(getch()='y')a=i;continue;elsereturn;elsep

28、rintf(-nt按回车键返回主菜单");getch();return;if(mark!=0)printf(-nt没有相同姓名的教师信息记录");printf("nt按回车键回到主菜单");getch();return;else(printf(-nt没有相同姓名的教师信息记录");printf("nt按回车键回到主菜单");getch();return;/删除菜单voiddelete_id()(inti,j;intdeletemark=0;intid;printf("nt情输入要删除的编号:");scan

29、f("%d",&id);if(num=0)(printf("nt对不起,文件中无任何教师工资信息记录");printf("nt按回车键回到主菜单");getch();return;for(i=0;i<num;i+)(if(id=teai.number)printf("nt*以下是你要删除的教师工资信息*n,printf("nt编号:d”,teai.number);printf("nt姓名:s”,);printf("nt基本工资:.5f",teai.sal

30、ary);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

31、("nt公积金:.5f",teai.fund);printf("nt应发工资:.5f",teai.should);printf("nt合计扣款:%.5f",teai.total);printf("nt实发工资:.5f",teai.actual);printf("nt是否删除?(y/n)");if(getch()='y')for(j=i;j<num-1;j+)teaj=teaj+1;num-;deletemark+;printf("nt删除成功");pri

32、ntf("nt是否继续删除?(y/n)");if(getch()='y')delete_id();return;elsereturn;continue;if(deletemark=0)(printf("nt没有该教师的记录");printf("nt是否继续删除?(y/n)");if(getch()='y')delete_id();/修改菜单voidchange_id()(inta=0,findmark=0;inti;intid;printf("nt请输入要修改教师的编号:");sca

33、nf("%d",&id);for(i=a;i<num;i+)(if(id=teai.number)(printf("nt*以下是你要删除的教师工资信息findmark+;printf("nt编号:%d",teai.number);printf("nt姓名:s",);printf("nt基本工资:.5f",teai.salary);printf("nt津贴:.5f",teai.allowance);printf("nt生活补贴:.5f"

34、,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);p

35、rintf("nt合计扣款:%.5f",teai.total);printf("nt实发工资:.5f",teai.actual);i=i;break;elsecontinue;printf("nt请重新输入以下彳息:n");printf(”请输入教师号:");scanf("%d",&teanum.number);printf(”请输入教师姓名:");scanf("%s",);printf(-请输入教师基本工资:");scanf(&quo

36、t;%f",&teanum.salary);printf(-请输入教师的津贴:");scanf("%f",&teanum.allowance);printf(-请输入教师的生活补贴:");scanf("%f",&teanum.life);printf(-请输入教师的电话费:");scanf("%f",&teanum.tel);printf(-请输入教师的水电费:");scanf("%f",&teanum.utilities);

37、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.

38、allowance+teanum.life;teanum.total=teanum.tel+teanum.utilities+teanum.rent+teanum.due+teanum.health+teanum.fund;teanum.actual=teanum.should-teanum.total;printf(-nt以下是你修改后的教师工资信息:n");findmark+;printf("nt");printf("nt编号:%d",teai.number);printf("nt姓名:%s",);printf("nt基本工资:.5f",teai.salary);printf("nt津贴:.5f",teai.allowance

温馨提示

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

评论

0/150

提交评论