高校学籍管理系统C++程序设计

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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<>grade;

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

相关文档
最新文档