C++高校学籍管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课题2:高校学籍管理系统
(一)、课程设计题目:
高校学籍管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
(1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。
(2)能够将指定的信息从文件中删除。
(3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。
(4)可以统计全部学生的总成绩,及其在班上的排名。
(5)能够统计各科的平均成绩及及格率。
(6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。
(7)如果检索不到相应的信息应提示用户。
(8)扩展要求:能先行设置本学期的科目
每个学生信息应该包括:姓名、学号、成绩
成绩信息应该包括:科目数量、各科目名称、各科目成绩
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)写出需求分析(做什么);
(2)分析系统中的各个实体之间的关系及其属性和行为;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)用户界面的设计;
(7)分析系统功能模块(系统流程图);
(8)代码编写,功能调试;
(9)完成系统总结报告以及系统使用说明书。
#include
#include
using namespace std;
int di=0;
int num=0;
class xinxi
{
public:
int number;
char name[20];
char sex[6];
char p[100][10];
float fenshu[10];
float shuliang;
float average;
float sum;
float aver;
float jigelv;
int i;
virtual void Show() //显示
{
cout<<"学生学号:"< for(int i=0;i { cout< } cout<<"总成绩为:"< cout<<"平均成绩为:"< } void Book(int n) { cout<<"学生学号:"; cin>>number; cout<<"学生姓名:"; cin>>name; cout<<"学生性别:"; cin>>sex; while(1) { if(strcmp(sex,"男")==0||strcmp(sex,"女")==0) { break; } else { cout<<"输入有误,请重新输入:"< cin>>sex; } } /*cout<<"请输入本学期科目数量:"; //通过数量确定课程 cin>>shuliang; for(i=0;i { cout<<"请输入科目"< cin>>p[i]; cout<<"请输入科目"< cin>>fenshu[i]; }*/ while(1) //通过课程确定数量 { char a; int b; for(i=0,b=0;;i++) { cout<<"请输入科目"< cin>>p[i]; cout<<"请输入科目"< cin>>fenshu[i]; b++; cout<<"是否继续输入(Y/N)"< cin>>a; if(a=='Y'||a=='y') continue; else { shuliang=b; break; } } break; } } /* virtual void Save(fstream &f) //保存到文件f中 { f< } virtual void Load(fstream &f) //从文件f中导出数据 { f>>number>>name>>sex>>fenshu>>shuliang>>average>>sum; }*/