教师工资管理系统课程设计报告_第1页
教师工资管理系统课程设计报告_第2页
教师工资管理系统课程设计报告_第3页
教师工资管理系统课程设计报告_第4页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、新能源与动力工程学院课程设计报告程序设计课程设计(C/C+)专业电子信息工程班级电信 1501 班郭秀琴学号201512315指导教师王慧敏2016 年12月新能源与动力工程学院课程设计任务书课程名称:C语言程序设计课程设计指导教师(签名):班级:电信 1501 班:郭秀琴学号:201512315一、课程设计题目教师工资管理系统二、课程设计使用的原始资料(数据)及设计技术要求:1教材2课程设计说明书三、课程设计的目的通过课程设计,主要达到以下目的:1使学生增进对程序设计的感性认识,加深对C语言理论方面的理解;2使学生掌握 C语言程序的部函数模块的应用。3使学生了解和掌握 C 语言程序设计的软硬

2、件设计过程、方法及实现,为以后设计程序系统打下良好基础。四、课程设计的主要容和要求该程序是教师工资系统管理,主要用到结构体、函数的调用、以及一些基本的运算函数以及输入输出函数五、工作进度安排时间设计容要求12月20日熟悉题目、查阅资料,拟定设计方案按要求制定出切实可行的方案12月21日设计程序构造及完成函数调用查询完成系统结构及部分程序设计12月 22日23日充分调用各类函数完成剩余部分程序先进行程序组装及完成部分程序调试12月 24日25日产品整理调试并完成设计报告实现设计要求,报告按要求装订成册12月26日答 辩展示产品,并简明扼要自述五分钟六、主要参考文献( 1) Stephen Pri

3、mer Plus著 由云巅工作室译 :人民邮电2014 年 12 月( 2)谭浩强 . 程序设计(第四版):清华大学2010年6月审核批准意见系主任(签字)年月日指导教师评语及成绩评定表指导教师评语设计过程( 40)设计报告( 50)小组答辩( 10)总成绩(100)成绩指导教师签字:年月日目 录 .1 .1 .2 .6 .6 .8 .10一、设计目的该系统是为了完成教师工资的管理,各个队友分工合作最后完成教师工资的管理系统,以便更好更方便的管理教师工资。1删除、统计等功能的实现;2基本掌握面向过程程序设计的基本思路和方法,达到熟练掌握 C 语言的基本知识和技能,能够利用所学到的知识和技能,解

4、决简单的程序设计问题。为了能够方便对教师的工资进行管理,对信息进行排序、插入、查找;3培养上机动手能力,使学生巩固C 语言程序设计课程的学习容,掌握如何使用面向过程的计算机语言进行程序设计的基本方法,强化上机动手能力,闯过编程关为后续各门计算机课程的学习打下坚实基础;4掌握各类C 语言函数的使用方法及技巧,充分运用各级C 语言函数完成简单程序的设计与运行;二、需求分析(1)教师信息处理。该模块包括教师信息的输入、修改、删除以及浏览和统计等功能,每个模块在程序系统中用一个函数来实现,模块总体框图如图( 1)所示信息输入信息删除教师信息处理信息修改浏览信息图一(1)模式框架图;(2)教师数据处理。

5、该系统包括以下大板块:A、在数据处理过程中会根据教师号录入教师的基本工资、津贴、生活补贴补贴、费、水电费、房租、所得税、卫生费、公积金等基本数据;B、教师实发工资,应发工资,合计扣款计算;C、教师数据管理;D、教师数据查询;E、教师综合信息输出;三、详细设计(1)总体的流程图;输出界面(2)任务分配;郭秀琴马强强教师工资管理系统支琴琴(3)辅助信息的采集王与数亚据雄处理负责辅助信息的采集与数据处理负责数据的记录负责信息的采集与数据处理负责程序的调试与程序的删改A、了解教师工资的具体管理与发放情况;B、进行基本运算函数的确定与改写;C、主函数、结构体函数、调用函数的确定;第一部分struct t

6、eacher *creat();struct teacherchar num11;char name10;char sex8;char unit10;char address10;long telnum;float salary_1;float allowance;float life_allow;float salary_2;float tel_fee;float tax;float health_fee;float water_fee;float rent;float grant;float total_fee;float actual_salary;struct teacher *nex

7、t;第二部分struct teacher *insert(struct teacher*head,struct teacher *teach)struct teacher *p0,*p1,*p2;p1=head;p0=teach;if(head=NULL)head=p0;p0->next=NULL;elsewhile(p0->num>p1->num)&&(p1->next!=NULL)p2=p1;p1=p1->next;if(p0->num<p1->num)if(head=p1)head=p0;else p2->nex

