高校学籍管理系统C++程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VC++课程设计---高校学籍管理系统
源程序
一、课程设计题目:学籍管理系统
二、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。4、写出设计说明书
三、设计法和基本原理:
1、功能要求
要求完成以下功能:
1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。
2)能够将指定的信息从文件中删除。
3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。
4)可以统计全部学生的总成绩,及其在班上的排名。
5)能够统计各科的平均成绩及及格率。
6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。
7)如果检索不到相应的信息应提示用户。
2、问题的解决案:
根据系统功能要求,可以将问题解决分为以下步骤:
a) 写出需求分析(做什么)
b) 分析系统中的各个实体之间的关系及其属性和行为;
c) 根据问题描述,设计系统的类层次;
d) 完成类层次中各个类的描述(包括属性和法);
e) 完成类中各个成员函数的定义;
f) 用户界面的设计
g) 分析系统功能模块(系统流程图)
h) 代码编写
i) 功能调试;
j) 完成系统总结报告以及系统使用说明书。
源程序代码如下:
[code]/*
course.dat-课程列表(只读)
student.dat-学生信息
*/
#include
#include
#include
#include
class COURSE //课程类
{
private:
static int coursenum; //课程数量
static char (*coursename)[20]; //课程名称
public:
static void LoadCourse() //从文件COURSE.DAT装入课程信息 {
ifstream f("course.dat");
f>>coursenum;
coursename=new char[coursenum][20];
for(int i=0; i f>>coursename; f.close(); } friend class STUDENT; friend class COLLEGE; }; int COURSE::coursenum=0; char (*COURSE::coursename)[20]=0; class STUDENT //学生类 { private: char num[20]; //学号 char name[20]; //姓名 char sex; //性别 char cname[20]; //班级 float *grade; //成绩(动态数组) float sum; //各科总分 STUDENT *next; public: STUDENT() { grade=new float[COURSE::coursenum]; next=0; } ~STUDENT() { delete []grade; } void Input() { sum=0; cout<<"学号:"; cin>>num; //输入学生一般信息 cout<<"姓名:"; cin>>name; cout<<"性别:"; cin>>sex; sex=toupper(sex); cout<<"班级:"; cin>>cname; for(int i=0; i { cout< sum+=grade; //计算总分 } } void Input(ifstream &f) { f>>num; f>>name; f>>sex; sex=toupper(sex); f>>cname; for(int i=0; i f>>grade; } f>>sum; } static void OutputT() { cout< for(int i=0; i cout< cout< } void Output() { cout< cout< cout< cout< for(int i=0; i