自动化C语言课程设计任务书.docx
- 文档编号:5195842
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:25
- 大小:138.58KB
自动化C语言课程设计任务书.docx
《自动化C语言课程设计任务书.docx》由会员分享,可在线阅读,更多相关《自动化C语言课程设计任务书.docx(25页珍藏版)》请在冰豆网上搜索。
自动化C语言课程设计任务书
课程设计报告
课程名称C语言程序设计
课题名称教师评价系统数据库管理系统设计
专业自动化
班级1602班
学号***********
姓名**
指导教师******
2016年12月19日
湖南工程学院
课程设计任务书
课程名称C语言程序设计
课题教师评价系统数据库管理系统设计
专业班级自动化1602
学生姓名**
学号***
指导老师****
审批
任务书下达日期2016年12月19日
任务完成日期2016年12月30日
一、设计内容与设计要求
1.设计内容:
数据库管理系统设计
涉及的知识点:
①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;
②掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。
③掌握并熟练运用C语言的图形处理功能和库函数的应用。
④掌握数组的基本概念。
熟练掌握一维数组、二维数组的应用、掌握字符数组
与字符串的关系以及字符串的简单处理。
⑤掌握结构的概念,结构类型的定义,结构变量的定义和初始化,结构成员的表示,结构的赋值含义,结构与指针、函数的关系。
⑥掌握基本的文件操作。
题目5:
教师评价系统
输入教师评价信息,提供新增、修改和显示等功能。
成绩单如下:
教师编号:
long4bytes
教师姓名:
char20bytes
教师评分:
int4bytes
总分:
int2bytes
名次:
float4bytes
等级:
char8bytes
系统功能模块如下:
(1)建立教师评价数据库;
(2)菜单实现以下功能:
①计算每个教师的总成绩;
②按总成绩排定教师名次;
③给教师评定等级(85以上优秀,60~84合格,60以下不合格)
④新增一个教师信息进行评价
⑤按教师编号查询教师评价信息;
2.设计要求:
1)要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有内容;
2)要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过程和算法,给出程序流程图和全部源程序;
3)设计报告的完整格式应包括以下部分的内容:
1设计总体思路;
2总体模块框图;
3各个程序模块说明;
4程序流程图;
5程序清单;
6课程设计总结与体会(不少于400字)。
4)上机时要求必到,设计完成,必须演示程序,答辩并提交设计报告。
5)总评成绩由三部分组成:
报告占20%,平时占20%,课程设计题目各占30%。
二、进度安排
星期
1~2节
3~4节
5~6节
7~8节
晚上
17周星期六
上机编程
17周星期日
上机编程
18周星期二
上机编程
18周星期三
上机编程、答辩
附:
课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:
一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)。
一、程序设计的总体思路............................1
1.1程序的功能
二、各个模块
三、主要功能的实现
3.1主函数模块voidmain()
3.2显示模块voiddisp()
3.3求和模块voidcount()
3.4分级模块voidsort()
3.5追加模块voidappe()
3.6修改模块voidmodi()
3.7查询模块voidquery()
3.8排序模块voidmc()
3.9退出模块voidexit()
四、程序调试及运行
4.1.主函数voidmain
4.2显示模块调试voiddisp()
4.3求和模块调试voidcount()\
4.4分级模块调试voidsort()
4.5追加模块调试voidappe()
4.6修改模块调试voidmodi()
4.7查询模块调试voidquery()
4.8排序模块调试voidmc()
4.9退出模块voidexit()
五、课程设计总结与体会
六、附件
一、程序设计的总体思路
1.1程序的功能
该程序利用主函数的swich函数来调用各个模块的功能。
switch(choice)
{
case1:
Input();break;(输入模块)
case2:
Disp();break;(显示模块)
case3:
Count();break;(求和模块)
case4:
Sort();break;(分级模块)
case5:
Append();break;(追加模块)
case6:
Query();break;(查询模块)
case7:
Modify();break;(修改模块)
case8:
mc();break;(排序模块)
case0:
exit(0);(退出模块)
}
二、各个模块
。
开始
主函数
从磁盘中获得数据
排序模块
显示模块
求和模块
追加模块
修改模块
查询模块
退出模块
把数据写入磁盘中
结束
排序模块
三、主要功能的实现
3.1voidmain主函数模块
voidmain()
{
intchoice;
menu:
printf("\t\t\t1.Inputteacher'sinformation\n");
printf("\t\t\t2.Displayteacher'sinformation\n");
printf("\t\t\t3.Count\n");
printf("\t\t\t4.Sort\n");
printf("\t\t\t5.Appendateacher'sinformation\n");
printf("\t\t\t6.Queryateacherinformation\n");
printf("\t\t\t7.Modifyteacher'sintformation\n");
printf("\t\t\t8.mc\n");
printf("\t\t\t0.Exitsystem\n\n");
printf("\t\t\tPleaseenterchoice(0~8)");
scanf("%d",&choice);
switch(choice)
{
case1:
Input();break;
case2:
Disp();break;
case3:
Count();break;
case4:
Sort();break;
case5:
Append();break;
case6:
Query();break;
case7:
Modify();break;
case8:
mc();break;
case0:
exit(0);
}
if(choice<0||choice>8)printf("\n\n\n\t\tpleasechooseagain!
\n\n");
gotomenu;
}
3.2voidDisp显示模块
voidDisp()
{inti;
printf("************************************************************\n");
printf("NumNameSco1Sco2Sco3SumMcGrade\n");
printf("************************************************************\n");
for(i=0;i printf("%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5s\n",s[i].num,s[i].name,s[i].sco[0],s[i].sco[1],s[i].sco[2],s[i].sum,s[i].mc,s[i].grade); printf("************************************************************\n"); } voidCount() { inti; for(i=0;i { s[i].sum=s[i].sco[0]+s[i].sco[1]+s[i].sco[2]; } Disp(); } 3.3voidcount求和模块 voidCount() { inti; for(i=0;i { s[i].sum=s[i].sco[0]+s[i].sco[1]+s[i].sco[2]; } Disp(); 3.4voidsort分级模块 voidSort() { inti; for(i=0;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.5voidappe追加模块 voidAppend() { intn,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("编号姓名sco0sco1sco2\n"); printf("***********************************\n"); for(j=0;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.6voidmodi修改模块 voidModify() { intn,m; longintnum; printf("***********************\n"); printf("*请输入教师编号: *\n"); printf("***********************\n"); scanf("%ld",&num); for(n=0;n if(s[n].num==num)break; if(n! =size) { printf("************************************************************\n"); printf("sco0sco1sco2\n"); scanf("%d%d%d",&s[n].sco[0],&s[n].sco[1],&s[n].sco[2]); } elseif(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.7voidquery查询模块 voidQuery() { intn,m; longintnum; printf("************************\n"); printf("*请输入教师编号: *\n"); printf("************************\n"); scanf("%ld",&num); for(n=0;n if(s[n].num==num)break; if(n! =size) { printf("NumNameSco1Sco2Sco3SumMcGrade\n"); printf("%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5s\n",s[n].num,s[n].name,s[n].sco[0],s[n].sco[1],s[n].sco[2],s[n].sum,s[n].mc,s[n].grade); } elseif(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.8voidmc排序模块 voidmc() { structteacherp1; inti,j; for(i=0;i for(j=i+1;j if(s[i].sum { p1=s[i]; s[i]=s[j]; s[j]=p1; } for(i=0;i s[i].mc=i+1; Disp(); } 四、程序调试及运行 4.1主函数voidmain() 4.2显示模块voiddisp() 4.3求和模块voidcount() 4.4分级模块voidsort() 4.5追加模块voidappe() 4.6修改模块voidmodi() 4.7查询模块voidquery() 4.8退出模块voidexit() 六、课程设计总结与体会 在科技高度发展的今天,计算机在人们之中的作用越来越突出。 而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。 在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。 在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。 上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。 对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。 同时它让我知道,只要你努力,任何东西都不会太难。 七、附件 #include"stdio.h" #include"string.h" #include"math.h" #include"stdlib.h" intsize=0; structteacher {longintnum; charname[20]; intsco[3]; intsum; intmc; chargrade[8]; }; structteachers[100]; voidInput() {FILE*fp; intn=0; fp=fopen("f: \\1.txt","r"); while(fscanf(fp,"%ld%s%d%d%d\n",&s[n].num,s[n].name,&s[n].sco[0],&s[n].sco[1],&s[n].sco[2])! =EOF) { n++; } fclose(fp); size=n; } voidDisp() {inti; printf("************************************************************\n"); printf("NumNameSco1Sco2Sco3SumMcGrade\n"); printf("************************************************************\n"); for(i=0;i printf("%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5s\n",s[i].num,s[i].name,s[i].sco[0],s[i].sco[1],s[i].sco[2],s[i].sum,s[i].mc,s[i].grade); printf("************************************************************\n"); } voidCount() { inti; for(i=0;i { s[i].sum=s[i].sco[0]+s[i].sco[1]+s[i].sco[2]; } Disp(); } voidSort() { inti; for(i=0;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(); } voidAppend() { intn,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("编号姓名sco0sco1sco2\n"); printf("***********************************\n"); for(j=0;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"); } voidModify() { intn,m; longintnum; printf("***********************\n"); printf("*请输入教师编号: *\n"); printf("***********************\n"); scanf("%ld",&num); for(n=0;n if(s[n].num==num)break; if(n! =size) { printf("***************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化 语言 课程设计 任务书