教师工资管理系统课程设计报告整理.docx

上传人:b****6 文档编号:16474674 上传时间:2023-07-13 格式:DOCX 页数:28 大小:255.58KB
下载 相关 举报
教师工资管理系统课程设计报告整理.docx_第1页
第1页 / 共28页
教师工资管理系统课程设计报告整理.docx_第2页
第2页 / 共28页
教师工资管理系统课程设计报告整理.docx_第3页
第3页 / 共28页
教师工资管理系统课程设计报告整理.docx_第4页
第4页 / 共28页
教师工资管理系统课程设计报告整理.docx_第5页
第5页 / 共28页
教师工资管理系统课程设计报告整理.docx_第6页
第6页 / 共28页
教师工资管理系统课程设计报告整理.docx_第7页
第7页 / 共28页
教师工资管理系统课程设计报告整理.docx_第8页
第8页 / 共28页
教师工资管理系统课程设计报告整理.docx_第9页
第9页 / 共28页
教师工资管理系统课程设计报告整理.docx_第10页
第10页 / 共28页
教师工资管理系统课程设计报告整理.docx_第11页
第11页 / 共28页
教师工资管理系统课程设计报告整理.docx_第12页
第12页 / 共28页
教师工资管理系统课程设计报告整理.docx_第13页
第13页 / 共28页
教师工资管理系统课程设计报告整理.docx_第14页
第14页 / 共28页
教师工资管理系统课程设计报告整理.docx_第15页
第15页 / 共28页
教师工资管理系统课程设计报告整理.docx_第16页
第16页 / 共28页
教师工资管理系统课程设计报告整理.docx_第17页
第17页 / 共28页
教师工资管理系统课程设计报告整理.docx_第18页
第18页 / 共28页
教师工资管理系统课程设计报告整理.docx_第19页
第19页 / 共28页
教师工资管理系统课程设计报告整理.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

教师工资管理系统课程设计报告整理.docx

《教师工资管理系统课程设计报告整理.docx》由会员分享,可在线阅读,更多相关《教师工资管理系统课程设计报告整理.docx(28页珍藏版)》请在冰点文库上搜索。

教师工资管理系统课程设计报告整理.docx

教师工资管理系统课程设计报告整理

 

 

新能源与动力工程学院

课程设计报告

程序设计课程设计〔C/C++〕

专业

电子信息工程

班级

电信1501班

姓名

郭秀琴

学号

202112315

指导教师

王慧敏

2021年12月

新能源与动力工程学院课程设计任务书

课程名称:

C语言程序设计课程设计指导教师〔签名〕:

班级:

电信1501班姓名:

郭秀琴学号:

202112315

一、课程设计题目

教师工资管理系统

二、课程设计使用的原始资料〔数据〕及设计技术要求:

1.教材

2.课程设计说明书

三、课程设计的目的

通过课程设计,主要到达以下目的:

1.使学生增进对程序设计的感性认识,加深对C语言理论方面的理解;

2.使学生掌握C语言程序的内部函数模块的应用。

3.使学生了解和掌握C语言程序设计的软硬件设计过程、方法及实现,为以后设计程序系统打下良好根底。

四、课程设计的主要内容和要求

该程序是教师工资系统管理,主要用到结构体、函数的调用、以及一些根本的运算函数以及输入输出函数

五、工作进度安排

时间

设计内容

要求

12月20日

熟悉题目、查阅资料,拟定设计方案

按要求制定出切实可行的方案

12月21日

设计程序构造及完成函数调用查询

完成系统结构及局部程序设计

12月22日—23日

充分调用各类函数完成剩余局部程序

先进行程序组装及完成局部程序调试

12月24日—25日

产品整理调试并完成设计报告

实现设计要求,报告按要求装订成册

12月26日

答辩

展示产品,并简明扼要自述五分钟

六、主要参考文献

〔1〕Stephen?

PrimerPlus?

著由云巅工作室译北京:

人民邮电出版社2021年12月

