计算机高级语言课程设计C学生成绩管理系统文档格式.docx
- 文档编号:7187754
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:25
- 大小:123.42KB
计算机高级语言课程设计C学生成绩管理系统文档格式.docx
《计算机高级语言课程设计C学生成绩管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《计算机高级语言课程设计C学生成绩管理系统文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
根据题目要求,由于学生成绩信息与学期课程相关信息存放于文件中,所以应提供文件的读取,输出等操作;
在程序中需要根据相应数据进行计算,所以应提供显示、查找、排序等操作;
另外,还应提供键盘式的选择菜单来实现功能选择。
3.总体设计
3.1功能模块划分及流程图
根据上面的需求分析,可以将该系统的设计分为大模块,即查询模块、浏览模块、统计模块、排序模块、输出模块、退出模块。
学生课程成绩查询系统
查询
浏览
统计
排序
输出
退出
3.2数据结构设计
本系统的实现,全部采用链表这种数据结构,用链表实现课程的查询、浏览、统计、学生成绩信息、挂科情况、以及绩点排序输出,读入的课程信息、读入的学生成绩信息、学生信息统计采用的是结构体这种数据结构。
读入学生成绩信息结构体
{
[11];
学号
[10];
姓名
g[];
所选课程
}[];
读入课程信息结构体
[30];
课程名称
;
学分
[5];
课程类型
学生信息统计结构体
课程数目
总分
挂科科目
挂科学分
绩点
4.详细设计
4.1主函数
开始
读取学生课程文件
读取文件
读取课程信息文件
信息统计
结束
【主函数流程图】
【程序】
()
i=0=0;
*1,*2;
[50];
=1;
(i=0<
)
{
(j=0<
30)
{
[i][j]='
\0'
课程名称
}
}
("
********************************************************************************\n"
);
欢迎使用学生课程查询系统\n"
制作人:
174131班王雪峰\n"
********************************************************************************"
开始读取文件...\n"
1=("
"
"
)打开第一个文件
(1)
{
("
!
无法读取文件\n"
;
i=0;
j=0;
n=0;
[500];
(,5001);
([i]'
\n'
)统计学习科目
([i]'
'
)'
'
空格号
{
([1]'
)
{
}
;
}
;
1;
i=10;
)读取学习科目名称
[j][]='
‘\0’是字符串结束符
[j][]=[i];
n=0;
[13][27]='
;
(i=0<
)读取学习科目成绩
(1,"
"
[i][i]);
(j=0<
(1,"
[i][j]);
读取完毕\n"
)读取第二个文件
2=("
(2)
(,5002);
(2,"
[i][i][i]);
)读取课程信息
(([i][j])0)
[i]=[j];
(([j],"
必修"
))
[j]=1.2;
选修"
[j]=1.0;
[j]=1.1;
(1);
(2);
();
统计
4.2各功能模块设计
(1)具体功能菜单模块
【需求分析】
功能菜单模块设计比较简单,主要功能为提供数据查询,处理,选择和部分函数的调运。
其中各功能菜单模块用菜单方式选择。
【流程图】
显示一系列功能选项
输入n,判断n是否是1~4
Y
N
1,输入m,则判断m是否是1~3
1,调用其他功能模块函数
根据n的值调用个功能模块函数
根据m的值调用个功能模块函数
()
w;
|1-查询学生信息|\n"
|2-浏览挂科信息|\n"
|3-绩点排序输出|\n"
|4-退出查询系统|\n"
请输入相应数字进行查询:
(n1)
m=0;
("
|1-查看各位成绩信息|\n"
|2-查看同学各科成绩|\n"
|3-请返回上一层菜单|\n"
(m1)
s[20];
("
**************************\n"
请输入学号或姓名进行查询:
\n"
(s[0]'
1'
(i=0<
{
(([i])0)
{
("
学号\n"
[i]);
姓名\n"
该学生的学习科目数\n"
学分绩点\n"
总分\n"
所修学分数\n"
不及格科目数\n"
不及格学分.1f\n"
}
}
(m2)
|请输入学号或姓名进行查询|:
(j=0<
{
("
[j]);
}
([i][j]>
0)
{
}
}
(n2)
\n本学期挂科学生有如下:
\n"
(i=0<
([i]0)
("
\n**********************************\n"
*学号*:
*姓名*:
**********************************\n"
**挂科科目有**:
0;
(j=0<
(([i][j]<
60)([i][j]>
0))
挂科项目
("
共挂科门\n"
(n3)
();
排序
(n4)
\n****************!
请按任意键退出!
*********************\n"
(n<
1>
5)
1;
\n!
您的输入有误,请重新重新输入!
0;
}
}
}
(2)挂科统计模块
该功能模块主要根据题目要求,通过上述数据显示,进行相关挂科统计得到的相应信息。
读取学生课程信息数据
选课各科成绩>
=60
输出相应数据到程序界面
返回主菜单
(){
i=0;
j=0;
统计学生成绩信息完毕,请进行相关查询....\n"
)统计相关信息
=0总分
c=0总学分
=0学分绩点计算分子
f=0挂科数
=0挂科学分
0科目数
([i][i]);
(([i][j]<
0))
;
[j];
[i][j];
([i][j]0)
c[j];
([i][j]>
=60)
([i][j]/10.0-5)*[j]*[j]学分绩点计算
([i][j]<
60)
=0;
[i]科目数
[i]=f;
挂科数
[i]=;
[i]=c;
总学分
学分绩点
(3)绩点排序显示输出模块
该模块功能是根据上述数据,运用相关计算方法,进行简单计算后,利用冒泡排序法对绩点大小进行排序,并输出至文件中。
读取学生课程信息
依次选取学生所选课程的学分以及对应成绩,计算学生选课绩点
依据公式进行绩点计算
绩点排序
输出至文件
开始根据绩点排序...\n"
*;
=("
w"
)冒泡排序
(j=0<
([i]>
[j])
=[i];
[i]=[j];
[j]=;
学号姓名绩点\n"
(0<
();
已经将绩点信息输出至文件内,可以进行查看\n"
(,"
使得信息输出到指定的文件
5.上机操作
5.1数据源说明
由于数据是之前存储在文件中,所以数据形式等不需要太大形式的改动,只需要适当更改代码间隔等来实现数据的读取,从而对数据进行合理的运用。
5.2编译、链接和运行
减压压缩包全部文件,即可打开运行,可能会出现错误,请注意需要减压压缩文件全部内容,才可以正常运行。
5.3运行结果
【具体功能菜单】
【学生相关信息查询】
【各位成绩信息】——以同学为例
【同学各科成绩】——以同学为例
【挂科信息查询】
【绩点排序输出功能】
【输出到文件】
6.总结
这次c语言课程设计虽然准备不足,仓促赶工,但是最后还是勉强的把程序基本框架以及程序运行写好,但其中还有几多小错误,比如说只能用自己的文件打开以后运行c程序才是可以较完整的运行,而用老师的原件打开以后,读取会出现错误,尤其是在绩点排序的问题上,最后不断地修改,但还是无能为力,加上对c语言的淡忘,原本还掌握些许技巧,但现在实在是改不好,找了同学帮忙结果他们也不会改,我只能说我尽力了,真的改不下去了,还希望老师能谅解,毕竟学完之后这么久,再加上有许多概念已经不清楚了,所以学习过后还是有些力不存心。
程序可以运行,有些地方也可以有正确的答案,但是在绩点排序问题上无法解决,这点让我自己很失望,改了好多次,但是还是有些不对,最终还是感觉有错误,还请老师批评。
当然,这次程序设计也给我能复习c语言起到了一定的帮助作用,虽然写过报告之后可能又会忘记,但是能再学一次也无妨不是好事,总体来说这次c语言实习是充实的。
7.致谢
参考文献
[1]谭浩强.C程序设计(第三版)[M].北京:
清华大学出版社,2005.
[2]张冬梅,刘远兴,陈晶,等.基于的C语言课程设计及学习指导[M].北京:
清华大学出版社,2011.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 高级 语言 课程设计 学生 成绩管理系统