本科生课程论文封面
课程名称 计算机高级语言课程设计(C) 教师姓名 本科生姓名 本科生学号 本科生专业 所在院系 类 别 日 期
目 录
目 录 ............................................... 1 1. 题目要求 ......................................... 2 2. 需求分析 ......................................... 2 3.总体设计 .......................................... 2 3.1功能模块划分及流程图 .......................... 2 3.2数据结构设计 .................................. 2 4.详细设计 .......................................... 3 4.1主函数 ........................................ 3 4.2各功能模块设计 ................................ 7 5.上机操作 ......................................... 15 5.1数据源说明 ................................... 15 5.2编译、链接和运行 ............................. 15 5.3运行结果 ..................................... 16 6.总结 ............................................. 19 7.致谢 ............................................. 20 参考文献 ........................................... 20
第1页
1.题目要求
某学期某班级学生成绩见文件“lecture_grade.txt”,该学期课程的相关信息见“lecture.txt”,请根据上述两个文件编写代码实现如下功能:
(1)统计该班级学生的学习科目数、总分、所修学分数、不及格科目数、不及格学分;
(2)计算各个学生的成绩绩点; 课程绩点计算方式 (成绩/10.0 - 5) 学分绩点计算方式
∑(课程绩点*该课程学分*该课程权重) / ∑(课程学分)
2.需求分析
根据题目要求,由于学生成绩信息与学期课程相关信息存放于文件中,所以应提供文件的读取,输出等操作;在程序中需要根据相应数据进行计算,所以应提供显示、查找、排序等操作;另外,还应提供键盘式的选择菜单来实现功能选择。
3.总体设计
3.1功能模块划分及流程图
根据上面的需求分析,可以将该系统的设计分为大模块,即查询模块、浏览模块、统计模块、排序模块、输出模块、退出模块。
学生课程成绩查询系统
查询 浏览 统计 排序 输出 退出 3.2数据结构设计
本系统的实现,全部采用链表这种数据结构,用链表实现课程的查询、浏览、统计、学生成绩信息、挂科情况、以及绩点排序输出,读入的课程信息、读入的学生成绩信息、学生信息统计采用的是结构体这种数据结构。
第2页
struct student //读入学生成绩信息结构体 {
char sno[11]; //学号 char name[10]; //姓名 int g[LEC_SIZE]; //所选课程
}stu[STU_SIZE];
struct lecture //读入课程信息结构体 {
char lname[30]; //课程名称 float credit; //学分 char type[5]; //课程类型 }lec[LEC_SIZE];
struct stu_grade //学生信息统计结构体 {
char sno[11]; //学号 char name[10]; //姓名 int number; //课程数目 int sum; //总分 float credit; //学分 int fail; //挂科科目 float failc; //挂科学分 float gpa; //绩点 }stug[STU_SIZE];
4.详细设计
4.1主函数 【主函数流程图】
读取文件 开始
读取学生课程文件 读取课程信息文件 信息统计 结束 第3页 【程序】
void main() {
int i = 0,j = 0; FILE *fp1,*fp2; char file[50]; int flag = 1;
for(i = 0;i < LEC_SIZE;i++) {
for(j = 0;j < 30;j++) {
lecturename[i][j] = '\\0';//课程名称 } }
printf(\**********\\n\
printf(\欢迎使用学生课程查询系统 \\n\
printf(\制作人:174131班 王雪峰 \\n\
printf(\******\
printf(\开始读取lecture_grade.txt文件...\\n\
fp1 = fopen(\打开第一个文件 if(fp1 == NULL) {
printf(\无法读取文件\\n\ return; } else {
i = 0; j = 0; int n = 0; char str[500];
fgets(str,500,fp1);
while(str[i] != '\\n') //统计学习科目 {
if(str[i] == ' ')//''空格号 {
第4页
计算机高级语言课程设计(C)学生成绩管理系统



