一个简单学生成绩管理系统的实现(C++)

学生成绩管理系统,每个学生是一个记录,包括学号,姓名,性别,3门课程成绩。系统

可以实现以下功能:

1、信息录入:录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等);

2、信息查询:输入学号,查询学生各门课程的成绩,并显示。

3、排序:按各门课程的成绩平均分进行排序,并显示。

4、信息删除与修改——输入学号,删除该学生的成绩信息。

#include
#include
#include    //setw()
#include    //文件管理
using namespace std;
const int smax=20;    //设置学生最大个数

class StudentData                   //定义基类StudentData
{
	int number;                        //学号 
	string name;                       //名字
	char sex;                          //性别
	double chinese,math,english;       //各科成绩	
	double average;                    //平均分 
public:
    StudentData(int num=0,string name=" ",char sex='f',double chin=0,double math=0,double eng=0,double ave=0);  //构造函数
    void set(int num,string name,char sex,double chin,double math,double eng,double ave);     //设置数据成员的值
    void input();                                         //输入数据成员的值
    void output();                                        //输出数据成员的值
    int  getnumber() {return number;}                           //获取编号
    string getname(){return name; }                       //获取姓名
    char getsex(){return sex;}                            //获取性别
    double getchinese(){return chinese;}                  //获取成绩 
    double getmath(){return math;}
    double getenglish(){return english;}
    double getaverage(){return average;}                        //获取平均分 
};
//类外定义成员函数
StudentData::StudentData(int num,string name,char sex,double chin,double math,double eng,double ave)
{  number=num;
   name=name;
   sex=sex;
   chinese=chin;
   math=math;
   english=eng;
   average=ave;
}
void StudentData::set(int num,string name,char sex,double chin,double math,double eng,double ave)
{  number=num;
   name=name;
   sex=sex;
   chinese=chin;
   math=math;
   english=eng;
   average=ave;
}
void StudentData::input()
{	cout<<"学号(int):";
	    cin>>number;
	cout<<"姓名(string):";
        cin>>name;
	cout<<"性别(男1/女2):";
        cin>>sex;
	cout<<"语文、数学、英语各科成绩(double):";
        cin>>chinese>>math>>english;
    average=(chinese+math+english)/3;
}
 
void StudentData::output()
{   cout<<"学号:"<=smax) 
    {cout<<"空间已满,不能添加!"<> a;
	for (int i = 0; i < top; i++) {
		if (a == s[i].getnumber())
		{
			s[i].output(); cout << endl; return;
		}
		if (a !=s[i].getnumber())
		{
			cout << "无数据请继续" << endl;
		}
		cout << endl;
	}

}

void Management::total()         //统计学生信息 
{int n1=0;
 int n2=0;
 int n3=0;
 int t;
    for(int i=0;i=85) n1++;
	for(int i=0;i=60) n2++;	
	for(int i=0;is[j+1].getaverage())
		   {
	       	 t=s[j].getaverage();
			 s[j].getaverage() ==s[j+1].getaverage();
			 s[j+1].getaverage() == t;	 
		   }	
		}
		
		cout<<" "<>choice;
		switch(choice)
		{
			case '1':change_number();
				     break;
			case '2':change_name();
				     break;
			case '0':cout<<"您已安全返回!"<>x1;
   for(int i=0;i>h1;
  for(int i=0;i>c;
	    if(c=='y')
	    {int n=s[i].getnumber();
	     s[i].output();
	     cout<>choice;
		switch(choice)
		{
			case 1:Delete_number();
				   break;
			case 2:Delete_name();
				   break;
			case 0:cout<<"您已安全返回."<>bh;
	for(i=0;i=top)
	 {
		    cout<<"无此编号学生!";
            return ;
	 } 
	
    cout<>c1;
	if(c1=='y')
	{
		for(int k=i;k>xm;
    for(int i=0;i>c1;
	    if(c1=='y')
	    {for(int k=i;k>choice;
		switch(choice)
		{
			case 1:save();
				   break;
			case 2:read();
				   break;
			case 0:cout<<"您已安全返回!"<>number>>name>>sex>>chinese>>math>>english>>average)  //这种方法可以忽略文件最后的空行,避免while(!in.eof())产生的错误
	{	s[i].set(number,name,sex,chinese,math,english,average);
		i++;
	}
	top=i;
	cout<<"读取成功!"<>choice;
        switch(choice)
		{
			case 1:
			       cout<<"****您选择了:添加功能!****"<

你可能感兴趣的:(c++)