8、t=p0;p0->next=p1;elsep1->next=p0;p0->next=NULL;n=n+1;return(head);四、程序调试与错误分析1刚开始运行插入函数时,总不能插入正确信息2开始编译排序函数时出现无确插入函数及无法输出正确结果的情况。3编译查询函数时,总是无法输出正确信息。4各级函数调用出现很大问题,对函数使用不当以及函数调用的错误都造成了很多错误。5对删除函数的调用错误,导致输出结果错误。6对于很多 C 语句的使用不够熟练,出错较多。7针对以上错误,我虚心求教,向老师和同学求教,并顺利解决了程序编译过程中出现的问题和错误,成功的完成了本程序的编译五、

9、运行结果进入页面图 2程序的输入图 3程序的输出图 4六、结论与心得课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题 , 锻炼实践能力的重要环节 , 是对学生实际工作能力的具体训练和考察过程。教师工资管理系统这个题目很大,设计量也很大,也很繁琐,让我认识到这个课题非一人可以解决。但从另一方面,为了出色地完成这次课程设计,我不断地细读课本,获得新知识的同时,提升了自己的能力。更重要的是我们进行了团队合作。整个设计分模块实现功能,每个模块分别有不同的函数。每个同学都有自己的分工。链表的建立实现输入信息功能,相比较于数组更加方便,更加节省程序的运行时间和存储空间。通过使用文件 fr

10、ead 和 write 函数方便的将数据信息写入文件并载入显示段。通过这十几天的训练和设计与团队合作,我学会了很多,也对 C 语言程序设计有了一个新的认识与理解,从中也得到了很多乐趣,在这两周时间里看到同学们自己的劳动成果还是挺开心。而 C语言的设计为自己以独立编程打下了基础。参考文献1【美】 Stephen Prata Primer Plus著 由云巅工作室译。:人民邮电2014 年 12 月。2谭浩强 . 程序设计(第四版):清华大学2010 年 6月。附录一部分源程序#include<stdio.h>#include<stdlib.h>#include<co

11、nio.h>#define LEN sizeof(struct teacher)struct teacher *creat();struct teacherchar num11;char name10;char sex8;char unit10;char address10;long telnum;float salary_1;float allowance;float life_allow;float salary_2;float tel_fee;float tax;float health_fee;float water_fee;float rent;float grant;floa

12、t total_fee;float actual_salary;struct teacher *next;int n;struct teacher *head;FILE *fp;struct teacher *creat(void)struct teacher *p1,*p2;n=0;p1=p2=(struct teacher *)malloc(LEN);printf("教师号 :");scanf("%d",&p1->num);fflush(stdin);printf("教师 :");gets(p1->name);

13、printf("教师性别 :");gets(p1->sex);printf("单位名称 :");gets(p1->unit);printf("家庭地址 :");gets(p1->address);printf(":");scanf("%ld",&p1->telnum);fflush(stdin);printf("基本工资 :");scanf("%f",&p1->salary_1);fflush(stdin);p

14、rintf("津贴 :");scanf("%f",&p1->allowance);fflush(stdin);printf("生活补贴 :");scanf("%f",&p1->life_allow);fflush(stdin);printf("费:");scanf("%f",&p1->tel_fee);fflush(stdin);printf("个人所得税 :");scanf("%f",&

15、;p1->tax);fflush(stdin);printf("房租 :");scanf("%f",&p1->rent);fflush(stdin);printf("公积金 :");scanf("%f",&p1->grant);fflush(stdin);printf("水电费 :");scanf("%f",&p1->water_fee);fflush(stdin);printf("卫生费 :");scanf

16、("%f",&p1->health_fee);fflush(stdin);p1->salary_2=p1->salary_1+p1->allowance+p1->life_allow;p1->total_fee=p1->tel_fee+p1->water_fee+p1->rent+p1->tax+p1->health_fee+p1->grant;p1->actual_salary=p1->salary_2-p1->total_fee;head=NULL;while(p1->

17、;num!=0)n=n+1;if(n=1)head=p1;else p2->next=p1;p2=p1;p1=(struct teacher*)malloc(LEN);printf("教师号 :");scanf("%d",&p1->num);fflush(stdin);printf("教师 :");gets(p1->name);printf("教师性别 :");gets(p1->sex);printf("单位名称 :");gets(p1->unit);pri

