C 学生成绩管理系统代码大全.doc
文本预览下载声明
代码:
/*
*学生成绩管理系统
*类:Student Score Manage
*可保存学科:语文 数学 英语
*时间段:大一至大四
*说明:该程序针对学生数较少的情况,假如面对上千上万的学生数,应该再将其中的存储结构进行改变,
* 分别分层次存储,例如大一至大四四个链表表头,在每一个链表中又根据不同分类依据细分,
* 例如根据学院、专业等,这样的改变将大大有利于程序进行的寻找、输出、排序等涉及链表的操作,
* 当然相应代码也要稍作改变
*/
#includeiostream
#includestring
#includefstream
#includesstream
#includeiomanip
#includeconio.h
#includewindows.h
#includevector
using namespace std;
#define CONOBJ 3 //3科科目
#define YEARS 4 //4个学年
#define SET 4 //4个设置要求
class Score{
public:
int score[CONOBJ]; //chinese,math,english三科目分别对应order[0]、order[1]、order[2],每个学期两次考试,分为期中和期末考试
int order[CONOBJ]; //MAX科学科排名
int ConOrder; //总排名
Score *next; //定义在学生类当中
Score(){
next=NULL;
int i;
for(i=0;iCONOBJ;i++){
score[i]=0;
order[i]=0;
}
ConOrder=0;
};//无参构造函数
Score(int *sc){
next=NULL;
int i;
for(i=0;iCONOBJ;i++){
score[i]=*sc;
order[i]=0;
sc++;
}
ConOrder=0;
}//只有成绩的构造函数
Score(int *sc,int*or,int Con){
next=NULL;
int j;
for(j=0;jCONOBJ;j++){
score[j]=*sc;
order[j]=*or;
sc++;
or++;
}
ConOrder=Con;
}//含全部参数的构造函数
int ReturnConScore(){ //返回总分数
return score[0]+score[1]+score[2];
}
};
//===========================================================
class Student{
/*Student类中包含Score类
*用来存储众多的成绩,每个学期两次成绩,
每学年两个学期*/
Score *sco;
string name;
string pro; //专业
int clas;
int grade;
string num;
char sex;
Student* next;
public:
/*
*几个不同参数的Student构造函数的重载,
*分别对应不同形式的构造方式
*/
Student(string iname):name(iname),next(NULL){
sco=NULL;
cout\t\t\t\t★成功添加学生name★\n;
}//1.单参数时的构造函数
Student(string iname=No name,string ipro=none,int iclass=0,int igrade=0,string inum=0,char isex=n)
:name(iname),num(inum),sex(isex),next(NULL),pro(ipro),clas(iclass),grade(igrade){
sco=NULL;
cout\t\t\t\t★成功添加学生name★\n;
return;
}//2.用于添加无输入成绩的构造函数
Student(string iname,string ipro,int iclas,int igrade,string inum,char isex,int *score)
:name(iname),pro(ipro),clas(iclas),grade(igrade),num(
显示全部