C+实现简单的学生信息管理系统控制台程序文档格式.docx
《C+实现简单的学生信息管理系统控制台程序文档格式.docx》由会员分享,可在线阅读,更多相关《C+实现简单的学生信息管理系统控制台程序文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
//同学评分
intgradeTeacher;
//老师评分
intgradeEthic;
//道德评分
doublegradeAll;
//综合成绩
intrankAll;
//综合排名
public:
Student();
//默认构造函数
voidStudent_WritePersonalInformation(char*iD,char*nam,char*add,char*tel);
//更改学生信息
voidStudent_WriteMaPhEgGrade(intgraMa,intgraPh,intgraEg);
//更改学生考试成绩
voidStudent_WriteOtherGrade(intgraCl,intgraTe,intgraEth);
//更改学生其他成绩
voidStudent_DisplayInformation();
//显示学生信息
char*Student_ReadID();
doubleStudent_ReadGrade();
doubleStudent_ReadTotalGrade();
intStudent_ReadGradeRank();
intStudent_ReadTotalGradeRank();
voidStudent_WriteGradeRank(intranGr);
//更改学生成绩排名
voidStudent_WriteTotalGradeRank(intranAl);
//更改学生综合排名
char*Student_ReadName();
};
Student:
:
Student()//默认构造函数
strncpy_s(idNumber,"
000000000000"
12);
strncpy_s(name,"
空"
30);
strncpy_s(address,"
50);
strncpy_s(telephone,"
14);
gradeMath=0;
gradePhysics=0;
gradeEnglish=0;
gradeMaPhEgAverage=0;
rankGrade=0;
gradeClassmate=0;
gradeTeacher=0;
gradeEthic=0;
gradeAll=0;
rankAll=0;
}
voidStudent:
Student_WritePersonalInformation(char*iD,char*nam,char*add,char*tel)
strncpy_s(idNumber,iD,12);
strncpy_s(name,nam,30);
strncpy_s(address,add,50);
strncpy_s(telephone,tel,14);
}
Student_WriteMaPhEgGrade(intgraMa,intgraPh,intgraEg)
gradeMath=graMa;
gradePhysics=graPh;
gradeEnglish=graEg;
gradeMaPhEgAverage=(gradeMath+gradePhysics+gradeEnglish)/3;
Student_WriteOtherGrade(intgraCl,intgraTe,intgraEth)
gradeClassmate=graCl;
gradeTeacher=graTe;
gradeEthic=graEth;
gradeAll=gradeMaPhEgAverage*0.6+gradeClassmate*0.1+gradeEthic*0.1+gradeTeacher*0.2;
Student_WriteGradeRank(intranGr)
rankGrade=ranGr;
Student_WriteTotalGradeRank(intranAl)
rankAll=ranAl;
Student_DisplayInformation()
usingnamespacestd;
cout<
<
"
-------------------------------------"
<
endl;
学生信息"
姓名:
"
name<
endl
<
学号:
idNumber<
地址:
address<
电话:
telephone<
数学成绩:
gradeMath<
物理成绩:
gradePhysics<
英语成绩:
gradeEnglish<
三科平均成绩:
gradeMaPhEgAverage<
学习成绩排名:
rankGrade<
同学评价得分:
gradeClassmate<
教师评价得分:
gradeTeacher<
道德修养评分:
gradeEthic<
综合成绩:
gradeAll<
综合成绩排名:
rankAll<
--------------------------------------"
char*Student:
Student_ReadID()
returnidNumber;
doubleStudent:
Student_ReadGrade()
returngradeMaPhEgAverage;
Student_ReadTotalGrade()
returngradeAll;
intStudent:
Student_ReadGradeRank()
returnrankGrade;
Student_ReadTotalGradeRank()
returnrankAll;
namespacestudentInformation
std:
vector<
Student>
studentVector;
intflagStudentChoose=0;
intflagStudentFound=1;
Student_ReadName()
returnname;
//-----------------------以上是基本数据结构的定义,同时定义了对数据的基本操作。
定义完毕了,接下来是功能函数--------------------
voidMainMenu();
voidEditMenu();
voidAddStudentPersonalInformation(intmode);
voidModifyStudentInformation();
voidSearchStudent();
voidDeleteStudentInformation();
voidDisplayStudentInformation();
voidRankByGrade();
voidRankByTotalGrade();
voidRankByID();
boolCmpGrade(Studentstudent1,Studentstudent2);
//这个函数的参数是两个Student类的对象
boolCmpTotalGrade(Studentstudent1,Studentstudent2);
boolCmpID(Studentstudent1,Studentstudent2);
voidDisplayAllStudentInformation();
//-----------------------以下是主菜单界面函数-------------------------------------------------------------------------------
voidMainMenu()
intflagOperateInformation=1;
while(flagOperateInformation)
{
usingnamespacestd;
cout<
-----------------------------------------------------"
欢迎进入学生信息管理系统V1.0."
endl<
按下1:
进入学生信息管理系统."
按下0:
退出."
endl<
endl<
endl;
cin>
>
flagOperateInformation;
cin.clear();
if(flagOperateInformation)
EditMenu();
}
//------------------------主菜单界面函数定义完毕--------------------------------------------------------------------------
//------------------------以下是编辑界面函数------------------------------------------------------------------------------
voidEditMenu()
intflagContinueOperation=1;
while(flagContinueOperation)
flagContinueOperation=0;
--------------------------------------------"
主菜单"
添加学生信息."
按下2:
修改学生信息."
按下3:
删除学生信息."
按下4:
显示学生信息."
按下5:
按学号升序排序"
按下6:
读入已有信息(暂时没实现)"
按下7:
将信息输出(暂时没实现)"
按下8:
显示系统内所有学生的信息"
返回上一级."
flagContinueOperation;
switch(flagContinueOperation)
{
case1:
AddStudentPersonalInformation
(1);
break;
case2:
ModifyStudentInformation();
case3:
DeleteStudentInformation();
case4:
DisplayStudentInformation();
case5:
RankByID();
case6:
cout<
功能暂未实现"
case7:
case8:
DisplayAllStudentInformation();
case0:
break;
}
//-----------------------------------------------------------------------------------------------------------------------
//-----------------------以下是添加信息的界面----------------------------------------------------------------------
voidAddStudentPersonalInformation(intmode)
intflagAddPersonalInformation;
intflagAddGrade;
intfalgAddOtherGrade;
Studentstudent1;
studentInformation:
studentVector.push_back(student1);
intcurrentObjectPosition;
if(mode==1)
currentObjectPosition=studentInformation:
studentVector.size()-1;
else
flagStudentChoose;
//--------------------------------------------------------------------------
请依次添加基本信息、学习成绩和其他成绩,且不要使用空格"
基本信息"
按下1:
录入学生基本信息;
按下0:
跳过基本信息。
endl
cin>
flagAddPersonalInformation;
cin.clear();
if(flagAddPersonalInformation)
charname[30];
chariD[13];
charaddress[50];
charphone[14];
请输入学生姓名:
;
name;
请输入学生学号:
iD;
请输入学生地址:
address;
请输入学生电话:
phone;
studentInformation:
studentVector[currentObjectPosition].Student_WritePersonalInformation(iD,name,address,phone);
基本信息输入成功!
<
------------------------------"
//------------------------------------------------------------------------------------
学习成绩"
录入学生学习成绩;
跳过学习成绩信息。
flagAddGrade;
if(flagAddGrade)
intmathGrade;
intphysicsGrade;
intenglishGrade;
请输入数学成绩:
mathGrade;
请输入物理成绩:
physicsGrade;
请输入英语成绩:
englishGrade;
studentVector[currentObjectPosition].Student_WriteMaPhEgGrade(mathGrade,physicsGrade,englishGrade);
学习成绩输入成功!
//---------------------------------------------------------------
其他成绩"
录入学生其他成绩;
跳过其他成绩信息。
intpeerGrade;
intteacherGrade;
intethicGrade;
请输入同学评议成绩:
peerGrade;
请输入教师评议成绩:
teacherGrade;
请输入道德测评成绩成绩:
ethicGrade;
studentVector[currentObjectPosition].Student_WriteOtherGrade(peerGrade,teacherGrade,ethicGrade);
其他成绩输入成功!
RankByGrade();
RankByTotalGrade();
学生成绩录入成功!
voidSearchStudent()
usingnamespacestudentInformation;
charID[13];
请输入学生的学号:
ID;
intvectorSize=studentVector.size();
inti=0;
while((i<
vectorSize)&
(flagStudentFound!
=0))
flagStudentFound=strcmp(ID,studentVector[i].Student