〔2〕谭浩强.?

程序设计〔第四版〕?

北京:

清华大学出版社2021年6月

审核批准意见

 

系主任〔签字〕年月日

指导教师评语及成绩评定表

指导教师评语

成绩

设计过程

〔40〕

设计报告

〔50〕

小组辩论

〔10〕

总成绩

〔100〕

指导教师签字:

年月日

一、设计目的…………………………………………………….1

二、总体设计…………………………………………………….1

三、详细设计…………………………………………………….2

四、程序测试…………………………………………………….6

五、运行结果…………………………………………………….6

六、结论与心得………………………………………………….8

参考文献………………………………………………………….10

 

一、设计目的

该系统是为了完成教师工资的管理,各个队友分工合作最后完成教师工资的管理系统,以便更好更方便的管理教师工资。

1.删除、统计等功能的实现;

2.根本掌握面向过程程序设计的根本思路和方法,到达熟练掌握C语言的根本知识和技能,能够利用所学到的知识和技能,解决简单的程序设计问题。

为了能够方便对教师的工资进行管理,对信息进行排序、插入、查找;

3.培养上机动手能力,使学生稳固?

C语言程序设计?

课程的学习内容,掌握如何使用面向过程的计算机语言进行程序设计的根本方法,强化上机动手能力,闯过编程关为后续各门计算机课程的学习打下坚实根底;

4.掌握各类C语言函数的使用方法及技巧,充分运用各级C语言函数完成简单程序的设计与运行;

二、需求分析

〔1〕教师信息处理。

该模块包括教师信息的输入、修改、删除以及浏览和统计等功能,每个模块在程序系统中用一个函数来实现,模块总体框图如图〔1〕所示

 

 

图一

〔1〕模式框架图;

〔2〕教师数据处理。

该系统包括以下大板块:

A、在数据处理过程中会根据教师号录入教师的根本工资、津贴、生活补贴补贴、费、水电费、房租、所得税、卫生费、公积金等根本数据;

B、教师实发工资,应发工资,合计扣款计算;

C、教师数据管理;

D、教师数据查询;

E、教师综合信息输出;

三、详细设计

〔1〕总体的流程图;

 

 

 

〔2〕任务分配;

 

〔3〕辅助信息的采集与数据处理

A、了解教师工资的具体管理与发放情况;

B、进行根本运算函数确实定与改写;

C、主函数、结构体函数、调用函数确实定;

第一局部

structteacher*creat();

structteacher

{

charnum[11];

charname[10];

charsex[8];

charunit[10];

charaddress[10];

longtelnum;

floatsalary_1;

floatallowance;

floatlife_allow;

floatsalary_2;

floattel_fee;

floattax;

floathealth_fee;

floatwater_fee;

floatrent;

floatgrant;

floattotal_fee;

floatactual_salary;

structteacher*next;

};

第二局部

structteacher*insert(structteacher*head,structteacher*teach)

{

structteacher*p0,*p1,*p2;

p1=head;

p0=teach;

if(head==NULL)

{

head=p0;p0->next=NULL;

}

else

{

while((p0->num>p1->num)&&(p1->next!

=NULL))

{p2=p1;p1=p1->next;}

if(p0->numnum)

{

if(head==p1)head=p0;

elsep2->next=p0;

p0->next=p1;

}

else

{p1->next=p0;p0->next=NULL;}

}

n=n+1;

return(head);

}

四、程序调试与错误分析

1.刚开始运行插入函数时,总不能插入正确信息

2.开始编译排序函数时出现无法正确插入函数及无法输出正确结果的情况。

3.编译查询函数时,总是无法输出正确信息。

4.各级函数调用出现很大问题,对函数使用不当以及函数调用的错误都造成了很多错误。

5.对删除函数的调用错误,导致输出结果错误。

6.对于很多C语句的使用不够熟练,出错较多。

7.针对以上错误,我虚心求教,向老师和同学求教,并顺利解决了程序编译过程中出现的问题和错误,成功的完成了本程序的编译

