当前位置:文档之家› C实现简单的学生信息管理系统控制台程序

C实现简单的学生信息管理系统控制台程序

C实现简单的学生信息管理系统控制台程序
C实现简单的学生信息管理系统控制台程序

C实现简单的学生信息

管理系统控制台程序 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

//

#include "stdafx.h"

#include

#include

#include

#include

#include

class Student

{

private:

char idNumber[13]; //学号

char name[30]; //姓名

char address[50]; //地址

char telephone[14]; //电话号码

int gradeMath; //数学成绩

int gradePhysics; //物理成绩

int gradeEnglish; //英语成绩

double gradeMaPhEgAverage; //物数外平均

int rankGrade; //成绩排名

int gradeClassmate; //同学评分

int gradeTeacher; //老师评分

int gradeEthic; //道德评分

double gradeAll; //综合成绩

int rankAll; //综合排名

public:

Student(); //默认构造函数

void Student_WritePersonalInformation(char *iD, char *nam, char *add, char *tel); //更改学生信息

void Student_WriteMaPhEgGrade(int graMa, int graPh, int graEg); //更改学生考试成绩

void Student_WriteOtherGrade(int graCl, int graTe, int graEth); //更改学生其他成绩

void Student_DisplayInformation(); //显示学生信息

char *Student_ReadID();

double Student_ReadGrade();

double Student_ReadTotalGrade();

int Student_ReadGradeRank();

int Student_ReadTotalGradeRank();

void Student_WriteGradeRank(int ranGr); //更改学生成绩排名

void Student_WriteTotalGradeRank(int ranAl); //更改学生综合排名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; //综合排名

}

void Student::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);

}

void Student::Student_WriteMaPhEgGrade(int graMa, int graPh, int graEg) {

gradeMath = graMa;

gradePhysics = graPh;

gradeEnglish = graEg;

gradeMaPhEgAverage = (gradeMath + gradePhysics + gradeEnglish) / 3; }

void Student::Student_WriteOtherGrade(int graCl, int graTe, int graEth) {

gradeClassmate = graCl;

gradeTeacher = graTe;

gradeEthic = graEth;

gradeAll = gradeMaPhEgAverage*0.6 + gradeClassmate*0.1 + gradeEthic*0.1 + gradeTeacher*0.2;

}

void Student::Student_WriteGradeRank(int ranGr)

{

rankGrade = ranGr;

}

void Student::Student_WriteTotalGradeRank(int ranAl)

{

rankAll = ranAl;

}

void Student::Student_DisplayInformation()

{

using namespace std;

cout << "-------------------------------------" << endl;

cout << " 学生信息 " << endl;

cout << "姓名:" << name << endl

<< "学号:" << idNumber << endl

<< "地址:" << address << endl

<< "电话:" << telephone << endl

<< "数学成绩:" << gradeMath << endl

<< "物理成绩:" << gradePhysics << endl

<< "英语成绩:" << gradeEnglish << endl

<< "三科平均成绩:" << gradeMaPhEgAverage << endl

<< "学习成绩排名:" << rankGrade << endl

<< "同学评价得分:" << gradeClassmate << endl

<< "教师评价得分:" << gradeTeacher << endl

<< "道德修养评分:" << gradeEthic << endl

<< "综合成绩:" << gradeAll << endl

<< "综合成绩排名:" << rankAll << endl;

cout << "--------------------------------------" << endl; }

char *Student::Student_ReadID()

{

return idNumber;

}

double Student::Student_ReadGrade()

{

return gradeMaPhEgAverage;

}

double Student::Student_ReadTotalGrade() {

return gradeAll;

}

int Student::Student_ReadGradeRank()

{

return rankGrade;

}

int Student::Student_ReadTotalGradeRank()

{

return rankAll;

}

namespace studentInformation

{

std::vector studentVector;

int flagStudentChoose=0;

int flagStudentFound=1;

}

char *Student::Student_ReadName()

{

return name;

}

//-----------------------以上是基本数据结构的定义,同时定义了对数据的基本操作。定义完毕了,接下来是功能函数--------------------

void MainMenu();

void EditMenu();

void AddStudentPersonalInformation(int mode);

void ModifyStudentInformation();

