1、综合评定系统 C语言课程设计报告 (2010 —— 2011 年度第2学期) 题 目 综合测评系统 院 系 电气信息学院 专 业 计算机科学技术 年 级 2010级 指 导 教 师 颜 烨 组 员 黄欢 王雅 2011年 7 月 1 日 总成绩 教师签名
2、 第 168 页 共 168 页 目 录 一、问题要求及任务描述…………………………………4 1.1 题目要求………………………………………………4 1.2 主要任务………………………………………………4 二、总体设计…… 2.1 程序流程图…………………………………………… 三、详细设计……………………………………………… 3.1 数据编码设计………………………………………… 3.2 功能设计……………………………………………… 3.3 系统运行环境………………………………………… 四、程序清单和执
3、行结果………………………………… 4.1 菜单函数……………………………………………… 4.2 输入函数……………………………………………… 4.3 输出函数……………………………………………… 4.4 查询函数……………………………………………… 4.5 修改函数……………………………………………… 4.6 存储函数……………………………………………… 4.7 排名函数……………………………………………… 4.8 另增函数……………………………………………… 4.9 删除函数……………………………………………… 五、调试与测试…………………………………………… 5.1
4、调试中的错误………………………………………… 5.2 测试中的错误………………………………………… 六、程序设计总结和结论………………………………… 七、参考文献……………………………………………… 八、小组成员分工说明…………………………………… 《综合测评系统》 一、问题要求及任务描述 1.1题目要求 测算每个同学的期末平均加权成绩和综合评定的总分。 1.2 设计要求 测出每个同学的期末平均加权成绩和综合评定的总分,对同学的各门测评成绩的输入,输出,查询,删除,修改,增加,存储,导入,排名。 二、总体设计 select() 流程图:
5、 开始 YES n=1 n=2 select1() select2() 关于 结束 NO 进入 退出 n=4 n=3 输入n NO NO YES YES YES 3.1数据编码设计 struct cj1 { int num; char name[9]; double score[12]; }a[21]; struct cj2 { int num; char name[9]; double
6、 score[12]; }b[21];3.2功能设计 1. 菜单函数 void select1(); void select2(); select1() 程序流程图如下: YES YES YES YES YES YES YES NO NO NO NO NO NO NO n=1 输入n 输入 n=2 输出 n=3 查询修 改
7、 n=4 n=6 储存 n=8 导入 n=5 删除 另增 返回至select1() 进入 开始 n=7 YES YES n=9 排名 退出 NO 2. 输入函数 [void input1 ();] 程序流程图: 开始 进入 NO YES NO YES n=1 输入n 学号 姓名 C语言 英语 高数 线代
8、 结束 计导 是否输入成绩 n=0 退出 YES NO 开始 [void input2 ();] 进入 NO YES YES NO n=1 输入n 学号 姓名 辅导员分 加权 操行 思政 结束 体育 是否输入成绩 n=0 退出 YES NO 心理 社会工作 获奖 学术 奖惩 3. 输出函数 [void shuchu1();]
9、 输出 高数 线性 加权分 C语言 英语 返回至select1() 学号 开始 进入 姓名 计导 平均分 [void shuchu2();] 输出 辅导员分 加权 学术 体育 心理 返回至 select2() 操行 开始 进入 思政 社会 奖励 学号 奖惩 总分 姓名 4. 查询函数 [void
10、 chaxun1();] YES YES YES YES NO NO k=1 输入k 按学号查询及修改 k=2 按姓名查询及修改 k=3 按平均分查询及修改 k=4 返回至select1() 进入 开始 NO NO xmchaxun1() pjchaxun1() xhchaxun1() void xhchaxun1() 开始 进入 输入x NO
11、YES x==a[j].num output1() chaxun1() YES NO n==1 xiugai1() chaxun1() void xmchaxun1() YES NO 输入x 进入 开始 strcmp(a[i].name,x)==0 output1() n==1 xiugai1() YES
12、 chaxun1() chaxun1() NO void pjchaxun1() YES NO 输入x 进入 开始 x==a[i].score[6] output1() n==1 xiugai1() YES chaxun1() chaxun1() NO 5. 修改函数 [void xiugai1()]
13、 YES YES YES YES YES YES YES NO NO NO NO NO NO n=1 输入k 学号修改 n=2 姓名修改 n=3 高数修 改 n=4 n=6 英语修改 n=8 计导修改 n=5 线代修改 c语言修改 返回至select1() 进入 开始 n=7 YES NO NO 6. 排序函数 [void paiming1();]
14、 返回至select1() 进入 开始 7. 删除函数 [void shanchu1();] YES YES YES NO NO k=1 输入k 按学号删除 k=2 按姓名删除 k=3 返回至select1() 进入 开始 NO 8. 另增函数 [void lingzeng1();]
15、 YES YES NO NO n=0 输入n n=1 input1() 返回至select1() 进入 开始 9. 存储函数 [void load1();] 进入 开始 返回至select1() 10. 导入函数 [void read1();] 进入 开始 返回至select1() 3.3系统运行环境与数据库设计 Micro
16、soft Visual C++6.0
四、源程序清单和执行结果:
#include
17、 select(); /*选择菜单函数的声明********/ void select1(); /*选择菜单函数1的声明*******/ void select2(); /*选择菜单函数2的声明*******/ void input1(); /*输入功能函数1的声明*******/ void input2(); /*输入功能函数2的声明*******/ void output1(); /*输出功能函数1的声明*******/ void output2(); /*输出功能函数2的声明*******/ void load1
18、); /*储存功能函数1的声明*******/ void load2(); /*储存功能函数2的声明*******/ void read1(); /*导入功能函数1的声明*******/ void read2(); /*导入功能函数2的声明*******/ void chaxun1(); /*查寻功能函数1的声明*******/ void xhchaxun1(); /*学号查寻功能函数1的声明***/ void xmchaxun1(); /*姓名查寻功能函数1的声明***/ void pjchaxun1();
19、/*平均分查寻功能函数1的声明*/ void chaxun2(); /*查寻功能函数2的声明*******/ void xhchaxun2(); /*学号查询功能函数2的声明***/ void xmchaxun2(); /*姓名查询功能函数2的声明***/ void pjchaxun2(); /*平均分查询功能函数2的声明*/ void xiugai1(); /*修改功能函数1的声明*******/ void xiugai2(); /*修改功能函数2的声明*******/ void paiming1(); /*排名功能函数1的声明****
20、/ void paiming2(); /*排名功能函数2的声明*******/ void lingzeng1(); /*另增功能函数1的声明*******/ void lingzeng2(); /*另增功能函数2的声明*******/ void shanchu1(); /*删除功能函数1的声明*******/ void shanchu2(); /*删除功能函数2的声明*******/ void guanyu(); /*关于功能函数的声明********/ 4.1 void main() { select(); }
21、void select() { int n; system("cls"); printf("---------------------------------------------------------------------------------------------------------\n"); printf("- ****** 学生成综合素质测评系统 ****** -\n"); printf("-
22、 -\n"); printf("- 1.学生科学文化素质(期末加权平均成绩)系统 -\n"); printf("- 2.城科学生综合素质测评系统
23、 -\n"); printf("- 3.关于 -\n"); printf("- 4.退出 -\n"); printf("------------------------------------------
24、\n"); printf("请你输入你的选择(1--3):"); scanf("%d",&n); while(!(n>=1 && n<=4)) { printf("输入错误,请重新输入你的选择:"); scanf("%d",&n); } switch(n) { case 1: select1();break; case 2: select2();break; case 3: guanyu();b
25、reak; case 4:exit(0); break; } } /***************选择界面*******************************************************************************************选择界面**************************/ void select2() { int n; system("cls"); printf("----------------------------------------------
26、\n"); printf("- 欢迎来到城科学生综合素质测评系统 -\n"); printf("- -\n"); printf(
27、"- 1.输入各测评成绩 -\n"); printf("- 2.输出各测评成绩 -\n"); printf("- 3.查询及修改成绩
28、 -\n"); printf("- 4.删除成绩 -\n"); printf("- 5.另增成绩 -\n"); printf("-
29、 6.成绩存储 -\n"); printf("- 7.成绩导入 -\n"); printf("- 8.进入排名表
30、 -\n"); printf("- 9.退出程序 -\n"); printf("---------------------------------------------------------------------------------------------------------\n"); printf("请你输入你的选择(1--9):"); scanf("%
31、d",&n); while(!(n>=1 && n<=9)) { printf("输入错误,请重新输入你的选择:"); scanf("%d",&n); } switch(n) { case 1: input2();select2();break; case 2: output2();select2();break; case 3: chaxun2();break; case 4: shanchu2();select2();break; case 5: lingzeng2();select2();break; cas
32、e 6: load2();select();break; case 7: read2();select();break; case 8:paiming2();select2();break; case 9:select();break; } } --储存完毕! v
33、oid select1() { int n; system("cls"); printf("---------------------------------------------------------------------------------------------------------\n"); printf("- 欢迎来到城科学生科学文化素质系统 -\n"); printf("-
34、 -\n"); printf("- 1.输入成绩 -\n"); printf("- 2.输出成绩
35、 -\n"); printf("- 3.查询及修改成绩 -\n"); printf("- 4.删除成绩 -\n"); printf("-
36、 5.另增成绩 -\n"); printf("- 6.成绩存储 -\n"); printf("- 7.成绩导入
37、 -\n"); printf("- 8.退出程序 -\n"); printf("- 9.进入排名表 -\n"); printf("---------------------------------------------
38、\n"); printf("请你输入你的选择(1--9):"); scanf("%d",&n); while(!(n>=1 && n<=9)) { printf("输入错误,请重新输入你的选择:"); scanf("%d",&n); } switch(n) { case 1: input1();select1();break; case 2: output1();select1();break; ca
39、se 3: chaxun1();break; case 4: shanchu1();select1();break; case 5: lingzeng1();select1();break; case 6: load1();select();break; case 7: read1();select();break; case 8:select(); break; case 9:paiming1();select1();break; } } void guanyu() { int n; system("cls");
40、printf("---------------------------------------------------------------------------------------------------------\n"); printf("- ---------- ——————关于———— -------- -\n"); printf("-
41、 -\n"); printf("- 1.关于作者 -\n"); printf("- 2.关于本次程序设计实践的感想 -\n"); printf("-
42、 3.关于其他 -\n"); printf("- 4.退出 -\n"); printf("--------------------------------------------------------------------------------
43、\n"); printf("请你输入你的选择(1--4):"); scanf("%d",&n); while(!(n>=1 && n<=4)) { printf("输入错误,请重新输入你的选择:"); scanf("%d",&n); } switch(n) { case 1: { system("cls"); printf(" \n"); printf(" \n"); printf(" \n"); printf(" \n")
44、 printf(" 本次的程序设计实践的作者:黄欢 王雅\n"); printf(" 有任何意见或疑问请致电15310839481 黄先生\n"); system("pause"); select(); printf(" \n"); }break; case 2: { system("cls"); printf(" \n"); printf(" \n"); printf(" \n
45、"); printf(" \n"); printf(" 一转眼这一学期就过去了,我们的大一生活很快画上了一个句号.看看现在那些冲忙准备行李,为各自的前程\n"); printf(" 到处奔走的学哥学姐么,我不禁感叹,时间匆匆的过,倘若你在这四年里,真的没有学到该学的东西,那你会失去\n"); printf(" 很多。记得上学期的C语言期末考试,老师的题目基本上是讲过的,有些同学仍然考的很糟.其实,我觉得老师们,\n"); printf(" 你可以多出一些灵活的题目让我们考考、换着角度讲一些题目,这样可能有更好的教学效果。有些同学
46、的什么都没\n"); printf(" 到,甚至根本分不清C与C++,他们可能平时逃课,课本永远是新的,从来就没有用过草稿纸;平时可能上网,电脑\n"); printf(" 一开一关,一天就过去了;他们可能平时爱睡觉,爱沉浸于混沌的梦中;他们可能只想浑浑噩噩的过日子,过一天\n"); printf(" 是一天,什么都不管..这样的你,怎么考的了试?这样的你,能学会什么?这样的你,四年有这样的收获?这样的\n"); printf(" 你,是你想要的生活?\n"); printf(" 与上学期考试的方法相比,这次大不相同,实践可能
47、更适合我们这些初学者 .在写代码的时候,你可能被这样\n"); printf(" 那样的问题所困扰着,但是当你真的找出Errors与Warnings,一一破解时,你会发现异样的神奇,编译从此便的有\n"); printf(" 趣,只想一直写下去....我真希望班上所有的同学会有同感,但有时现实往往令人失望 。虽说完成这次设计的时间\n"); printf(" 是在考试期间,写代码的时候也要复习其他功课,但我发现,真有同学现在连C都没进过,编程过..没到最后时间,\n"); printf(" 就绝不想何时去完成,你可以说他们不会写,你也可以说他们没
48、时间,但是他们就连去学着写的勇气都没有,还用\n"); printf(" 去想他们最后是如何完成的吗?\n"); printf(" 有人说VC与JAVA比起来,就好比是石器时代与工业时代相比,但你连最简单最基本的都不会, 那些复杂的,难\n"); printf(" 的你就一定会?我相信真的用心去学,用好的方式与方法,会有收获的,哪怕我们什么都不会!我觉得,不管学校多\n"); printf(" 么不好,不管专业多么冷门,既然来到了,为什么不能好好的学呢?学习是无止境的,它无处不在...\n"); printf(" 在
49、本次实践设计中,懂了很多 .当今的大型软件开发,不可能是一个人的任务,懂的团队合作,有时会事半功\n"); printf(" 倍,收益不仅体现于此.当然,在这次的设计中,也认识到了自己存在的不足,会的太少,编写有限...留给了我们\n"); printf(" 更多大的学习空间。在编写过程中,也出现了自己的一些主观思维,比如在各个独立函数中,paiming1()函数中,自\n"); printf(" 己宁愿繁琐的用t1,t4,t5,t6,t7,t8,t9定义冒泡法所需的变量..望自己在今后里逐步改正.....\n"); printf("
50、 总之一句话,感谢帮助我们的老师!希望,我们越来越好!!!\n"); system("pause"); select(); printf(" \n"); }break; case 3:{ system("cls"); printf(" \n"); printf(" \n"); printf(" \n"); printf(" \n"); printf(" \n"); printf(" \n"); printf("
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818