1、 C+C+课程设计课程设计 课题名称课题名称: :学习成绩管理系统学习成绩管理系统 班级:班级:信息信息 111111 班班 姓名:姓名:XXXXXX 姓名:姓名:XXXXXX 学号:学号:XXXXXXXXXXXXXXXXXXXXXX 学号:学号:XXXXXXXXXXXXXXXXXXXX 完成日期:完成日期:2012/09/262012/09/26 1、实验报告 a、课程设计目的 设计和开发一个学生成绩管理系统 b、实验环境 在 WindowsXP 下的 Microsoft Visual c+中完成课程设计 c、设计要求 1) 学生成绩管理系统中不同使用单位(用户)的学生人数事先无法确定 2)
2、 系统要求有学生成绩的记录、输入、查询、修改、删除和文件保存 3) 系统使用文字菜单项的标号选择实现对子模块的调用 4) 每门课程保存成一个文件名,由班级号和课程名的拼音字母组成,输入的班级号和 课程名自动生成文件名 5) 每个学生的课程有数学、语文、英语、物理、化学、生物 6) 学生成绩表结构约定为(学号 姓名 平时成绩 期末成绩 总评成绩) 总评成绩 = 平时成绩 * 30% + 期末成绩 *70% ,由系统自动计算得出 7) 学号是一个 9 位整数构成的字符串, 学号的编码规则:入学年份+在读年级+在读班 级+班内编号;入学年份用 4 位整数构成字符串, 如 2003 年入学则表示为:
3、”2003”; 在读年级用 1 位整数构成字符串,如正在 1 年级读书则表示为:”1”;在读班级 用 2 位整数构成字符串,如正在 1 班读书则表示为:”01”;班内编号用 2 位整数 构成字符串,如在班内编号为 23 号则表示为:”23 d、设计方案 首先定义结构体,并且用其作为存储空间;然后建立首结点,建立链表;自行赋值输 入学号,当输入为 0 时,停止输入,记录尾结点;分别定义记录、输入、查询、修改、 删除的函数,需要对链表中结点的数据进行操作,调用函数,实现对学生成绩的管理, 最后将处理好的链表按照要求储存在相应的文件里。 2、自主开发的程序软件技术工作报告 a、课程设计需求分析 考虑
4、到没有学生成绩的数据库, 所以首次运行要求输入一门学科的学生信息, 包括平 时成绩和期末成绩,由系统自动计算出总评成绩 = 平时成绩 * 30% + 期末成绩 * 70% ,并且保存到文件中,并且以班级号和学科名拼音的结合来命名,帮助解决了老师 繁琐单调的计算。 b、数据字典简介(关于结构体和各变量的定义)关于结构体和各变量的定义) 定义 student 的结构体,包含学号(num) 、姓名(name) 、平时成绩(Pscore) 、期 末成绩(Mscore)和总评成绩(zp) ,最后定义一个类型为 student 的指针(*next) , 其中总评成绩由平时成绩乘以 30%加上期末成绩乘以
5、70%计算得出, 即 zp = Pscore *0.3+ Mscore *0.7。 各个变量在程序中定义如下: 序号 成员名 数据类型 字段含义 1、 num string 学号 2、 name string 姓名 3、 Pscore float 平时成绩 4、 Mscore float 期末成绩 5、 zp float 总评成绩 6、 *next student 指针 当运行程序时,每定义一个新结点,各个变量赋值给结构体中的各个新成员,并且 定义其指针的指向,从而建立链表。 c、 函数模块功能简介 分别定义以下函数,其中函数名和作用简介如下: 1 )insert( ) :学生成绩录入 2 )
6、search( ) :学生成绩查询 3 )updata ( ) :学生成绩修改 4 )delet( ) :学生成绩删除 5 )display( ) :学生成绩显示 6 )recreat( ) : 新建学生成绩信息文件 7 )save( ) :保存学生信息到记录文件 d、系统主要流程图 e、c+源程序 开始 (选择 i)进行 i 所对应的 函数进行调用,并且输出结果 进入欢迎界面,选择要进行 操作的选项编号 i 判断 i值 进行电 调用相应的函数 当 i 输入 0 退出程序 结束 C+课程设计 学生成绩管理系统 #include using namespace std ; #include #include struct student string num; string name; string course6; float Pscore6; float