void SearchStudent();

void DeleteStudentInformation();

void DisplayStudentInformation();

void RankByGrade();

void RankByTotalGrade();

void RankByID();

bool CmpGrade(Student student1,Student student2); //这个函数的参数是两个Student类的对象

bool CmpTotalGrade(Student student1, Student student2);

bool CmpID(Student student1, Student student2);

void DisplayAllStudentInformation();

//-----------------------以下是主菜单界面函数-------------------------------------------------------------------------------

void MainMenu()

{

int flagOperateInformation = 1;

while (flagOperateInformation)

{

using namespace std;

cout << "-----------------------------------------------------" << endl;

cout << "欢迎进入学生信息管理系统V1.0." << endl << endl;

cout << "按下1:进入学生信息管理系统." << endl;

cout << "按下0:退出." << endl;

cout << "-----------------------------------------------------" << endl<

cin >> flagOperateInformation;

cin.clear();

cout << endl;

if (flagOperateInformation)

EditMenu();

}

}

//------------------------主菜单界面函数定义完毕--------------------------------------------------------------------------

//------------------------以下是编辑界面函数------------------------------------------------------------------------------

void EditMenu()

{

int flagContinueOperation = 1;

while (flagContinueOperation)

{

flagContinueOperation = 0;

using namespace std;

cout << "--------------------------------------------" << endl;

cout << " 主菜单 " << endl;

cout << "按下1:添加学生信息." << endl;

cout << "按下2:修改学生信息." << endl;

cout << "按下3:删除学生信息." << endl;

cout << "按下4:显示学生信息." << endl;

cout << "按下5:按学号升序排序" << endl;

cout << "按下6:读入已有信息(暂时没实现)" << endl;

cout << "按下7:将信息输出(暂时没实现)" << endl;

cout << "按下8:显示系统内所有学生的信息" << endl;

cout << "按下0:返回上一级." << endl;

cout << "--------------------------------------------" << endl << endl;

cin >> flagContinueOperation;

cin.clear();

cout << endl;

switch (flagContinueOperation)

{

case 1:AddStudentPersonalInformation(1); break;

case 2:ModifyStudentInformation(); break;

case 3:DeleteStudentInformation(); break;

case 4:DisplayStudentInformation(); break;

case 5:RankByID(); break;

case 6:cout << "功能暂未实现" << endl; break;

case 7:cout << "功能暂未实现" << endl; break;

case 8:DisplayAllStudentInformation(); break;

case 0:break;

}

}

}

//-----------------------------------------------------------------------------------------------------------------------

//-----------------------以下是添加信息的界面----------------------------------------------------------------------

void AddStudentPersonalInformation(int mode)

{

using namespace std;

int flagAddPersonalInformation;

int flagAddGrade;

int falgAddOtherGrade;

Student student1;

studentInformation::studentVector.push_back(student1);

int currentObjectPosition;

if (mode == 1)

currentObjectPosition = studentInformation::studentVector.size() - 1;

else

currentObjectPosition = studentInformation::flagStudentChoose;

//--------------------------------------------------------------------------

cout << "请依次添加基本信息、学习成绩和其他成绩,且不要使用空格" << endl;

cout << "-------------------------------------" << endl;

cout << " 基本信息 " << endl;

cout << "按下1:录入学生基本信息;" << endl

<< "按下0:跳过基本信息。"<

<<"--------------------------------------"<> flagAddPersonalInformation;

cin.clear();

if (flagAddPersonalInformation)

{

char name[30];

char iD[13];

char address[50];

char phone[14];

cout << "请输入学生姓名:";

cin >> name;

cin.clear();

cout << "请输入学生学号:";

cin >> iD;

cin.clear();

cout << "请输入学生地址:";

cin >> address;

cin.clear();

cout << "请输入学生电话:";

cin >> phone;

cin.clear();

studentInformation::studentVector[currentObjectPosition].Student_WritePe rsonalInformation(iD,name,address,phone);

cout << "基本信息输入成功!" << endl

<< "------------------------------" << endl;

}

//------------------------------------------------------------------------------------

cout << "-------------------------------------" << endl;

cout << " 学习成绩 " << endl;

相关主题
文本预览
相关文档 最新文档