教师信息管理系统

发布时间:2022-10-16 19:59:19   来源:文档文库   
字号:
《高校教师信息管理系统》

北京化工大学北方学院
课程设计报告

课程名称C语言课程设计专业、班级信工0903090201077李波指导教师邵兰洁设计时间2012.9.3-2012.10.12


20121015

页脚内容
-20-

《高校教师信息管理系统》
一、引言(简要说明设计题目的目的、意义、内容、主要任务等)1.课程设计目的
本程序旨在训练基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。本程序涉及结构体、数组、指针、文件等方面的知识。通过本程序的训练,使读者能对C语言的文件操作有一个更深刻的了解,掌握利用数组存储结构实现教师工资管理系统,为进一步开发出高质量信息管理系统打下坚实的基础。1)巩固和加强《C语言程序设计》课程的理论知识。
2)掌握C语言的基本概念、语法、语义和数据类型的使用特点。3)掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。4)进一步理解和运用结构化程设计的思想和方法;学会利用流程图表示算法。5)掌握调试程序的基本方法及上机操作方法。
6掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。课程设计的思想和方法还可以作为毕业论文时的参考资料。
7通过查阅手册和文献资料,培养自己独立分析问题和解决问题的能力。为自己做毕业设计打好基础。
8初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动自己主动学习的积极性,并根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。
9培养自己的创新能力和创新思维。可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。
10)培养自己良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。自己在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。2.课程设计题目教师工资管理系统
每个教师的信息为:教师号、姓名、工资月份、基本工资、津贴、补贴、岗贴、房贴、交通费、房租、储蓄、会费。(1教师信息处理输入教师信息
页脚内容
-20-

《高校教师信息管理系统》
插入(修改)教师信息:删除教师信息:浏览教师信息:(2教师数据处理
按教师号录入基本工资、津贴、岗贴、补贴、房贴、交通费、房租、储蓄、会费。②教师实发工资、应发工资、合计扣款计算。提示:计算规则如题目。教师数据管理
提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件。教师数据查询:
提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。教师综合信息输出提示:输出教师信息到屏幕。
页脚内容
-20-

《高校教师信息管理系统》
二、正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的有关要求。)1.功能描述
根据需求描述,本人按照结构化程序设计的原则将整个系统划分若干个功能模块。系统各子模块的设计如下:1)输入教师信息模块
在主菜单中运用结构体teacher,输入教师信息,首先建立链表,将用户输入的学生信息存储到链表中,输入完成后提示用户时候继续输入,如果用户输入“Y”或“y则再次调用,实现继续输入学生信息的操作。如果用户输入“N”或“n,则返回主菜单界面。
2)添加教师信息模块
在主菜单中调用teacher*insert(,然后按照提示依次输入教师信息,然后再调voidprint()函数讲所有的教师信息记录打印出来。然后再返回主菜单界面。3)删除教师信息模块
在主菜单中调用del(函数,以删除教师信息,首先按学号查询教师信息,如果没有找到教师信息,给出提示信息。如果查找到该教师信息,给出改教师的全部信息,如果查找到,则删除该教师信息,给出删除成功的提示信息。然后返回主菜单界面。4)浏览教师信息模块
在主菜单中调用voidprint(函数来显示教师信息,先判断链表是否为空。如果链表不为空时,逐条显示链表中教师的信息,显示调用teacher*next(函数按照教师号的大小来显示教师的信息,然后返回主菜单界面。5)保存教师信息模块
在主菜单中调用voidsave(函数来保存教师信息到teacher_list这个文件中。并给出“保存成功”的提示信息。然后返回主菜单界面。6)查询教师信息模块
在主菜单中选择6的时候进行教师信息的查询,调用voidquery(函数,按教师号查询信息。提示用户输入要查找的教师号,然后调用voidquery(函数,查找成功,最
页脚内容
-20-

《高校教师信息管理系统》
后打印出教师的信息。然后返回主菜单界面。7)修改教师信息模块
在主菜单中调用voidedit(函数。按教师号查找教师信息,如果找到教师信息,调用voidedit(函数提示用户输入新的教师信息,完成修改的操作。操作结束后提示用户修改成功。然后返回主菜单界面。(8加载教师信息模块
在主菜单中调用voidload(函数。如果存在teacher_list文件并不为空,打开文件,找到教师信息。如果存在teacher_list文件并为空,给出提示,cannotopenfile然后返回主菜单界面。(9退出系统模块
将链表中的数据全部释放掉,防止内存泄露,退出系统。2.功能模块设计2.1删除记录模块
删除记录模块流程图如图1所示。

1删除记录模块流程图
页脚内容
-20-

《高校教师信息管理系统》
/*删除模块*/PAY*del({
shortsel;longnum;
charname[20],choose;head=open(;if(head==NULL
returnNULL;
else
do{
do{}
while(sel!=1&&sel!=2;switch(sel{case1:
printf("输入要删除的教师编号:";scanf("%ld",#break;case2:
printf("输入要删除的姓名:";
printf("\n选择删除方式:\n";printf("\t\t1.按教师编号删除\n";printf("\t\t2.按姓名删除\n";scanf("%d",&sel;getchar(;
页脚内容
-20-

《高校教师信息管理系统》



gets(name;break;}p1=head;
if((p1->num==num||strcmp(p1->name,name==0{}else{


head=p1->next;
printf("删除信息成功!";
while((p1->next!=NULL&&(p1->num!=num&&(strcmp(p1->name,name!=0



}
printf("是否继续?是(Y否(N\n";choose=getch(;
{}
if((p1->num==num||strcmp(p1->name,name==0{}else
printf("\n没有该信息!\n";p2->next=p1->next;free(p1;
printf("\n删除信息成功!\n";p2=p1;p1=p1->next;
页脚内容
-20-

《高校教师信息管理系统》
}

}
while(choose=='Y'||choose=='y';printf("任意键返回,并存盘……";getch(;returnhead;
2.2查询教师信息函数query(
函数原型:voidquery(structteacher*p
功能描述:将链表teacher中的head指向p,然后让用户输入教师号no,依次在链表中需找p,如果教师号不对,则指针往后面拨动一下,使p=p->next;知道找到相对应的正确的教师号。然后打印出教师的基本信息。查询教师信息函数流程图如图2所示。


2查询教师信息流程图/*查找模块*/voidsearch({
shortsel;longnum;
charname[20],choose;head=open(;if(head==NULL
return;
else
页脚内容
-20-

《高校教师信息管理系统》


do{
do{}
while(sel!=1&&sel!=2;switch(sel{case1:
printf("输入要查的教师编号:";scanf("%ld",#break;case2:
printf("输入要查的姓名:";gets(name;break;}p1=head;
printf("\n选择查找方式:\n";printf("\t\t1.按教师编号查找\n";printf("\t\t2.按姓名查找\n";scanf("%d",&sel;getchar(;
while((p1->next!=NULL&&(p1->num!=num&&(strcmp(p1->name,name!=0

p1=p1->next;
if((p1->num==num||strcmp(p1->name,name==0{
printf("您要查找的信息如下:\n";printf(TITLE;
页脚内容
-20-

《高校教师信息管理系统》
}

}
}
printf(DATA;
else
printf("没有该信息!\n";
printf("是否继续?是(Y否(N\n";choose=getch(;
while(choose=='Y'||choose=='y';printf("任意键返回";getch(;
2.3修改教师信息函数edit(
函数原型:voidedit(structteacher*p
功能描述:首先让用户输入希望修改的教师的教师号a然后在链表中一条一条查找看p->num是否等于a如果找到,则让用户再次输入教师的具体信息,输入完毕跳出,转向主菜单界面。如果没有找到,则令p=p->next。直到查询完所有的教师记录。函数流程图如图3所示。


3修改教师信息函数流程图

页脚内容
-20-

《高校教师信息管理系统》
/*修改模块*/PAY*revise({
shortsel;longnum;
charname[20],choose;head=open(;if(head==NULL
returnNULL;
else
do{
do{}
while(sel!=1&&sel!=2;switch(sel{case1:
printf("输入要查的教师编号:";scanf("%ld",#break;case2:
printf("输入要查的姓名:";
printf("\n查找要修改的对象:\n";printf("\t\t1.按教师编号查找\n";printf("\t\t2.按姓名查找\n";scanf("%d",&sel;getchar(;
页脚内容
-20-

《高校教师信息管理系统》
t;


gets(name;break;}p1=head;
while((p1->next!=NULL&&(p1->num!=num&&(strcmp(p1->name,name!=0
p1=p1->next;
if((p1->num==num||strcmp(p1->name,name==0{
printf("您要修改的原始信息如下:\n";printf(TITLE;printf(DATA;
printf("\n将上述信息改为如下信息:\n";printf("教师编号:";scanf("%d",&p1->num;getchar(;
printf("姓名:";gets(p1->name;
printf("工资月份:";scanf("%d",&p1->month;
printf("基本工资,津贴,岗贴,补贴,房贴,交通费:\n";
scanf("%f,%f,%f,%f,%f,%f",&p1->jb,&p1->ji,&p1->gt,&p1->bt,&p1->ft,&p1->j



printf("房租,储蓄,会费:\n";
scanf("%f,%f,%f,%f",&p1->fz,&p1->cx,&p1->hf;{
p1->should_pay=p1->jb+p1->ji+p1->gt+p1->bt+p1->ft+p1->jt;



if(p1->should_pay<800
p1->gr=0;
页脚内容
-20-

《高校教师信息管理系统》
}

}
}
}
elseif(p1->should_pay>=800&&p1->should_pay<2000
p1->gr=(p1->should_pay-800*5/100;
elseif(p1->should_pay>=2000&&p1->should_pay<5000
p1->gr=(p1->should_pay-2000*1/10+60;
else
p1->gr=(p1->should_pay-5000*2/10+60+300;
p1->rebate=p1->fz+p1->cx+p1->hf+p1->gr;p1->actual_pay=p1->should_pay-p1->rebate;
else
printf("你要修改的信息不存在!\n";
printf("是否继续?是(Y否(N\n";choose=getch(;
while(choose=='Y'||choose=='y';printf("任意键返回,并存盘……";getch(;returnhead;
3.运行结果3.1系统主界面
用户刚进入系统时,如图4所示。
主菜单界面:
页脚内容
-20-

《高校教师信息管理系统》

4主菜单界面
用户根据自己的需求输入自己的选择。3.2输入界面
用户在主菜单界面的时候输入1,输入界面如图5所示。

5输入界面
页脚内容
-20-

《高校教师信息管理系统》
3.3保存教师信息
保存信息成功后界面如图6所示。


6保存教师信息界面3.4添加教师信息界面
在主菜单中进入2——添加教师信息,然后依次插入教师的所有信息,最后打印链表里的记录,添加教师信息如图7所示。

7添加教师信息界面
页脚内容
-20-

《高校教师信息管理系统》
3.5查找并修改教师信息界面
首先将之前输入进去的教师信息进行保存,然后退出系统,再打开系统,查找要修改的教师信息,然后进行教师数据的修改。查找并修改教师信息如图8和图9所示。

8查找教师信息界面

9修改教师信息界面
页脚内容
-20-

《高校教师信息管理系统》
3.6删除教师信息
首先选择4-删除工资信息,然后根据提示选择要删除的信息。删除教师信息如图10所示。

10删除教师信息界面3.7查找教师工资信息
首先选择5-查找工资信息,然后选择查找的方式进行查找,查找教师信息如图11所示。

11查找教师工资信息界面
页脚内容
-20-

《高校教师信息管理系统》
3.8分类信息查找
选择功能6-分类信息列表,选择列表的方式,分类信息查找如图12所示。

12分类信息查找界面
页脚内容
-20-

《高校教师信息管理系统》

三、结论(应当准确、完整、明确精练;也可以在结论或讨论中提出建议、设想、尚待解决问题等。)
持续一个学期的课程设计给了我太多的感触,开始从题目上看,感觉题目很大,设计量很大,也很复杂,感觉不是简单的就能解决的。这样只用重新拾起书继续来看,获得新的知识和巩固以前的C方面的知识。提升自己的能力。整个程序的设计是分模块实现具体的功能,每个模块分别由不同的函数构成。链表的建立实现输入信息的功能,相比较于数组更加方便,更能够节省内存空间等。通过使用文件freadfwrite函数方便的将数据信息写入文件以及将文件中的信息载入显示段。通过这个学期的课程设计的练习与设计我学会了很多,也更加熟悉C语言程序设计,从中得到了很多乐趣,很快乐,感觉C语言的世界里面奇妙无比。
虽然在途中也遇到很多的困难,但是还是通过问同学和学长解决了。最后看到自己设计的程序能够运行起来特别的开心。
这次的程序设计很有意义,也很锻炼人的能力,特别是C语言方面的能力,为自己在C语言方面打下基础。
四、参考文献
[1]梁旭,谷晓琳,黄明等编著.C语言课程设计(第2版).北京:电子工业出版社.2009.[2]苏小红,陈惠鹏,孙志岗等编著.C语言大学实用教程(2.北京:电子工业出版.2007.

页脚内容
-20-

《高校教师信息管理系统》
五、指导教师评语
签名:



课程设计成绩(五级分制)

页脚内容
-20-

本文来源:https://www.2haoxitong.net/k/doc/3f3775768662caaedd3383c4bb4cf7ec4bfeb6e1.html

《教师信息管理系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式