学生成绩管理系统 C++大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》课程实习大作业
学生成绩管理系统(学生信息的查询,求总分平均分,排序) (The system of student’s score management)
班级:
姓名:
学号:
1.设计的目的管理学生信息
1.1 设计功能介绍
该设计实现学生信息的输出,查询,求总球平均以及排序功能。启动页面后,可根据提示信息输入学生信息,可输入多组。然后你会看见“
0表示调用“输出“函数"
1表示调用“查找“学生信息函数
2表示调用”排序“函数
3表示调用“求和求平均分”函数
请依照上述说明输入数字:“
的提示信息,此时你可以更据要求输入数字,进行相应的操作。
若输入0,你将看到你刚才录入的信息整齐的输出在桌面上;
若输入1,你将看到—-"请输入查找的同学的学号:"—-的提示信息,输入学号即可查询;
若输入2,你将看到——"若按照总分排序请输入1,按数学排序输入2.按英语排序输入3.按汇编排序输入4,请按要求输入:--的提示信息,按要求输入即可;
若输入3,你将看到--"请输入查找的同学的学号:"—的提示信息,输入即可;
1.2 涉及到的知识点和解决方法
主要用到类的声明定义,运算符重载,友元,类的继承与派生,设置菜单。运用类建立一组学生信息,在利用对象数组得到多组学生信息,将所有的操作函数都设为类的成员函数,在利用菜单调用这些函数对对象数组进行操作,其中,我们还设置了益处错误,如若输入不正确,会有相应的提示信息输入,并且可以重新执行该操作,方便。
设计的难点是如何将输入的数据放入对象数组,以及如何让成员函数对数组进行操作。
解决方法是像普通数组一样传参。
1.3 系统功能结构图
图1 系统功能结构图
1.4 主要界面截图
图1. 主界面,根据提示输入数据
图2. 输入0,调用输出函数
图3. 查询的结果,显示溢出错误
图4. 调用排序函数,显示溢出错误
图5. 调用求和求平均分的函数
2.开发环境
运行环境:Windows 7、Windows XP
开发工具:Dev C++
3.各功能项对应类或函数的设计过程3.1 类的声明和定义
#include
#include
#define N 2
using namespace std;
class Tongxue //定义基类
{protected:
int num;
string name;
char sex;
float match;
float english;
float huibian;
};
class Student:public Tongxue //定义派生类{public:
void shuru();
void shuchu(Student b[]);
void chazhao(Student b[]);//声明成员函数
void sumaver(Student b[]);//声明成员函数
void paixu (Student b[]);//声明成员函数
friend ostream&operator << (ostream&,Student&);
friend istream&operator >>(istream&,Student&);
protected:
int tele; //定义派生类中的新数据成员
string addr;//定义派生类中的新数据成员
};
ostream&operator<<(ostream&output,Student&c)
{output<<"num:"< } istream&operator >> (istream&input,Student&c) {input>>c.num>>>>c.sex>>c.match>>c.english>>c.huibian; return input; } 3.2主界面代码 int main() {int m,xz; Student b[N]; for(int i=0;i b[i].shuru(); Student stu; m=0; while(m==0) {cout<<"0表示调用“输出“函数"< cout<<"1表示调用“查找“学生信息函数"< cout<<"2表示调用”排序“函数"< cout<<"3表示调用“求和求平均分”函数"< cout< cout<<"请依照上述说明输入数字:"< cin>>xz;//输入数字选择调用函数; switch (xz) {case 0: stu.shuchu(b);break; case 1: stu.chazhao(b);break; case 2: stu.paixu(b);break; case 3: stu.sumaver(b);break; default : m=1;//m置1,which循环结束 } } } void Student::shuru() {cout<<"请按照以下要求正确的输入学生信息。数据之间用空格隔开,输入完成后按回车结束:"< cout<<"num:"; cin>>num; cout< cout<<"name:"; cin>>name; cout< cout<<"sex:"; cin>>sex; cout< cout<<"match:"; cin>>match; cout< cout<<"english:"; cin>>english; cout< cout<<"huibian:";