1、课 程 设 计 报 告课程名称 C语言程序设计 课题名称 教师评价系统 数据库管理系统设计 专 业 自动化 班 级 学 号 姓 名 指导教师 湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计 课 题 教师评价系统数据库管理系统设计 专业班级 自动化1602 学生姓名 学 号 指导老师 审 批 任务书下达日期 2016 年 12 月 19 日任务完成日期 2016年 12 月 30 日一、设计内容与设计要求1设计内容:数据库管理系统设计涉及的知识点:掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数
2、之间的关系;掌握变量的作用域与生存期,了解函数的作用域。掌握并熟练运用C语言的图形处理功能和库函数的应用。掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。掌握结构的概念,结构类型的定义,结构变量的定义和初始化,结构成员的表示,结构的赋值含义,结构与指针、函数的关系。掌握基本的文件操作。题目5:教师评价系统输入教师评价信息,提供新增、修改和显示等功能。 成绩单如下:教师编号:long 4bytes教师姓名: char 20bytes教师评分:int 4bytes总分:int 2bytes名次:float 4bytes等级: char 8byt
3、es系统功能模块如下:(1) 建立教师评价数据库;(2) 菜单实现以下功能:计算每个教师的总成绩;按总成绩排定教师名次;给教师评定等级(85以上优秀,6084合格,60以下不合格)新增一个教师信息进行评价按教师编号查询教师评价信息;2设计要求:1) 要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有内容;2) 要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过程和算法,给出程序流程图和全部源程序;3) 设计报告的完整格式应包括以下部分的内容: 设计总体思路; 总体模块框图; 各个程序模块说明; 程序流程图; 程序清单; 课程设计总结与体会(不少于400字)。4) 上
4、机时要求必到,设计完成,必须演示程序,答辩并提交设计报告。5) 总评成绩由三部分组成:报告占20%,平时占20%,课程设计题目各占30%。二、进度安排星 期 1 2 节3 4 节5 6 节7 8 节晚上17周星期六上机编程17周星期日上机编程18周星期二上机编程18周星期三上机编程、答辩 附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四
5、、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。目录 一、 程序设计的总体思路.11.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 main
6、 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 mc()4.9退出模块 void exit()五、课程设计总结与体会六、附件一、 程序设计的总体思路1.1 程序的功能该程序利用主函数的swich函数来调用各个模块的功能。switch(choice) case 1:Input();break; (输入模块) case 2:Disp();break; (显示模块)
7、 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
8、()int choice; menu: printf(ttt1.Input teachers informationn); printf(ttt2.Display teachers informationn); printf(ttt3.Countn); printf(ttt4.Sortn); printf(ttt5.Append a teachers informationn); printf(ttt6.Query a teacher informationn); printf(ttt7.Modify teachers intformationn); printf(ttt8.mc n); pr
9、intf(ttt0.Exit systemnn); printf(tttPlease enter choice(08); 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(choice8)printf
10、(nnnttplease choose again!nn); goto menu;3.2 void Disp显示模块void Disp()int i;printf( *n);printf(Num Name Sco1 Sco2 Sco3 Sum Mc Graden);printf( *n);for(i=0;isize;i+)printf(%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5sn,si.num,si.name,si.sco0,si.sco1,si.sco2,si.sum,si.mc,si.grade);printf( *n);void Count()int i;for
11、(i=0;isize;i+)si.sum=si.sco0+si.sco1+si.sco2;Disp();3.3 void count求和模块void Count()int i;for(i=0;isize;i+)si.sum=si.sco0+si.sco1+si.sco2;Disp();3.4 void sort 分级模块void Sort()int i;for(i=0;i=85)strcpy(si.grade,优秀);if(si.sum60&si.sum85)strcpy(si.grade,合格);if(si.sum=60)strcpy(si.grade,不及格);Disp();3.5 voi
12、d appe 追加模块void 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;ji;j+) scanf(%ld%s%d%d%d,&ssize.num,ssize.name,&ssize.sco0,&ssize.sco1,&ssize.s
13、co2); printf(%ld %s %d %d %dn,ssize.num,ssize.name,ssize.sco0,ssize.sco1,ssize.sco2); 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;nsize;n+) if(sn.num=num
14、)break; if(n!=size) printf( *n); printf( sco0 sco1 sco2n); scanf(%d%d%d,&sn.sco0,&sn.sco1,&sn.sco2); 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
15、.7 void query 查询模块void Query()int n,m;long int num;printf( *n);printf( * 请输入教师编号: *n);printf( *n);scanf(%ld,&num);for(n=0;nsize;n+) if(sn.num=num)break;if(n!=size)printf(Num Name Sco1 Sco2 Sco3 Sum Mc Graden);printf(%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5sn,sn.num,sn.name,sn.sco0,sn.sco1,sn.sco2,sn.sum,sn
16、.mc,sn.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;isize-1;i+) for(j=i+1;jsize;j
17、+)if(si.sumsj.sum)p1=si;si=sj;sj=p1;for(i=0;isize;i+)si.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()六、课程设计总结与体会在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我
18、们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。通过这次为数不多的几天计算机实践学习,我
19、们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。七、附件#include stdio.h#include string.h#include math.h#include stdlib.hint size=0;struct teacherlong int num; char name20; int sco3; int sum; int mc; char grade8;struct teacher s100;void Input()FILE *fp; int n=0; fp=fopen(f:1.t
20、xt,r); while(fscanf(fp,%ld %s %d %d %dn,&sn.num,sn.name,&sn.sco0,&sn.sco1,&sn.sco2)!=EOF) n+; fclose(fp);size=n;void Disp()int i;printf( *n);printf(Num Name Sco1 Sco2 Sco3 Sum Mc Graden);printf( *n);for(i=0;isize;i+)printf(%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5sn,si.num,si.name,si.sco0,si.sco1,si.sco2,si
21、.sum,si.mc,si.grade);printf( *n);void Count()int i;for(i=0;isize;i+)si.sum=si.sco0+si.sco1+si.sco2;Disp();void Sort()int i;for(i=0;i=85)strcpy(si.grade,优秀);if(si.sum60&si.sum85)strcpy(si.grade,合格);if(si.sum=60)strcpy(si.grade,不及格);Disp();void Append() int n,i,j; printf( -n); printf( | 是否新增: |n); pri
22、ntf( | 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;ji;j+) scanf(%ld%s%d%d%d,&ssize.num,ssize.name,&ssize.sco0,&ssize.sco1,&ssize.sco2); printf(%ld %s %d %d %dn,ssize.num,ssize.name,ssize.sco0,ssize.sco1,
23、ssize.sco2); size+; printf( n);printf( | 新增成功 |n);printf( n);if(n=2)printf(n); void Modify()int n,m;long int num;printf( *n);printf( * 请输入教师编号: *n);printf( *n); scanf(%ld,&num); for(n=0;nsize;n+) if(sn.num=num)break; if(n!=size) printf( *n); printf( sco0 sco1 sco2n); scanf(%d%d%d,&sn.sco0,&sn.sco1,&
24、sn.sco2); 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();void Query()int n,m;long int num;printf( *n);printf( * 请输入教师编号: *n);printf( *n);scanf(%ld,&n
25、um);for(n=0;nsize;n+) if(sn.num=num)break;if(n!=size)printf(Num Name Sco1 Sco2 Sco3 Sum Mc Graden);printf(%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5sn,sn.num,sn.name,sn.sco0,sn.sco1,sn.sco2,sn.sum,sn.mc,sn.grade); else if(n=size) printf( *n);printf( * 输入编号不存在,请重新输入 *n);printf( *n); printf( *n); printf( * 是否继
26、续查询: *n); printf( * 1 是 2 否 *n); printf( *n); scanf(%d,&m); if(m=1) Query(); if(m=2)printf(n); Disp();void mc()struct teacher p1;int i,j;for(i=0;isize-1;i+) for(j=i+1;jsize;j+)if(si.sumsj.sum)p1=si;si=sj;sj=p1;for(i=0;isize;i+)si.mc=i+1;Disp();void main()int choice; menu: printf(ttt1.Input teachers
27、informationn); printf(ttt2.Display teachers informationn); printf(ttt3.Countn); printf(ttt4.Sortn); printf(ttt5.Append a teachers informationn); printf(ttt6.Query a teacher informationn); printf(ttt7.Modify teachers intformationn); printf(ttt8.mc n); printf(ttt0.Exit systemnn); printf(tttPlease ente
28、r choice(08); 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(choice8)printf(nnnttplease choose again!nn); goto menu;计算机与通信学院课程设计评分表课题名称: 数据库管理系统设计 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩 教师签名: 日 期:
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100