五、运行结果

进入页面图2

程序的输入图3

程序的输出图4

六、结论与心得

课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

教师工资管理系统这个题目很大,设计量也很大,也很繁琐,让我认识到这个课题非一人可以解决。

但从另一方面,为了出色地完成这次课程设计,我不断地细读课本,获得新知识的同时,提升了自己的能力。

更重要的是我们进行了团队合作。

整个设计分模块实现功能,每个模块分别有不同的函数。

每个同学都有自己的分工。

链表的建立实现输入信息功能,相比拟于数组更加方便,更加节省程序的运行时间和存储空间。

通过使用文件fread和write函数方便的将数据信息写入文件并载入显示段。

通过这十几天的训练和设计与团队合作,我学会了很多,也对C语言程序设计有了一个新的认识与理解,从中也得到了很多乐趣,在这两周时间里看到同学们自己的劳动成果还是挺开心。

而C语言的设计为自己以独立编程打下了根底。

参考文献

[1]【美】StephenPrata?

PrimerPlus?

著由云巅工作室译。

北京:

人民邮电出版社2021年12月。

[2]谭浩强.?

程序设计〔第四版〕?

北京:

清华大学出版社2021年6月。

 

附录一

局部源程序

#include

#include

#include

#defineLENsizeof(structteacher)

structteacher*creat();

structteacher

{

charnum[11];

charname[10];

charsex[8];

charunit[10];

charaddress[10];

longtelnum;

floatsalary_1;

floatallowance;

floatlife_allow;

floatsalary_2;

floattel_fee;

floattax;

floathealth_fee;

floatwater_fee;

floatrent;

floatgrant;

floattotal_fee;

floatactual_salary;

structteacher*next;

};

intn;

structteacher*head;

FILE*fp;

structteacher*creat(void)