18、ntf("家庭地址 :");gets(p1->address);printf(":");scanf("%ld",&p1->telnum);fflush(stdin);printf("基本工资 :");scanf("%f",&p1->salary_1);fflush(stdin);printf("津贴 :");scanf("%f",&p1->allowance);fflush(stdin);printf(&qu

19、ot;生活补贴 :");scanf("%f",&p1->life_allow);fflush(stdin);printf("费:");scanf("%f",&p1->tel_fee);fflush(stdin);printf("个人所得税 :");scanf("%f",&p1->tax);fflush(stdin);printf("房租 :");scanf("%f",&p1->rent);f

20、flush(stdin);printf("公积金 :");scanf("%f",&p1->grant);fflush(stdin);printf("水电费 :");scanf("%f",&p1->water_fee);fflush(stdin);printf("卫生费 :");scanf("%f",&p1->health_fee);fflush(stdin);p1->salary_2=p1->salary_1+p1->

21、;allowance+p1->life_allow;p1->total_fee=p1->tel_fee+p1->water_fee+p1->rent+p1->tax+p1->health_fee+p1->grant;p1->actual_salary=p1->salary_2-p1->total_fee;p2->next=NULL;return(head);void print(struct teacher *head)struct teacher *p;printf("nNow,These %d records

22、 are:n",n);p=head;if(head!=NULL)doprintf("教师号 :%5dtt",p->num);printf("教师 :%-10sn",p->name);printf("教师性别 :%-6stt",p->sex);printf("单位名称 :%-10sn",p->unit);printf("家庭地址 :%-10st",p->address);printf(":%8ldn",p->telnum);prin

23、tf("基本工资 :%5.0ftt",p->salary_1);printf("津贴 :%5.0fn",p->allowance);printf("生活补贴 :%5.0ft",p->life_allow);printf("t费:%5.0fn",p->tel_fee);printf("个人所得税 :%5.0ft",p->tax);printf("卫生费 :%5.0fn",p->health_fee);printf("水电费 :%5.

24、0ftt",p->water_fee);printf("房租 :%5.0fn",p->rent);printf("公积金 :%5.0ftt",p->grant);printf("应发工资 :%5.0fn",p->salary_2);printf("合计扣款 :%5.0ftt",p->total_fee);printf("实发工资 :%5.0fnnn",p->actual_salary);p=p->next;while(p!=NULL);stru

25、ct teacher *insert(struct teacher*head,struct teacher *teach)struct teacher *p0,*p1,*p2;p1=head;p0=teach;if(head=NULL)head=p0;p0->next=NULL;elsewhile(p0->num>p1->num)&&(p1->next!=NULL)p2=p1;p1=p1->next;if(p0->num<p1->num)if(head=p1)head=p0;else p2->next=p0;p0-&g

26、t;next=p1;elsep1->next=p0;p0->next=NULL;n=n+1;return(head);struct teacher *del(struct teacher *head,int number)struct teacher *p1,*p2;if(head=NULL)printf("nlist nulln");return(head);p1=head;while(number!=p1->num&&p1->next!=NULL)p2=p1;p1=p1->next;if(number=p1->num)

27、if(p1=head)head=p1->next;else p2->next=p1->next;printf("删除 :%dn",number);n=n-1;else printf("%ld is not foundn",number);return(head);void save() int i;struct teacher *p1;p1=head;if(fp=fopen("teacher_list","wb")=NULL)printf("cannot open filen"

28、);return;for(i=0;i<n;i+) if(fwrite(p1,sizeof(struct teacher),1,fp)!=1)printf("file write errorn");p1=p1->next;fclose(fp);void load()struct teacher *p1,*p2;if(fp=fopen("teacher_list","rb")=NULL)printf("cannot open filen");return;p1=p2=(struct teacher *)ma

29、lloc(LEN);head=p1;doif(fread(p1,sizeof(struct teacher),1,fp)!=1)printf("file errorn");goto end;if(p1->next!=NULL)p2=p1;p1=(struct teacher *)malloc(LEN);p2->next=p1;elsebreak;while(1);end:fclose(fp);void query(struct teacher *p)int no;p=head;printf("please input num:n");scan

30、f("%d",&no);while(p->num!=no)p=p->next;printf(" 基本工资 :%5.0ftt",p->salary_1); printf(" 津贴 :%5.0fn",p->allowance); printf(" 生活补贴 :%5.0ft",p->life_allow);printf("t费:%5.0fn",p->tel_fee);printf("个人所得税 :%5.0ft",p->tax);pr

31、intf("卫生费 :%5.0fn",p->health_fee);printf("水电费 :%5.0ftt",p->water_fee);printf("房租 :%5.0fn",p->rent);printf("公积金 :%5.0ftt",p->grant);printf("应发工资 :%5.0fn",p->salary_2);printf("合计扣款 :%5.0ftt",p->total_fee);printf("实发工资 :

32、%5.0fnnn",p->actual_salary);void edit(struct teacher *p)int a;printf("please input num:n");scanf("%d",&a);printf("%dnn",a);for(;)if(p->num=a)printf("教师号 :%5dtt",p->num);printf("教师 :%-10sn",p->name);printf("教师性别 :%-6stt"

33、,p->sex);printf("单位名称 :%-10sn",p->unit);printf("家庭地址 :%-10st",p->address);printf(":%8ldn",p->telnum);printf("基本工资 :%5.0ftt",p->salary_1);printf("津贴 :%5.0fn",p->allowance);printf("生活补贴 :%5.0ft",p->life_allow);printf(&quo

34、t;t费:%5.0fn",p->tel_fee);printf("个人所得税 :%5.0ft",p->tax);printf("卫生费 :%5.0fn",p->health_fee);printf("水电费 :%5.0ftt",p->water_fee);printf("房租 :%5.0fn",p->rent);printf("公积金 :%5.0ftt",p->grant);printf("应发工资 :%5.0fn",p->

35、salary_2);printf("合计扣款 :%5.0ftt",p->total_fee);printf("实发工资 :%5.0fnnn",p->actual_salary);printf("请输入新数据 :n");printf("教师号 :");scanf("%d",&p->num);fflush(stdin);printf("教师 :");gets(p->name);printf("教师性别 :");gets(p-&g

36、t;sex);printf("工作单位 :");gets(p->unit);printf("家庭地址 :");gets(p->address);printf(":");scanf("%ld",&p->telnum);fflush(stdin);printf("基本工资 :");scanf("%f",&p->salary_1);fflush(stdin);printf("津贴 :");scanf("%f&qu

37、ot;,&p->allowance);fflush(stdin);printf("生活补贴 :");scanf("%f",&p->life_allow);fflush(stdin);printf("费:");scanf("%f",&p->tel_fee);fflush(stdin);printf("个人所得税 :");scanf("%f",&p->tax);fflush(stdin);printf("房租 :&

38、quot;);scanf("%f",&p->rent);fflush(stdin);printf("公积金 :");scanf("%f",&p->grant);fflush(stdin);printf("水电费 :");scanf("%f",&p->water_fee);fflush(stdin);printf("卫生费 :");scanf("%f",&p->health_fee);fflush(st

39、din);p->salary_2=p->salary_1+p->allowance+p->life_allow; p->total_fee=p->tel_fee+p->water_fee+p->rent+p->tax+p->health_fee+p->grant;p->actual_salary=p->salary_2-p->total_fee;break;p=p->next;void welcome()printf("ttt+-+n");printf("ttt| |n&qu

40、ot;);printf("ttt|欢迎使用教师工资管理系统|n");printf("ttt| |n");printf("ttt+-+n");printf("nn");char mainmenu()char choice;printf("n温馨提示:为保证您的操作得到保存,请按正常顺序退出系统_n"); printf("nn");printf("ttt-n");printf("ttt|教师工资管理系统|n");printf("t

41、tt-n");printf("ttt| 1-输入教师信息|n");printf("ttt| 2-插入教师信息|n");printf("ttt| 3-删除教师信息|n");printf("ttt| 4-浏览教师信息|n");printf("ttt| 5-录入教师信息|n");printf("ttt| 6-查询教师信息|n");printf("ttt| 7-修改教师信息|n");printf("ttt| 8-加载教师信息 |n")

42、;printf("ttt| 0-退出系统 |n");t|* ·* ·* ·* ·* ·* ·* ·* ·* ·* ·| n");printf("ttt-n");printf("请输入您的选择 :");dofflush(stdin);scanf("%c",&choice);fflush(stdin);while(choice<'0'|choice>'8');

43、return(choice);case '0':system("cls");exit(0);case '1': printf("input records:n");head=creat();break;case '2':printf("input the inserted record:n"); teach=(struct teacher *)malloc(LEN);printf("教师号 :");scanf("%d",&teach->num);fflush(stdin);printf("教师 :");gets(teach->name);printf("教师性别 :");gets(teach->sex);printf("单位名称 :");gets(teach->unit);printf("家庭地址 :");gets(teach->address);printf(":

温馨提示

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

评论

0/150

提交评论