课程设计报告课程名称C语言程序设计课题名称教师评价系统数据库管理系统设计专业自动化班级学号姓名指导教师湖南工程学院课程设计任务书课程名称C语言程序设计课题教师评价系统数据库管理系统设计专业班级自动化1602学生姓名学号指导老师审批任务书下达日期2016 年12 月19 日任务完成日期2016年12 月30 日一、设计内容与设计要求1.设计内容:数据库管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。
③掌握并熟练运用C语言的图形处理功能和库函数的应用。
④掌握数组的基本概念。
熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。
⑤掌握结构的概念,结构类型的定义,结构变量的定义和初始化,结构成员的表示,结构的赋值含义,结构与指针、函数的关系。
⑥掌握基本的文件操作。
题目5:教师评价系统输入教师评价信息,提供新增、修改和显示等功能。
成绩单如下:教师编号:long 4bytes教师姓名:char 20bytes教师评分:int 4bytes总分:int 2bytes名次:float 4bytes等级:char 8bytes系统功能模块如下:(1) 建立教师评价数据库;(2) 菜单实现以下功能:①计算每个教师的总成绩;②按总成绩排定教师名次;③给教师评定等级(85以上优秀,60~84合格,60以下不合格)④新增一个教师信息进行评价⑤按教师编号查询教师评价信息;2.设计要求:1)要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有内容;2)要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过程和算法,给出程序流程图和全部源程序;3)设计报告的完整格式应包括以下部分的内容:①设计总体思路;②总体模块框图;③各个程序模块说明;④程序流程图;⑤程序清单;⑥课程设计总结与体会(不少于400字)。
4)上机时要求必到,设计完成,必须演示程序,答辩并提交设计报告。
5)总评成绩由三部分组成:报告占20%,平时占20%,课程设计题目各占30%。
二、进度安排附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)。
目录一、程序设计的总体思路 (1)1.1程序的功能二、各个模块三、主要功能的实现3.1主函数模块void main()3.2显示模块 void disp()3.3求和模块 void count()3.4分级模块 void sort()3.5追加模块 void appe()3.6修改模块 void modi()3.7查询模块 void query()3.8排序模块void mc ()3.9退出模块 void exit()四、程序调试及运行4.1.主函数void main4.2 显示模块调试 void disp()4.3求和模块调试 void count()\4.4分级模块调试void sort()4.5追加模块调试void appe()4.6修改模块调试 void modi()4.7查询模块调试 void query()4.8排序模块调试 void mc()4.9退出模块 void exit()五、课程设计总结与体会六、附件一、程序设计的总体思路1.1程序的功能该程序利用主函数的swich函数来调用各个模块的功能。
switch(choice){case 1:Input();break; (输入模块)case 2:Disp();break; (显示模块)case 3:Count();break; (求和模块)case 4:Sort();break; (分级模块)case 5:Append();break; (追加模块)case 6:Query();break; (查询模块)case 7:Modify();break; (修改模块)case 8:mc();break; (排序模块)case 0:exit(0); (退出模块)}二、各个模块。
三、主要功能的实现3.1 void main主函数模块void main(){int choice;menu:printf("\t\t\t1.Input teacher's information\n");printf("\t\t\t2.Display teacher's information\n");printf("\t\t\t3.Count\n");printf("\t\t\t4.Sort\n");printf("\t\t\t5.Append a teacher's information\n");printf("\t\t\t6.Query a teacher information\n");printf("\t\t\t7.Modify teacher's intformation\n");printf("\t\t\t8.mc \n");printf("\t\t\t0.Exit system\n\n");printf("\t\t\tPlease enter choice(0~8)");scanf("%d",&choice);switch(choice){case 1:Input();break;case 2:Disp();break;case 3:Count();break;case 4:Sort();break;case 5:Append();break;case 6:Query();break;case 7:Modify();break;case 8:mc();break;case 0:exit(0);}if(choice<0||choice>8)printf("\n\n\n\t\tplease choose again!\n\n"); goto menu;}3.2 void Disp显示模块void Disp(){int i;printf("************************************************************\n");printf("Num Name Sco1 Sco2 Sco3 Sum Mc Grade\n");printf("************************************************************\n");for(i=0;i<size;i++)printf("%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5s\n",s[i].num,s[i].name,s[i].sc o[0],s[i].sco[1],s[i].sco[2],s[i].sum,s[i].mc,s[i].grade);printf("************************************************************\n");}void Count(){int i;for(i=0;i<size;i++){s[i].sum=s[i].sco[0]+s[i].sco[1]+s[i].sco[2];}Disp();}3.3 void count求和模块void Count(){int i;for(i=0;i<size;i++){s[i].sum=s[i].sco[0]+s[i].sco[1]+s[i].sco[2];}Disp();3.4 void sort 分级模块void Sort(){int i;for(i=0;i<size;i++){if(s[i].sum>=85)strcpy(s[i].grade,"优秀");if(s[i].sum>60&&s[i].sum<85)strcpy(s[i].grade,"合格");if(s[i].sum<=60)strcpy(s[i].grade,"不及格");}Disp();3.5 void appe 追加模块v oid Append(){int n,i,j;printf(" ----------------\n");printf(" | 是否新增: |\n");printf(" | 1确定 2取消 |\n");printf(" -----------------");scanf("%d",&n);if(n==1){printf(" 请输入新增个数\n");printf(" ****************\n");scanf("%d",&i);printf(" 编号姓名 sco0 sco1 sco2 \n ");printf("***********************************\n");for(j=0;j<i;j++){scanf("%ld%s%d%d%d",&s[size].num,s[size].name,&s[size].sco[0],&s[size].sco[ 1],&s[size].sco[2]);printf("%ld %s %d %d %d\n",s[size].num,s[size].name,s[size].sco[0],s[size]. sco[1],s[size].sco[2]);size++;}printf(" ~~~~~~~~~~~~~~~~~~\n");printf(" | 新增成功 |\n");printf(" ~~~~~~~~~~~~~~~~~~\n");}if(n==2)printf("\n");3.6 void modi 修改模块void Modify(){int n,m;long int num;printf(" ***********************\n");printf(" * 请输入教师编号: *\n");printf(" ***********************\n");scanf("%ld",&num);for(n=0;n<size;n++)if(s[n].num==num)break;if(n!=size){printf("************************************************************\n"); printf(" sco0 sco1 sco2\n");scanf("%d%d%d",&s[n].sco[0],&s[n].sco[1],&s[n].sco[2]);}else if(n==size){printf(" ***********************************\n");printf(" * 输入编号不存在,请重新输入 *\n");printf(" ***********************************\n");}{printf(" ***************************\n");printf(" * 是否继续查询: *\n");printf(" * 1 是 2 否 *\n");printf(" ***************************\n");scanf("%d",&m);if(m==1)Modify();if(m==2)printf("\n");}Disp();3.7 void query 查询模块void Query(){int n,m;long int num;printf(" ************************\n");printf(" * 请输入教师编号: *\n");printf(" ************************\n");scanf("%ld",&num);for(n=0;n<size;n++)if( s[n].num==num)break;if(n!=size){printf("Num Name Sco1 Sco2 Sco3 Sum Mc Grade\n");printf("%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5s\n",s[n].num,s[n].name,s[n].sc o[0],s[n].sco[1],s[n].sco[2],s[n].sum,s[n].mc,s[n].grade);}else if(n==size){printf(" ***********************************\n");printf(" * 输入编号不存在,请重新输入 *\n");printf(" ***********************************\n");}{printf(" ***************************\n"); printf(" * 是否继续查询: *\n"); printf(" * 1 是 2 否 *\n"); printf(" ***************************\n"); scanf("%d",&m);if(m==1)Query();if(m==2)printf("\n");}Disp();3.8 void mc 排序模块void mc(){struct teacher p1;int i,j;for(i=0;i<size-1;i++)for(j=i+1;j<size;j++)if(s[i].sum<s[j].sum){p1=s[i];s[i]=s[j];s[j]=p1;}for(i=0;i<size;i++)s[i].mc=i+1;Disp();}四、程序调试及运行4.1 主函数 void main ()4.2显示模块 void disp()4.3求和模块 void count()4.4分级模块 void sort()4.5追加模块 void appe()4.6 修改模块 void modi()4.7 查询模块 void query()4.8退出模块 void exit()六、课程设计总结与体会在科技高度发展的今天,计算机在人们之中的作用越来越突出。