课题名称:学生选课情况管理系统
需求描述:用C++语言实现一个学生选课情况管理系统。对该系统的要求如下:
1. 该系统应实现以下功能 
(1)选课信息录入:
允许逐条录入学生选课信息(包括:学号、姓名、课程号、课程名、学分数),存入数据文件SC.dat中。
(2)选课情况查询:
允许查看所有学生的选课信息,包括:学号、姓名、课程号、课程名、学分数;
也可以按学号查看某个学生的选课信息。
(3)选课人数统计查询:按课程统计各门课程的选课人数。
(4)统计每位学生选修的学分数。
(5)最少、最多查询:查询学分最少、最多的学生的学号、姓名。
(6)分析学生的学分数是否达标:
本学期学生应选的学分数是20,判断每位学生的学分数是否达标,记录状态,计算未达标的学生比例,超标学生比例。
2. 系统主界面应有以下功能选项
选课信息录入
全体学生选课情况查询
个别学生选课情况查询
选课人数统计
学分统计
最多、最少查询
达标状况分析
退出
注:建议用VC环境开发用户界面。
结果形式:提交程序设计报告和可演示的系统软件
程序设计参考思路:
    1.本系统的输出文件
本系统的输出文件有两个:
记录学生选课情况的数据文件SC.dat
存放:学号、姓名、课程号、课程名、学分数
每个选课一条记录,占数据文件的一行。
每条记录中各数据之间以空格间隔。
学分统计statistic.dat
存放:学号  姓名  学分数 
2.系统输入数据
SC.dat—有34条记录,分别是
B06040101   C1  4       B06040101   C2  4     B06040101   C3  4
B06040101   C4  3      B06040101    C5  3     B06040101   C6  2
B06040115   C1  4       B06040115   C2  4     B06040115   C3  4
B06040115   C5  3       B06040217   C1  4     B06040217   C2  4
     B06040217   C3  4       B06040217   C4  3     B06040217   C6  2
     B06040231   C1  4       B06040231   C2  4     B06040231   C3  4
     B06040231   C4  3       B06040231   C6  2     B06040231   C7  2
     B06040306   C1  4       B06040306   C2  4     B06040306   C3  4
     B06040306   C4  3       B06040306   C5  3     B06040306   C7  2
     B06040408   C1  4       B06040408   C2  4     B06040408   C3  4
     B06040408   C4  3       B06040408   C5  3     B06040408   C6  2
     B06040408   C7  2
3.数据结构
两个类:学生类CStudent、课程类CCourse
(1)学生类
数据成员:    学号、姓名   (注意声明数据类型和属性(私有、保护、公有))
方法:    构造函数和析构函数
            从数据文件读入选课数据
显示全部数据
显示与用户输入学号相同的记录
分析达标情况,计算未达标学生比例,超标学生比例
(2)课程类(从学生类派生)
数据成员:    课程号、课程名、学分数  (注意声明数据类型和属性(私有、保护、公有))
方法:    构造函数和析构函数
            从数据文件读入选课数据
总学分统计
查询学分最多、最少的学生的学号、姓名
按课程统计各门课程的选课人数
4. 设计用户界面,理清调用关系。