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

上传人:简****9 文档编号:106811903 上传时间:2019-10-16 格式:DOC 页数:21 大小:65.50KB
返回 下载 相关 举报
高校学籍管理系统c++程序设计_第1页
第1页 / 共21页
高校学籍管理系统c++程序设计_第2页
第2页 / 共21页
高校学籍管理系统c++程序设计_第3页
第3页 / 共21页
高校学籍管理系统c++程序设计_第4页
第4页 / 共21页
高校学籍管理系统c++程序设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《高校学籍管理系统c++程序设计》由会员分享,可在线阅读,更多相关《高校学籍管理系统c++程序设计(21页珍藏版)》请在金锄头文库上搜索。

1、VC+课程设计-高校学籍管理系统 源程序一、课程设计题目:学籍管理系统 二、目的与要求:1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统的设计中,至少要用到面向对象的一种机制。3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。4、写出设计说明书 三、设计方法和基本原理:1、功能要求 要求完成以

2、下功能:1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。2)能够将指定的信息从文件中删除。3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。4)可以统计全部学生的总成绩,及其在班上的排名。5)能够统计各科的平均成绩及及格率。6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。7)如果检索不到相应的信息应提示用户。 2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤: a) 写出需求分析(做什么) b) 分析系统中的各个实体之间的关系及其属性和行为; c) 根据问题描述,设计系统的类层次; d) 完成类层次中各个类的描述(包括属性和方法)

3、; 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

4、.DAT装入课程信息 ifstream f(course.dat); fcoursenum; coursename=new charcoursenum20; for(int i=0;icoursename; f.close();friend class STUDENT;friend class COLLEGE;int COURSE:coursenum=0;char (*COURSE:coursename)20=0;class STUDENT /学生类private:char num20; /学号char name20;/姓名char sex; /性别char cname20; /班级float

5、 *grade; /成绩(动态数组)float sum; /各科总分STUDENT *next;public:STUDENT() grade=new floatCOURSE:coursenum; next=0;STUDENT() delete grade;void Input() sum=0; coutnum; /输入学生一般信息 coutname; coutsex;sex=toupper(sex); coutcname; for(int i=0;iCOURSE:coursenum;i+)/输入学生各科成绩 coutCOURSE:coursenamegrade; sum+=grade;/计算总

6、分 void Input(ifstream &f) fnum; fname; fsex;sex=toupper(sex); fcname; for(int i=0;igrade; fsum;static void OutputT() coutsetw(10)学号setw(20)姓名setw(5)性别setw(10)班级; for(int i=0;iCOURSE:coursenum;i+) coutsetw(7)COURSE:coursename; coutsetw(10)总分endl;void Output() coutsetw(10)num;/输出学生一般信息 coutsetw(20)nam

7、e; coutsetw(5)sex; coutsetw(10)cname; for(int i=0;iCOURSE:coursenum;i+)/输出学生各科成绩,总分 coutsetw(7)grade; coutsetw(10)sumendl;void Output(ofstream &f) fsetw(10)num;/输出学生一般信息 fsetw(20)name; fsetw(5)sex; fsetw(10)cname; for(int i=0;iCOURSE:coursenum;i+)/输出学生各科成绩,总分 fsetw(7)grade; fsetw(10)sumnext; delete

8、p; p=SL; void Set(); /课程设置(增,删,改,存)void Add(); /增加学生void Delete(); /删除学生void Modify(); /修改学生void Query(); /查询学生信息(按姓名,学号)void Print(); /输出所有学生信息void Stat(); /统计课程平均成绩,课程合格率void SumSort(); /按总分排名(高-低)void NumSort(); /按学号排序(低-高)void Save(); /学生数据存盘void Load(); /装入学生数据;/增加学生void COLLEGE:Add() coutnext)

9、p2=p2-next;p2-next=p; /链接学生结点p-Input(); /输入学生信息/查找学生结点(返回1-找到,0-未找到.结点指针由p1返回,p2为前看指针)int COLLEGE:Find(char *ID,STUDENT *p1,STUDENT *p2) *p1=SL-next;*p2=SL;while(*p1) if(strcmp(*p1)-num,ID)=0) break;/找到 else *p2=*p1;/继续查找 *p1=(*p1)-next; return *p1?1:0;/删除学生void COLLEGE:elete() coutn* 删除学生 *n;char No20;STUDENT *p1,*p2;coutNo;if(!Find(No,&p1,&p2) coutnext=p1-next;/连接 delete p1; cout正确删除!n;/修改学生void COLLEGE:Modify() coutn* 修改学生 *n;char No20;STUDENT *p1,*p2;coutNo;if(!Find(No,&p1,&p2) cout指定的学生没有找到!n;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号