{

structteacher*p1,*p2;

n=0;

p1=p2=(structteacher*)malloc(LEN);

printf("教师号:

");

 

scanf("%d",&p1->num);fflush(stdin);

printf("教师姓名:

");

gets(p1->name);

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);

printf("津贴:

");

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",&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("%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->num!

=0)

{

n=n+1;

if(n==1)head=p1;

elsep2->next=p1;

p2=p1;

p1=(structteacher*)malloc(LEN);

printf("教师号:

");

 

scanf("%d",&p1->num);fflush(stdin);

printf("教师姓名:

");

gets(p1->name);

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);

printf("津贴:

");

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",&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("%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;

}

p2->next=NULL;

return(head);

}

voidprint(structteacher*head)

 

{

structteacher*p;

printf("\nNow,These%drecordsare:

\n",n);

p=head;

if(head!

=NULL)

do

{

printf("教师号:

%5d\t\t",p->num);

printf("教师姓名:

%-10s\n",p->name);

printf("教师性别:

%-6s\t\t",p->sex);

printf("单位名称:

%-10s\n",p->unit);

printf("家庭地址:

%-10s\t",p->address);

printf("号码:

%8ld\n",p->telnum);

printf("根本工资:

%5.0f\t\t",p->salary_1);

f\n",p->allowance);

printf("生活补贴:

%5.0f\t",p->life_allow);

printf("\t费:

%5.0f\n",p->tel_fee);

printf("个人所得税:

%5.0f\t",p->tax);

printf("卫生费:

%5.0f\n",p->health_fee);

printf("水电费:

%5.0f\t\t",p->water_fee);

printf("房租:

%5.0f\n",p->rent);

printf("公积金:

%5.0f\t\t",p->grant);

printf("应发工资:

%5.0f\n",p->salary_2);

printf("合计扣款:

%5.0f\t\t",p->total_fee);

printf("实发工资:

%5.0f\n\n\n",p->actual_salary);

p=p->next;

}while(p!

=NULL);

}

 

structteacher*insert(structteacher*head,structteacher*teach)

{

structteacher*p0,*p1,*p2;

p1=head;

p0=teach;

if(head==NULL)

{

head=p0;p0->next=NULL;

}

else

{

while((p0->num>p1->num)&&(p1->next!

=NULL))

{p2=p1;p1=p1->next;}

if(p0->numnum)

{

if(head==p1)head=p0;

elsep2->next=p0;

p0->next=p1;

}

else

{p1->next=p0;p0->next=NULL;}

}

n=n+1;

return(head);

}

 

structteacher*del(structteacher*head,intnumber)

{

structteacher*p1,*p2;

if(head==NULL){printf("\nlistnull\n");return(head);}

p1=head;

while(number!

=p1->num&&p1->next!

=NULL)

{p2=p1;p1=p1->next;}

if(number==p1->num)

{

if(p1==head)head=p1->next;

elsep2->next=p1->next;

printf("删除:

%d\n",number);

n=n-1;

}

elseprintf("%ldisnotfound\n",number);

return(head);

}

 

voidsave()

{inti;

structteacher*p1;

p1=head;

if((fp=fopen("teacher_list","wb"))==NULL)

{printf("cannotopenfile\n");

return;}

for(i=0;i

{if(fwrite(p1,sizeof(structteacher),1,fp)!

=1)

printf("filewriteerror\n");

p1=p1->next;

}

fclose(fp);

}

 

voidload()

{

structteacher*p1,*p2;

if((fp=fopen("teacher_list","rb"))==NULL)

{printf("cannotopenfile\n");

return;

}

p1=p2=(structteacher*)malloc(LEN);

head=p1;

do

{

if(fread(p1,sizeof(structteacher),1,fp)!

=1)

{printf("fileerror\n");

gotoend;}

if(p1->next!

=NULL)

{p2=p1;

p1=(structteacher*)malloc(LEN);

p2->next=p1;

}

else

break;

}while

(1);

end:

fclose(fp);

}

 

voidquery(structteacher*p)

{

intno;

p=head;

printf("pleaseinputnum:

\n");

scanf("%d",&no);

while(p->num!

=no)

p=p->next;

printf("根本工资:

%5.0f\t\t",p->salary_1);

printf("津贴:

%5.0f\n",p->allowance);

printf("生活补贴:

%5.0f\t",p->life_allow);

printf("\t费:

%5.0f\n",p->tel_fee);

printf("个人所得税:

%5.0f\t",p->tax);

printf("卫生费:

%5.0f\n",p->health_fee);

printf("水电费:

%5.0f\t\t",p->water_fee);

printf("房租:

%5.0f\n",p->rent);

printf("公积金:

%5.0f\t\t",p->grant);

printf("应发工资:

%5.0f\n",p->salary_2);

printf("合计扣款:

%5.0f\t\t",p->total_fee);

printf("实发工资:

%5.0f\n\n\n",p->actual_salary);

}

voidedit(structteacher*p)

{

inta;

printf("pleaseinputnum:

\n");

scanf("%d",&a);

printf("%d\n\n",a);

for(;;)

{if(p->num==a)

{

printf("教师号:

%5d\t\t",p->num);

printf("教师姓名:

%-10s\n",p->name);

printf("教师性别:

%-6s\t\t",p->sex);

printf("单位名称:

%-10s\n",p->unit);

printf("家庭地址:

%-10s\t",p->address);

printf("号码:

%8ld\n",p->telnum);

printf("根本工资:

%5.0f\t\t",p->salary_1);

printf("津贴:

%5.0f\n",p->allowance);

printf("生活补贴:

%5.0f\t",p->life_allow);

printf("\t费:

%5.0f\n",p->tel_fee);

printf("个人所得税:

%5.0f\t",p->tax);

printf("卫生费:

%5.0f\n",p->health_fee);

printf("水电费:

%5.0f\t\t",p->water_fee);

printf("房租:

%5.0f\n",p->rent);

printf("公积金:

%5.0f\t\t",p->grant);

printf

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2