1、 本科生课程设计本科生课程设计 课程题目课程题目 学生成绩管理系统学生成绩管理系统 学号学号 学生姓名学生姓名 所在专业所在专业 计算机科学与技术计算机科学与技术 所在班级所在班级 指导教师指导教师 联系电话联系电话 日期日期 20132013 年年 5 5 月月 2 2 日至日至 20132013 年年 5 5 月月 9 9 日日 小组其他成员:小组其他成员: 评阅意见:评阅意见: 成绩:成绩: 日期:日期: 评阅教师:评阅教师: 第 1 页(共 16 页) 课 程 设 计 报 告 书课 程 设 计 报 告 书 一、一、设计的功能模块设计的功能模块 有 7 个模块: 1、 模块 1 定义增加
2、课程功能函数; 功能描述:增加课程功能 2、 模块 2 定义删除课程功能函数 功能描述:删除课程功能 3、 模块 3 定义修改课程函数; 功能描述:修改课程功能 4、模块 4 定义保存课程功能; 功能描述:保存课程功能 5、模块 5 定义查找课程功能; 功能描述:查找课程功能 6、模块 6 定义显示课程功能; 功能描述:显示课程功能 7、模块 7 定义读入课程功能; 功能描述:录入课程功能 二、 题目描述 向对象程序设计(OOP)方法实现一个简易的学生成绩管理系统,具备以下功能: 1) 用户注册 2) 用户登录 3) 成绩录入、修改、插入、删除 4) 成绩查询 5) 成绩简要统计 6) 图形界
3、面、全英文注释 三、核心算法 有 7 个核心算法: 核心算法 1 增加课程功能; void course:courseadd() int a; system(“cls“); coutcn; coutcs; coutct; coutlast=0; if(head) course *p; p=head; while(p-last) p=p-last; p-last=q; else head=q; system(“cls“); couta; if(a=1) courseadd(); else choose(); 核心算法 1 教师注册功能的流程图 第 3 页(共 16 页) 核心算法 2 删除课程功
4、能 void course:coursedelete() system(“cls“); string no; coutno; if(head) course *q,*p; q=head; p=q; 课程增加功能 请输入增加的课程: 请输入该课程号 请输入该课程学分 请输入授课老师 请输入授课时间 请输入授课地点 操作成功, 是否继续? 1. 继续 2. 取消 请输入你的选择: 第 4 页(共 16 页) while(q) if(q-courseno=no) break; p=q; q=q-last; if(q!=0) coutlast=q-last; delete q; cout修改课程“no
5、; if(head) course *q; q=head; while(q) if(q-courseno=no) break; q=q-last; if(q!=0) coutcn; coutcs; coutct; coutcoursename=cn; q-courseno=no; q-coursescore=cs; q-teachername=tn; q-coursetime=ct; q-place=place1; cout课程管理保存课程“课程管理查找课程“no; if(head) course *q; q=head; while(q) if(q-courseno=no) break; q=
6、q-last; if(q!=0) cout课程管理查找课程“课程管理显示所有课程“课程管理显示所有课程“tncnctplace1nocs; while(tfile.good() /创建学生接点 course *s; s=head; s=new course(tn,cn,ct,cs,place1,no); s-last=0; if(head)/若存在头接点 course *p2; p2=head; while(p2-last) p2=p2-last; 显示课程功能 显示所有的课程 第 11 页(共 16 页) p2-last=s;/连接 else/若不存在结点(空表) head=s;/连接 tfiletncnctplace1nocs; tfile.close(); system(“cls“); 核心算法 7 的流程图 二、使用(操作)说明 运行的初始界面如图右所示。 Welcome()函数 显