大学生C++期末作业,学生成绩信息管理系统设计(可运行)

该系统有部分借鉴其他开发者,侵权请联系删除!!!

这是我大一上学期自己写的一个代码,2000行作业,看着比较费劲但bug比较少,bug多在修改功能里,其他地方出入非法字符都会有提示并且不退程序也不进入死循环,如果是专业大佬的话请放过我。

各段功能区都有自己的函数,有问题可以在评论区留言,我看到会尽快回复!!!

内容定义大部分用的都是英语,看不懂的也可以先行百度。

#include<iostream>
#include<string>
#define MAX 100
using namespace std; 
int i=0;
class student
{
	public:
		string Name[MAX],Sex[MAX],ID[MAX];  
		float Cpp[MAX],Math[MAX],English[MAX];
		int Age[MAX],Sum[MAX],Avg[MAX],ranking[MAX];
	
		void Luru();//批量添加 
		void Input(); //增 
		void Delete();//删 
		void Amend(); //改 
		void Show();  //显 
		void Find();  //查
		void Ranking();//排
		void Analyse();//分析 
		void bukao();//补考
		
		
};
class Page:public student 
{
//各类表格
	public: 
		void menu(); 
		void menu1();
		void menu2();
		void menu3();
		void menu4();
		void Login();
		void Login1();
		 
		
};

int main()
{
	
	Page p1; 
	student s1;
	p1.Login();
	p1.Login1();
	int zhiling;
	s1.Luru();
	while(1)
	{
		p1.menu();
		cin>>zhiling;
		while(cin.fail())
		{	cin.clear();
			cout<<endl<<"请输入0-7内的整数:";
			cin.ignore(1024,'\n');
			cin>>zhiling;
		}
		
		switch(zhiling)
		{
			
			case 1: s1.Input();system("pause");break; 
			case 2: s1.Show();system("pause");break;  
			case 3: s1.Amend();system("pause");break;
			case 4: s1.Delete();system("pause");break;
			case 5: s1.Find();system("pause");break;
			case 6: s1.Ranking();system("pause");break;
			case 7: s1.Analyse();system("pause");break;
			case 8: s1.bukao();system("pause");break;
			case 0: return 0;
			default:cout<<"输入错误!请重新输入:"<<endl;
				
		}
		
	}
	
	return 0;
} 

void student::Input()
{	
	string name,sex,id;
	float cpp,math,english;
	int age;
	cout<<"==================================="<<endl;
	cout<<"请输入第 "<<i+1<<" 个同学的学号:";cin>>id;
	while(1)
	{
		bool flag=true;		
		for(int j=0;j<i;j++)
		{
			if(ID[j]==id)
			{
				cout<<"该学号已存在!请重新输入:";cin>>id;
				flag=false; 
			}
		}
		if(flag==true){
			break;
		}
	}
	cout<<"                   姓名:";cin>>name;
	cout<<"                   性别:";cin>>sex;
	while(1)
	{
		if(sex=="男"||sex=="女")
		{
			break; 
		}
		else cout<<"-->输入错误!请重新输入:";
			cin>>sex; 
	}
	cout<<"                   年龄:";cin>>age;
	while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~200内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>age;
		}	
	while(1)
	{
		if(age>0 && age<=200)
		{
			break; 
		}
		else cout<<"请输入1~200内的有效数字:";
			cin>>age; 
	}
	cout<<"                C++成绩:";cin>>cpp;
	while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~100内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>cpp;
		}
	
	while(1)
	{
		if(cpp>=0 && cpp<=100)
		{
			break; 
		}
		else cout<<"请输入0~100内的有效成绩:";
			cin>>cpp; 
	} 
	cout<<"               数学成绩:";cin>>math;
	while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~100内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>math;
		}
	
	while(1)
	{
		if(math>=0 && math<=100)
		{
			break; 
		}
		else cout<<"请输入0~100内的有效成绩:";
			cin>>math; 
	}
	cout<<"               英语成绩:";cin>>english;
	while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~100内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>english;
		}
	
	while(1)
	{
		if(english>=0 && english<=100)
		{
			break; 
		}
		else cout<<"请输入0~100内的有效成绩:";
			cin>>english; 
	} 
	ID[i]=id;
	Name[i]=name;
	Sex[i]=sex;
	Age[i]=age;
	Cpp[i]=cpp;
	Math[i]=math;
	English[i]=english;
	Sum[i]=Cpp[i]+Math[i]+English[i];
	Avg[i]=Sum[i]/3;
	i++;
	cout<<"==================================="<<endl;
	cout<<"          添加成功!!!"<<endl;        
	cout<<"==================================="<<endl;
	if(i>MAX)
	{
		cout<<"学生总数超过最大值(100),不可再添加!"<<endl;exit(0); 
	}
}

void student::Show()
{	
	float CppSum=0,MathSum=0,EnglishSum=0,CppAvg=0,MathAvg=0,EnglishAvg=0;
	cout<<"\t"<<"______________________________________________________________________"<<endl;
	cout<<"\t"<<"学号\t姓名\t性别\t年龄\tC++\t数学\t英语\t总分\t平均分"<<endl;
	for(int j=0;j<i;j++)
	{
		Sum[j]=Cpp[j]+Math[j]+English[j];	Avg[j]=Sum[j]/3;
		cout<<"\t"<<ID[j]<<"\t"<<Name[j]<<"\t"<<Sex[j]<<"\t"<<Age[j]<<"\t"
			<<Cpp[j]<<"\t"<<Math[j]<<"\t"<<English[j]<<"\t"<<Sum[j]<<"\t"<<Avg[j]<<endl;
	}
	cout<<"\t"<<"______________________________________________________________________"<<endl;
	for(int r=0;r<i;r++)
	{
		CppSum+=Cpp[r];
		MathSum+=Math[r];
		EnglishSum+=English[r];		
	}
	CppAvg=CppSum/i;MathAvg=MathSum/i;EnglishAvg=EnglishSum/i;
	cout<<"\t"<<"卍卍卍卍卍卍卍卍卍卍卍卍< 班级总分与平均分 >卍卍卍卍卍卍卍卍卍卍卍卍"<<endl;
	cout<<"\t"<<"----------------------------------------------------------------------"<<endl;                       
	cout<<"\t"<<"C++:总  分:"<<CppSum<<"\t"<<"  数学:总  分:"<<MathSum<<"\t"<<" 英语:总  分:"<<EnglishSum<<endl
		<<"\t"<<"     平均分:"<<CppAvg<<"\t"<<"        平均分:"<<MathAvg<<"\t"<<"       平均分:"<<EnglishAvg<<endl;; 
	cout<<"\t"<<"______________________________________________________________________"<<endl<<endl;
	
}

void student::Delete()
{
	int n;
	string id,name;
	char yes;
	bool flag=false; 
	Page p2;
	p2.menu2();
	cout<<"请选择删除方式:"; cin>>n;
	while(1){
	 
	if(n==1)
	{
		cout<<"请输入学号:";cin>>id;
		for(int j=0;j<i;j++)
		{
			if(ID[j]==id)
			{
				cout<<"您确认要删除该学生信息?"<<endl;
				cout<<"请选择(删除 Y,放弃 N )"<<endl;				 
			while(1){
				cin>>yes;
				if(yes=='y'||yes=='Y')
				{
				
				ID[j]=ID[j+1];
				Name[j]=Name[j+1];  
				Sex[j]=Sex[j+1];
				Age[j]=Age[j+1];
				Cpp[j]=Cpp[j+1];
				Math[j]=Math[j+1];
				English[j]=English[j+1];
				
				cout<<"删除成功!"<<endl;
				flag=true;break;
				}
				else if(yes=='n'||yes=='N')
				{
					cout<<"放弃选择!"<<endl;
					flag=true;break; 
				}
				else
				{
					cout<<"输入错误!请重新输入:";
				}
				
				}	
			}		
		}i--;
		if(flag==false)
		{
			cout<<"查无此学号!"<<endl;break;
		}
		break;
	}
	else if(n==2)
	{
		cout<<"请输入姓名:"; cin>>name;
		for(int j=0;j<i;j++)
		{
			if(Name[j]==name)
			{
				cout<<"您确认要删除该学生信息?"<<endl;
				cout<<"请选择(删除 Y,放弃 N )"<<endl;				 
			while(1){
				cin>>yes;
				if(yes=='y'||yes=='Y')
				{
				
				ID[j]=ID[j+1];
				Name[j]=Name[j+1];  
				Sex[j]=Sex[j+1];
				Age[j]=Age[j+1];
				Cpp[j]=Cpp[j+1];
				Math[j]=Math[j+1];
				English[j]=English[j+1];
				
				cout<<"删除成功!"<<endl;
				flag=true;break;
				}
				else if(yes=='n'||yes=='N')
				{
					cout<<"放弃选择!"<<endl;
					flag=true;break; 
				}
				else
				{
					cout<<"输入错误!请重新输入:";
				}
				
				}
			}
		}i--;
		if(flag==false)
		{
			cout<<"查无此姓名!"<<endl;break;
		}
		break;
	}
	else if(n==0){break;} 
	else{
		cout<<"没有该选项,请重新选择:";
		cin>>n;
		 
	}
} 
}

void student::Amend()
{
	Page p2;
	string id,name,sex;
	string Id,NAME,SeX;
	float cpp,math,english;
	float CPP,MATH,ENGLISH;
	bool flag=false;
	int age,n,a;
	p2.menu4();
	cin>>a;	
	while(1)
	{
		if(a==1)
		{
		p2.menu3();
		cin>>n;
		while(1)
		{
		if(n==1)
		{
			cout<<"请输入学生学号:";cin>>Id;		
			for(int j=0;j<i;j++)
			{
				if(ID[j]==Id)
			{
			
				
				cout<<"请输入要修改的学生的学号:";     cin>>id;      
				while(1)
				{
					bool flag=true;		
					for(int j=0;j<i;j++)
					{
						if(ID[j]==id)
						{
							cout<<"该学号已存在!请重新输入:";cin>>id;
							flag=false; 
						}
					}
					if(flag==true){
						ID[j]=id;
						break;
					}
				}
				
				cout<<"修改成功!"<<endl;
				flag=true;
				break;			
			}	
				
			}
			if(flag==false)
			{
				cout<<"查无此学号!"<<endl; 
			}
			
			 break;
		}
		else if(n==2)
		{
			cout<<"请输入学生姓名:";
			cin>>NAME;
			for(int j=0;j<i;j++)
			{
				if(Name[j]==NAME)
			{
				cout<<"请输入要修改的学生的学号:";     cin>>id;      
				while(1)
				{
					bool flag=true;		
					for(int j=0;j<i;j++)
					{
						if(ID[j]==id)
						{
							cout<<"该学号已存在!请重新输入:";cin>>id;
							flag=false; 
						}
					}
					if(flag==true){
					ID[j]=id;
						break;
					}
				}
				
				cout<<"修改成功!"<<endl;
				flag=true;break;
			}
			}
			if(flag==false)
			{
				cout<<"查无此姓名!"<<endl; 
			}
			 break;
		}
		else if(n==3)
		{
			int m;
			cout<<"============================="<<endl;
			cout<<"<<输入1:按C++成绩查找!   >>"<<endl
				<<"<<输入2:按数学成绩查找!  >>"<<endl
				<<"<<输入3:按数英语成绩查找!>>"<<endl
				<<"<<输入0:返回!            >>"<<endl;
			cout<<"============================="<<endl; 
			cout<<"*请输入查找方式:"; 
			cin>>m;
			if(m==1)
			{
				
			cout<<"请输入C++成绩:";cin>>CPP;
			for(int j=0;j<i;j++)
			{
				if(Cpp[j]==CPP)
				{
				cout<<"请输入要修改的学生的学号:";     cin>>id;      
				while(1)
				{
					bool flag=true;		
					for(int j=0;j<i;j++)
					{
						if(ID[j]==id)
						{
							cout<<"该学号已存在!请重新输入:";cin>>id;
							flag=false; 
						}
					}
					if(flag==true){
					ID[j]=id;
						break;
					}
				}
				cout<<"修改成功!"<<endl;
				flag=true;	
			}
			}
			if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==2)
			{
			cout<<"请输入数学成绩:";cin>>MATH;
			for(int j=0;j<i;j++)
			{
				if(Math[j]==MATH)
				{
				cout<<"请输入要修改的学生的学号:";     cin>>id;      
				while(1)
				{
					bool flag=true;		
					for(int j=0;j<i;j++)
					{
						if(ID[j]==id)
						{
							cout<<"该学号已存在!请重新输入:";cin>>id;
							flag=false; 
						}
					}
					if(flag==true){
					ID[j]=id;
						break;
					}
				}
				cout<<"修改成功!"<<endl;
				flag=true;	
			} 
			}
				if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==3)
			{
			cout<<"请输入英语成绩:";cin>>ENGLISH;	
			for(int j=0;j<i;j++)
			{
				if(English[j]==ENGLISH)
				{
				cout<<"请输入要修改的学生的学号:";     cin>>id;      
				while(1)
				{
					bool flag=true;		
					for(int j=0;j<i;j++)
					{
						if(ID[j]==id)
						{
							cout<<"该学号已存在!请重新输入:";cin>>id;
							flag=false; 
						}
					}
					if(flag==true){
					ID[j]=id;
						break;
					}
				}
				cout<<"修改成功!"<<endl;
				flag=true;	
			} 
			}
			if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==0)
			{
				cout<<"退出!"<<endl;break;
			}
			else {
				cout<<"输入错误!请重新输入:"<<endl;
			}
					
			}
			else if(n==0){break;}
			else
			{
				cout<<"输入错误!请重新输入:";
				cin>>n; 
			}
		}
		break;	
		}
		else if(a==2)
		{
		p2.menu3();	
		cin>>n;
		while(1)
		{
		
		if(n==1)
		{
			cout<<"请输入学生学号:";cin>>Id;		
			for(int j=0;j<i;j++)
			{
				if(ID[j]==Id)
			{
				cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;			
				cout<<"修改成功!"<<endl;
				flag=true;
				break;			
			}	
				
			}
			if(flag==false)
			{
				cout<<"查无此学号!"<<endl; 
			}
			
			 break;
		}
		else if(n==2)
		{
			cout<<"请输入学生姓名:";
			cin>>NAME;
			for(int j=0;j<i;j++)
			{
				if(Name[j]==NAME)
			{
				cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;
				cout<<"修改成功!"<<endl;
				flag=true;break;
			}
			}
			if(flag==false)
			{
				cout<<"查无此姓名!"<<endl; 
			}
			 break;
		}
		else if(n==3)
		{
			int m;
			cout<<"============================="<<endl;
			cout<<"<<输入1:按C++成绩查找!   >>"<<endl
				<<"<<输入2:按数学成绩查找!  >>"<<endl
				<<"<<输入3:按数英语成绩查找!>>"<<endl
				<<"<<输入0:返回!            >>"<<endl;
			cout<<"============================="<<endl; 
			cout<<"*请输入查找方式:"; 
			cin>>m;
			if(m==1)
			{
				
			cout<<"请输入C++成绩:";cin>>CPP;
			for(int j=0;j<i;j++)
			{
				if(Cpp[j]==CPP)
				{
				cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;			
				cout<<"修改成功!"<<endl;
				flag=true;	
			}
			}
			if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==2)
			{
			cout<<"请输入数学成绩:";cin>>MATH;
			for(int j=0;j<i;j++)
			{
				if(Math[j]==MATH)
				{
				cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;			
				cout<<"修改成功!"<<endl;
				flag=true;	
			} 
			}
				if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==3)
			{
			cout<<"请输入英语成绩:";cin>>ENGLISH;	
			for(int j=0;j<i;j++)
			{
				if(English[j]==ENGLISH)
				{
				cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;			
				cout<<"修改成功!"<<endl;
				flag=true;	
			} 
			}
			if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==0)
			{
				cout<<"退出!"<<endl;break;
			}
			else {
				cout<<"输入错误!请重新输入:"<<endl;
			}
					
			}
			else if(n==0){break;}
			else
			{
				cout<<"输入错误!请重新输入:";
				cin>>n; 
			}
	}
		break;	
		}
		else if(a==3)
		{
		p2.menu3();
		cin>>n;
		while(1)
		{
		
		if(n==1)
		{
			cout<<"请输入学生学号:";cin>>Id;		
			for(int j=0;j<i;j++)
			{
				if(ID[j]==Id)
			{
				cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
				while(1)
				{
					if(cpp>=0 && cpp<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>cpp; 
				} 
				Cpp[j]=cpp;
				cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
				while(1)
				{
					if(math>=0 && math<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>math; 
				}
				Math[j]=math;
				cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
				while(1)
				{	
				if(english>=0 && english<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>english; 
				} 
				English[j]=english;
				Sum[j]=Cpp[j]+Math[j]+English[j];
				Avg[j]=Sum[j]/3;
				cout<<"修改成功!"<<endl;
				flag=true;
				break;			
			}	
				
			}
			if(flag==false)
			{
				cout<<"查无此学号!"<<endl; 
			}
			
			 break;
		}
		else if(n==2)
		{
			cout<<"请输入学生姓名:";
			cin>>NAME;
			for(int j=0;j<i;j++)
			{
				if(Name[j]==NAME)
			{
				cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
				while(1)
				{
					if(cpp>=0 && cpp<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>cpp; 
				} 
				Cpp[j]=cpp;
				cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
				while(1)
				{
					if(math>=0 && math<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>math; 
				}
				Math[j]=math;
				cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
				while(1)
			{
				if(english>=0 && english<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>english; 
			} 
				English[j]=english;
				Sum[j]=Cpp[j]+Math[j]+English[j];
				Avg[j]=Sum[j]/3;
				cout<<"修改成功!"<<endl;
				flag=true;break;
			}
			}
			if(flag==false)
			{
				cout<<"查无此姓名!"<<endl; 
			}
			 break;
		}
		else if(n==3)
		{
			int m;
			cout<<"============================="<<endl;
			cout<<"<<输入1:按C++成绩查找!   >>"<<endl
				<<"<<输入2:按数学成绩查找!  >>"<<endl
				<<"<<输入3:按数英语成绩查找!>>"<<endl
				<<"<<输入0:返回!            >>"<<endl;
			cout<<"============================="<<endl; 
			cout<<"*请输入查找方式:"; 
			cin>>m;
			if(m==1)
			{
				
			cout<<"请输入C++成绩:";cin>>CPP;
			for(int j=0;j<i;j++)
			{
				if(Cpp[j]==CPP)
				{
				cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
				while(1)
				{
					if(cpp>=0 && cpp<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>cpp; 
				} 
				Cpp[j]=cpp;
				cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
				while(1)
				{
					if(math>=0 && math<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>math; 
				}
				Math[j]=math;
				cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
				while(1)
			{
				if(english>=0 && english<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>english; 
			} 
				English[j]=english;
				Sum[j]=Cpp[j]+Math[j]+English[j];
				Avg[j]=Sum[j]/3;
				cout<<"修改成功!"<<endl;
				flag=true;	
			}
			}
			if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==2)
			{
			cout<<"请输入数学成绩:";cin>>MATH;
			for(int j=0;j<i;j++)
			{
				if(Math[j]==MATH)
				{
				cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
				while(1)
				{
					if(cpp>=0 && cpp<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>cpp; 
				} 
				Cpp[j]=cpp;
				cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
				while(1)
				{
					if(math>=0 && math<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>math; 
				}
				Math[j]=math;
				cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
				while(1)
			{
				if(english>=0 && english<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>english; 
			} 
				English[j]=english;
				Sum[j]=Cpp[j]+Math[j]+English[j];
				Avg[j]=Sum[j]/3;
				cout<<"修改成功!"<<endl;
				flag=true;	
			} 
			}
				if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==3)
			{
			cout<<"请输入英语成绩:";cin>>ENGLISH;	
			for(int j=0;j<i;j++)
			{
				if(English[j]==ENGLISH)
				{
				cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
				while(1)
				{
					if(cpp>=0 && cpp<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>cpp; 
				} 
				Cpp[j]=cpp;
				cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
				while(1)
				{
					if(math>=0 && math<=100)
					{
						break; 
					}
					else cout<<"请输入0~100内的有效成绩!!!"<<endl;
						cin>>math; 
				}
				Math[j]=math;
				cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
				while(1)
			{
				if(english>=0 && english<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>english; 
			} 
				English[j]=english;
				Sum[j]=Cpp[j]+Math[j]+English[j];
				Avg[j]=Sum[j]/3;
				cout<<"修改成功!"<<endl;
				flag=true;	
			} 
			}
			if(flag==false)
			{
				cout<<"查无此成绩!"<<endl; 
			}
			break;
			}
			else if(m==0)
			{
				cout<<"退出!"<<endl;break;
			}
			else {
				cout<<"输入错误!请重新输入:"<<endl;
			}
					
			}
			else if(n==0){break;}
			else
			{
				cout<<"输入错误!请重新输入:";
				cin>>n; 
			}
	}
	break;	
		}
		else if(a==4)
		{
		p2.menu3();
		cin>>n;
		while(1)
	{
	
	if(n==1)
	{
		cout<<"请输入学生学号:";cin>>Id;		
		for(int j=0;j<i;j++)
		{
			if(ID[j]==Id)
		{
		
			
			cout<<"请输入要修改的学生的学号:";     cin>>id;      
			while(1)
			{
				bool flag=true;		
				for(int j=0;j<i;j++)
				{
					if(ID[j]==id)
					{
						cout<<"该学号已存在!请重新输入:";cin>>id;
						flag=false; 
					}
				}
				if(flag==true){
					ID[j]=id;
					break;
				}
			}
			cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;			
			cout<<"请输入要修改的学生的性别:";     cin>>sex;
			while(1)
			{
				if(sex=="男"||sex=="女")
				{
					break; 
				}
				else cout<<"输入错误,请重新输入!!"<<endl;
					cin>>sex; 
			}
			Sex[j]=sex;
			cout<<"请输入要修改的学生的年龄:";     cin>>age;
			while(1)
			{
				if(age>0 && age<=200)
				{
					break; 
				}
				else cout<<"请输入1~200内的有效数字!!!"<<endl;
					cin>>age; 
			}
			Age[j]=age;
			cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
			while(1)
			{
				if(cpp>=0 && cpp<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>cpp; 
			} 
			Cpp[j]=cpp;
			cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
			while(1)
			{
				if(math>=0 && math<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>math; 
			}
			Math[j]=math;
			cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
			while(1)
			{	
			if(english>=0 && english<=100)
			{
				break; 
			}
			else cout<<"请输入0~100内的有效成绩!!!"<<endl;
				cin>>english; 
			} 
			English[j]=english;
			Sum[j]=Cpp[j]+Math[j]+English[j];
			Avg[j]=Sum[j]/3;
			cout<<"修改成功!"<<endl;
			flag=true;
			break;			
		}	
			
		}
		if(flag==false)
		{
			cout<<"查无此学号!"<<endl; 
		}
		
		 break;
	}
	else if(n==2)
	{
		cout<<"请输入学生姓名:";
		cin>>NAME;
		for(int j=0;j<i;j++)
		{
			if(Name[j]==NAME)
		{
			cout<<"请输入要修改的学生的学号:";     cin>>id;      
			while(1)
			{
				bool flag=true;		
				for(int j=0;j<i;j++)
				{
					if(ID[j]==id)
					{
						cout<<"该学号已存在!请重新输入:";cin>>id;
						flag=false; 
					}
				}
				if(flag==true){
				ID[j]=id;
					break;
				}
			}
			cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;
			
			cout<<"请输入要修改的学生的性别:";     cin>>sex;
			while(1)
			{
				if(sex=="男"||sex=="女")
				{
					break; 
				}
				else cout<<"输入错误,请重新输入!!"<<endl;
					cin>>sex; 
			}
			Sex[j]=sex;
			cout<<"请输入要修改的学生的年龄:";     cin>>age;
			while(1)
			{
				if(age>0 && age<=200)
				{
					break; 
				}
				else cout<<"请输入1~200内的有效数字!!!"<<endl;
					cin>>age; 
			}
			Age[j]=age;
			cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
			while(1)
			{
				if(cpp>=0 && cpp<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>cpp; 
			} 
			Cpp[j]=cpp;
			cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
			while(1)
			{
				if(math>=0 && math<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>math; 
			}
			Math[j]=math;
			cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
			while(1)
		{
			if(english>=0 && english<=100)
			{
				break; 
			}
			else cout<<"请输入0~100内的有效成绩!!!"<<endl;
				cin>>english; 
		} 
			English[j]=english;
			Sum[j]=Cpp[j]+Math[j]+English[j];
			Avg[j]=Sum[j]/3;
			cout<<"修改成功!"<<endl;
			flag=true;break;
		}
		}
		if(flag==false)
		{
			cout<<"查无此姓名!"<<endl; 
		}
		 break;
	}
	else if(n==3)
	{
		int m;
		cout<<"============================="<<endl;
		cout<<"<<输入1:按C++成绩查找!   >>"<<endl
			<<"<<输入2:按数学成绩查找!  >>"<<endl
			<<"<<输入3:按数英语成绩查找!>>"<<endl
			<<"<<输入0:返回!            >>"<<endl;
		cout<<"============================="<<endl; 
		cout<<"*请输入查找方式:"; 
		cin>>m;
		if(m==1)
		{
			
		cout<<"请输入C++成绩:";cin>>CPP;
		for(int j=0;j<i;j++)
		{
			if(Cpp[j]==CPP)
			{
			cout<<"请输入要修改的学生的学号:";     cin>>id;      
			while(1)
			{
				bool flag=true;		
				for(int j=0;j<i;j++)
				{
					if(ID[j]==id)
					{
						cout<<"该学号已存在!请重新输入:";cin>>id;
						flag=false; 
					}
				}
				if(flag==true){
				ID[j]=id;
					break;
				}
			}
			cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;			
			cout<<"请输入要修改的学生的性别:";     cin>>sex;
			while(1)
			{
				if(sex=="男"||sex=="女")
				{
					break; 
				}
				else cout<<"输入错误,请重新输入!!"<<endl;
					cin>>sex; 
			}
			Sex[j]=sex;
			cout<<"请输入要修改的学生的年龄:";     cin>>age;
			while(1)
			{
				if(age>0 && age<=200)
				{
					break; 
				}
				else cout<<"请输入1~200内的有效数字!!!"<<endl;
					cin>>age; 
			}
			Age[j]=age;
			cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
			while(1)
			{
				if(cpp>=0 && cpp<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>cpp; 
			} 
			Cpp[j]=cpp;
			cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
			while(1)
			{
				if(math>=0 && math<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>math; 
			}
			Math[j]=math;
			cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
			while(1)
		{
			if(english>=0 && english<=100)
			{
				break; 
			}
			else cout<<"请输入0~100内的有效成绩!!!"<<endl;
				cin>>english; 
		} 
			English[j]=english;
			Sum[j]=Cpp[j]+Math[j]+English[j];
			Avg[j]=Sum[j]/3;
			cout<<"修改成功!"<<endl;
			flag=true;	
		}
		}
		if(flag==false)
		{
			cout<<"查无此成绩!"<<endl; 
		}
		break;
		}
		else if(m==2)
		{
		cout<<"请输入数学成绩:";cin>>MATH;
		for(int j=0;j<i;j++)
		{
			if(Math[j]==MATH)
			{
			cout<<"请输入要修改的学生的学号:";     cin>>id;      
			while(1)
			{
				bool flag=true;		
				for(int j=0;j<i;j++)
				{
					if(ID[j]==id)
					{
						cout<<"该学号已存在!请重新输入:";cin>>id;
						flag=false; 
					}
				}
				if(flag==true){
				ID[j]=id;
					break;
				}
			}
			cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;			
			cout<<"请输入要修改的学生的性别:";     cin>>sex;
			while(1)
			{
				if(sex=="男"||sex=="女")
				{
					break; 
				}
				else cout<<"输入错误,请重新输入!!"<<endl;
					cin>>sex; 
			}
			Sex[j]=sex;
			cout<<"请输入要修改的学生的年龄:";     cin>>age;
			while(1)
			{
				if(age>0 && age<=200)
				{
					break; 
				}
				else cout<<"请输入1~200内的有效数字!!!"<<endl;
					cin>>age; 
			}
			Age[j]=age;
			cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
			while(1)
			{
				if(cpp>=0 && cpp<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>cpp; 
			} 
			Cpp[j]=cpp;
			cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
			while(1)
			{
				if(math>=0 && math<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>math; 
			}
			Math[j]=math;
			cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
			while(1)
		{
			if(english>=0 && english<=100)
			{
				break; 
			}
			else cout<<"请输入0~100内的有效成绩!!!"<<endl;
				cin>>english; 
		} 
			English[j]=english;
			Sum[j]=Cpp[j]+Math[j]+English[j];
			Avg[j]=Sum[j]/3;
			cout<<"修改成功!"<<endl;
			flag=true;	
		} 
		}
			if(flag==false)
		{
			cout<<"查无此成绩!"<<endl; 
		}
		break;
		}
		else if(m==3)
		{
		cout<<"请输入英语成绩:";cin>>ENGLISH;	
		for(int j=0;j<i;j++)
		{
			if(English[j]==ENGLISH)
			{
			cout<<"请输入要修改的学生的学号:";     cin>>id;      
			while(1)
			{
				bool flag=true;		
				for(int j=0;j<i;j++)
				{
					if(ID[j]==id)
					{
						cout<<"该学号已存在!请重新输入:";cin>>id;
						flag=false; 
					}
				}
				if(flag==true){
				ID[j]=id;
					break;
				}
			}
			cout<<"请输入要修改的学生的姓名:";     cin>>name; 	  Name[j]=name;			
			cout<<"请输入要修改的学生的性别:";     cin>>sex;
			while(1)
			{
				if(sex=="男"||sex=="女")
				{
					break; 
				}
				else cout<<"输入错误,请重新输入!!"<<endl;
					cin>>sex; 
			}
			Sex[j]=sex;
			cout<<"请输入要修改的学生的年龄:";     cin>>age;
			while(1)
			{
				if(age>0 && age<=200)
				{
					break; 
				}
				else cout<<"请输入1~200内的有效数字!!!"<<endl;
					cin>>age; 
			}
			Age[j]=age;
			cout<<"请输入要修改的学生的C++成绩:";  cin>>cpp;
			while(1)
			{
				if(cpp>=0 && cpp<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>cpp; 
			} 
			Cpp[j]=cpp;
			cout<<"请输入要修改的学生的数学成绩:"; cin>>math;
			while(1)
			{
				if(math>=0 && math<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>math; 
			}
			Math[j]=math;
			cout<<"请输入要修改的学生的英语成绩:"; cin>>english;
			while(1)
		{
			if(english>=0 && english<=100)
			{
				break; 
			}
			else cout<<"请输入0~100内的有效成绩!!!"<<endl;
				cin>>english; 
		} 
			English[j]=english;
			Sum[j]=Cpp[j]+Math[j]+English[j];
			Avg[j]=Sum[j]/3;
			cout<<"修改成功!"<<endl;
			flag=true;	
		} 
		}
		if(flag==false)
		{
			cout<<"查无此成绩!"<<endl; 
		}
		break;
		}
		else if(m==0)
		{
			cout<<"退出!"<<endl;break;
		}
		else {
			cout<<"输入错误!请重新输入:"<<endl;
		}
				
		}
		else if(n==0){break;}
		else
		{
			cout<<"输入错误!请重新输入:";
			cin>>n; 
		}
	}	
		break;	
		}
		else if(a==0)
		{
			cout<<"退出!!"<<endl;break;
		}
		else 
		{
			cout<<"输入错误!请重新输入:";
			cin>>a;
		}
	}
}
	
void student::Find()
{
	int n; 
	bool flag=false;
	Page p2;
	p2.menu1();
	string id,name;
	cout<<"请输入查找方式:"; cin>>n;
	while(1)
	{
	
	if(n==1)
	{
	cout<<"请输入学号:"; cin>>id;
	for(int j=0;j<i;j++)
	{
		if(ID[j]==id)
		{
		cout<<"\t"<<"____________________________________________________"<<endl;
		cout<<"\t"<<"学号\t姓名\t性别\t年龄\tC++\t数学\t英语"<<endl;
		cout<<"\t"<<ID[j]<<"\t"<<Name[j]<<"\t"<<Sex[j]<<"\t"<<Age[j]<<"\t"<<Cpp[j]<<"\t"<<Math[j]<<"\t"<<English[j]<<endl;
		cout<<"\t"<<"____________________________________________________"<<endl;	
		flag=true;break;
		}
		
	}
	if(flag==false)
	{
		cout<<"查不到此学号!!!"<<endl;	break;
	}
	break;
	}
	else if(n==2)
	{
		cout<<"请输入姓名:"; cin>>name;
	for(int j=0;j<i;j++)
	{
		if(Name[j]==name)
		{
		cout<<"\t"<<"____________________________________________________"<<endl;
		cout<<"\t"<<"学号\t姓名\t性别\t年龄\tC++\t数学\t英语"<<endl;
		cout<<"\t"<<ID[j]<<"\t"<<Name[j]<<"\t"<<Sex[j]<<"\t"<<Age[j]<<"\t"<<Cpp[j]<<"\t"<<Math[j]<<"\t"<<English[j]<<endl;
		cout<<"\t"<<"____________________________________________________"<<endl;	
		flag=true;
		}
		
	}
	if(flag==false)
	{
		cout<<"查不到此姓名!!!"<<endl;	break;
	} 
	break;
	}
	else if(n==0){ cout<<"退出!!"<<endl;break;}
	else
	{
		cout<<"输入错误!请重新输入!!";
		cin>>n;		 
	}

	}
} 

void Page::menu()
{
	cout<<"____________________________________"<<endl; 
	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;
	cout<<"|__________________________________|"<<endl; 
	cout<<"请输入要选的功能:"; 
}
void Page::menu1()
{
	cout<<"__________________________________"<<endl;
	cout<<"|                                |"<<endl;
	cout<<"|        *请选择查找方式*        |"<<endl;
	cout<<"|                                |"<<endl;
	cout<<"|   1.按学号查找  2.按姓名查找   |"<<endl;
	cout<<"|                                |"<<endl; 
	cout<<"|           0.退出查找           |"<<endl;
	cout<<"|________________________________|"<<endl; 	 
}
void Page::menu2()
{
	cout<<"__________________________________"<<endl;
	cout<<"|                                |"<<endl;
	cout<<"|        *请选择删除方式*        |"<<endl;
	cout<<"|                                |"<<endl;
	cout<<"|   1.按学号删除  2.按姓名删除   |"<<endl;
	cout<<"|                                |"<<endl; 
	cout<<"|           0.退出删除           |"<<endl;
	cout<<"|________________________________|"<<endl; 
}
void Page::menu3()
{
	cout<<"__________________________________"<<endl;
	cout<<"|                                |"<<endl;
	cout<<"|        *请选择收索方式*        |"<<endl;
	cout<<"|                                |"<<endl;
	cout<<"|   1.按学号搜索  2.按姓名搜索   |"<<endl;
	cout<<"|                                |"<<endl;
	cout<<"|   3.按成绩搜索  0.返回菜单     |"<<endl; 
	cout<<"|                                |"<<endl; 
	cout<<"|________________________________|"<<endl; 
}

void Page::Login()
{
	cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl;
 for(int i=0;i<3;i++)
	cout<<"\t\t◎\t\t\t\t\t\t  ◎"<<endl;
 cout<<"\t\t◎★★★★【  欢迎进入学生成绩管理系统  】★★★★◎"<<endl;
 for(int i=0;i<3;i++)
  cout<<"\t\t◎\t\t\t\t\t\t  ◎"<<endl;
 cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<<endl;
 cout<<"\t\t\t按Y继续 \t\t 按N退出"<<endl;
 	char ling; // 定义一个指令
	cin>>ling;  //输入指令
	if(ling=='y'|| ling =='n') ling-=32;
	cout<<endl;
	switch(ling)
	{
		case 'N':
			cout<<"\t"<<"即将退出,请稍等......"<<endl; exit(1);
		
		case  'Y':
			cout<<"\t"<<"即将进入系统......"<<endl;system("pause");system("cls");break;
		
		default:
			cout<<"\t"<<"输入错误,请重新输入!!!"<<endl;system("cls");
			Page::Login(); 	
	}
	
		
}

void student::Luru()
{
	cout<<"==================================="<<endl<<endl; 
	cout<<"请先录入学生信息,才能执行其他操作!"<<endl<<endl;
	cout<<"==================================="<<endl<<endl;
	cout<<"请输入学生人数:";
	cin>>i;
	cout<<endl<<"==================================="<<endl;
	while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~100内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>i;
		}
	
	while(1){
	
	if(i<=0||i>100)
	{
		cout<<"学生人数至少为 1 个,请输入1-100内的有效数字!"<<endl;
		cin>>i; 
	}
	else break;
	
	}
	for(int j=0;j<i;j++)
	{
		cout<<"请输入第 "<<j+1<<" 个同学的学号:";cin>>ID[j];
			while(1)
		{
			bool flag=true;		
			for(int r=0;r<j;r++)
			{
				if(ID[r]==ID[j])
				{
					cout<<"该学号已存在!请重新输入:";cin>>ID[j];
					flag=false; 
				}
			}
			if(flag==true){
				break;
			}
		}
		cout<<"                   姓名:";cin>>Name[j];
		cout<<"                   性别:";cin>>Sex[j];
		while(1)
			{
				if(Sex[j]=="男"||Sex[j]=="女")
				{
					break; 
				}
				else cout<<"-->输入错误!请重新输入:";
					cin>>Sex[j]; 
			}
		cout<<"                   年龄:";cin>>Age[j];
		while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~200内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>Age[j];
		}
		
		while(1)
			{
				if(Age[j]>0 && Age[j]<=200)
				{
					break; 
				}
				else cout<<"请输入1~200内的有效数字:";
					cin>>Age[j]; 
			}
		cout<<"                     C++:";cin>>Cpp[j];
		while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~100内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>Cpp[j];
		}
		
		while(1)
			{
				if(Cpp[j]>=0 && Cpp[j]<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩:";
					cin>>Cpp[j]; 
			} 
		cout<<"                   数学:";cin>>Math[j];
		while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~100内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>Math[j];
		}
		
		while(1)
			{
				if(Math[j]>=0 && Math[j]<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩:";
					cin>>Math[j]; 
			}
		cout<<"                   英语:";cin>>English[j];
		while(cin.fail())
		{	cin.clear();
			cout<<"请输入1~100内的有效数字:";
			cin.ignore(1024,'\n');
			cin>>English[j];
		}
		
		while(1)
			{
				if(English[j]>=0 && English[j]<=100)
				{
					break; 
				}
				else cout<<"请输入0~100内的有效成绩!!!"<<endl;
					cin>>English[j]; 
			}
		cout<<"        添加成功!!!"<<endl;
		cout<<"==================================="<<endl;
			  
	}  
	 system("pause");system("cls");
} 

void student::Ranking()
{
	int z[100],R_age[100];
	float t[100],R_cpp[100],R_math[100],R_english[100],R_sum[100],R_avg[100];
	string y[100],R_name[100],R_id[100],R_sex[100];
	cout<<endl;
	cout<<"\t"<<"--------------------------------------------------------------------------------"<<endl;
	cout<<"\t"<<"*学号    姓名    性别    年龄    C++.    数学    英语    总分    平均分    排名*"<<endl; 
	for(int j=0;j<i;j++)
	{
		R_id[j]=ID[j];R_name[j]=Name[j];R_sex[j]=Sex[j];R_age[j]=Age[j];
		R_cpp[j]=Cpp[j];R_math[j]=Math[j];R_english[j]=English[j];
		R_sum[j]=R_cpp[j]+R_math[j]+R_english[j];
		R_avg[j]=R_sum[j]/3;
	}
	for(int r=0;r<i;r++)
	{
		for(int j=0;j<i-r-1;j++)
		{
			if(R_sum[j+1]>R_sum[j])
			{
				y[j]=R_id[j];R_id[j]=R_id[j+1];R_id[j+1]=y[j];
				y[j]=R_name[j];R_name[j]=R_name[j+1];R_name[j+1]=y[j];
				y[j]=R_sex[j];R_sex[j]=R_sex[j+1];R_sex[j+1]=y[j];
				z[j]=R_age[j];R_age[j]=R_age[j+1];R_age[j+1]=z[j];
				t[j]=R_cpp[j];R_cpp[j]=R_cpp[j+1];R_cpp[j+1]=t[j];
				t[j]=R_math[j];R_math[j]=R_math[j+1];R_math[j+1]=t[j];
				t[j]=R_english[j];R_english[j]=R_english[j+1];R_english[j+1]=t[j];
				t[j]=R_sum[j];R_sum[j]=R_sum[j+1];R_sum[j+1]=t[j];
				t[j]=R_avg[j];R_avg[j]=R_avg[j+1];R_avg[j+1]=t[j];
			}
			else if(R_sum[j+1]==R_sum[j])
			{
				if(R_cpp[j+1]>R_cpp[j])
				{
				y[j]=R_id[j];R_id[j]=R_id[j+1];R_id[j+1]=y[j];
				y[j]=R_name[j];R_name[j]=R_name[j+1];R_name[j+1]=y[j];
				y[j]=R_sex[j];R_sex[j]=R_sex[j+1];R_sex[j+1]=y[j];
				z[j]=R_age[j];R_age[j]=R_age[j+1];R_age[j+1]=z[j];
				t[j]=R_cpp[j];R_cpp[j]=R_cpp[j+1];R_cpp[j+1]=t[j];
				t[j]=R_math[j];R_math[j]=R_math[j+1];R_math[j+1]=t[j];
				t[j]=R_english[j];R_english[j]=R_english[j+1];R_english[j+1]=t[j];
				t[j]=R_sum[j];R_sum[j]=R_sum[j+1];R_sum[j+1]=t[j];
				t[j]=R_avg[j];R_avg[j]=R_avg[j+1];R_avg[j+1]=t[j];
				}
				else if(R_cpp[j+1]==R_cpp[j])
				{
					if(R_math[j+1]>R_math[j])
					{
						y[j]=R_id[j];R_id[j]=R_id[j+1];R_id[j+1]=y[j];
						y[j]=R_name[j];R_name[j]=R_name[j+1];R_name[j+1]=y[j];
						y[j]=R_sex[j];R_sex[j]=R_sex[j+1];R_sex[j+1]=y[j];
						z[j]=R_age[j];R_age[j]=R_age[j+1];R_age[j+1]=z[j];
						t[j]=R_cpp[j];R_cpp[j]=R_cpp[j+1];R_cpp[j+1]=t[j];
						t[j]=R_math[j];R_math[j]=R_math[j+1];R_math[j+1]=t[j];
						t[j]=R_english[j];R_english[j]=R_english[j+1];R_english[j+1]=t[j];
						t[j]=R_sum[j];R_sum[j]=R_sum[j+1];R_sum[j+1]=t[j];
						t[j]=R_avg[j];R_avg[j]=R_avg[j+1];R_avg[j+1]=t[j];
					}
					else if(R_english[j+1]>R_english[j])
					{
						y[j]=R_id[j];R_id[j]=R_id[j+1];R_id[j+1]=y[j];
						y[j]=R_name[j];R_name[j]=R_name[j+1];R_name[j+1]=y[j];
						y[j]=R_sex[j];R_sex[j]=R_sex[j+1];R_sex[j+1]=y[j];
						z[j]=R_age[j];R_age[j]=R_age[j+1];R_age[j+1]=z[j];
						t[j]=R_cpp[j];R_cpp[j]=R_cpp[j+1];R_cpp[j+1]=t[j];
						t[j]=R_math[j];R_math[j]=R_math[j+1];R_math[j+1]=t[j];
						t[j]=R_english[j];R_english[j]=R_english[j+1];R_english[j+1]=t[j];
						t[j]=R_sum[j];R_sum[j]=R_sum[j+1];R_sum[j+1]=t[j];
						t[j]=R_avg[j];R_avg[j]=R_avg[j+1];R_avg[j+1]=t[j];
					}
				}
			
			
			}
		}
		
	}
	for(int k=0;k<i;k++)
	{
		ranking[k]=k+1;
		cout<<"\t"<<" "<<R_id[k]<<"\t"<<" "<<R_name[k]<<"\t"<<" "<<R_sex[k]<<"\t"<<" "<<R_age[k]<<"\t"<<" "
			<<R_cpp[k]<<"\t"<<" "<<R_math[k]<<"\t"<<" "<<R_english[k]<<"\t"<<" "<<R_sum[k]<<"\t"
			<<"  "<<R_avg[k]<<"\t"<<"   "<<ranking[k]<<endl;
	} 
	cout<<"\t"<<"--------------------------------------------------------------------------------"<<endl;
	
}

void student::Analyse()
{
	int exceed_cpp=0,exceed_math=0,exceed_english=0,
		pass_cpp=0,pass_math=0,pass_english=0,
		excellent_cpp=0,excellent_math=0,excellent_english=0;
	float avg_cpp,max_cpp=0,min_cpp=100,sum_cpp=0,
		  avg_math,max_math=0,min_math=100,sum_math=0,
		  avg_english,max_english=0,min_english=100,sum_english=0;
	{
		for(int j=0;j<i;j++)
		{
			sum_cpp+=Cpp[j];
			if(Cpp[j]>max_cpp) max_cpp=Cpp[j];
			if(Cpp[j]<min_cpp) min_cpp=Cpp[j];
		}
			avg_cpp=sum_cpp/i;
		for(int j=0;j<i;j++)
		{
			if(Cpp[j]>=60)
			pass_cpp++;
		}
		for(int j=0;j<i;j++)
		{
			if(Cpp[j]>=80)
			excellent_cpp++;
		}
		for(int j=0;j<i;j++)
		{
			if(Cpp[j]>=avg_cpp)
			exceed_cpp++;
		}
		cout<<endl;
		cout<<"\t"<<"__________________________________________________________________"<<endl; 
		cout<<"\t"<<"<                    班级C++.成绩情况如下:                      >"<<endl;
		cout<<"\t"<<"=================================================================="<<endl;
		cout<<"\t"<<"最高分  最低分  平均分    优良人数    及格人数   超过平均分的人数"<<endl;
		cout<<"\t"<<max_cpp<<"\t"<<min_cpp<<"\t"<<avg_cpp<<"\t"<<"\t"<<excellent_cpp<<"\t"<<pass_cpp<<"\t"<<"\t"<<exceed_cpp<<endl;
		cout<<"\t"<<"------------------------------------------------------------------"<<endl;
		cout<<endl;    	
		
	}
	{
		for(int j=0;j<i;j++)
		{
			sum_math+=Math[j];
			if(Math[j]>max_math) max_math=Math[j];
			if(Math[j]<min_math) min_math=Math[j];
		}
			avg_math=sum_math/i;
		for(int j=0;j<i;j++)
		{
			if(Math[j]>=60)
			pass_math++;
		}
		for(int j=0;j<i;j++)
		{
			if(Math[j]>=80)
			excellent_math++;
		}
		for(int j=0;j<i;j++)
		{
			if(Math[j]>=avg_math)
			exceed_math++;
		}
		cout<<endl;
		cout<<"\t"<<"__________________________________________________________________"<<endl; 
		cout<<"\t"<<"<                    班级数学成绩情况如下:                      >"<<endl;
		cout<<"\t"<<"=================================================================="<<endl;
		cout<<"\t"<<"最高分  最低分  平均分    优良人数    及格人数   超过平均分的人数"<<endl;
		cout<<"\t"<<max_math<<"\t"<<min_math<<"\t"<<avg_math<<"\t"<<"\t"<<excellent_math<<"\t"<<pass_math<<"\t"<<"\t"<<exceed_math<<endl;
		cout<<"\t"<<"------------------------------------------------------------------"<<endl;
		cout<<endl;  
		
	}
	{
		for(int j=0;j<i;j++)
		{
			sum_english+=English[j];
			if(English[j]>max_english) max_english=English[j];
			if(English[j]<min_english) min_english=English[j];
		}
			avg_english=sum_english/i;
		for(int j=0;j<i;j++)
		{
			if(English[j]>=60)
			pass_english++;
		}
		for(int j=0;j<i;j++)
		{
			if(English[j]>=80)
			excellent_english++;
		}
		for(int j=0;j<i;j++)
		{
			if(English[j]>=avg_english)
			exceed_english++;
		}
		cout<<endl;
		cout<<"\t"<<"__________________________________________________________________"<<endl; 
		cout<<"\t"<<"<                    班级英语成绩情况如下:                      >"<<endl;
		cout<<"\t"<<"=================================================================="<<endl;
		cout<<"\t"<<"最高分  最低分  平均分    优良人数    及格人数   超过平均分的人数"<<endl;
		cout<<"\t"<<max_english<<"\t"<<min_english<<"\t"<<avg_english<<"\t"<<"\t"<<excellent_english<<"\t"<<pass_english<<"\t"<<"\t"<<exceed_english<<endl;
		cout<<"\t"<<"------------------------------------------------------------------"<<endl;
		cout<<endl;  
	}	
}

void Page::menu4()
{
	cout<<"〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓"<<endl;
	cout<<"▓                                                     ▓"<<endl;
	cout<<"▓               ★请输入要修改的信息★                ▓"<<endl;
	cout<<"▓                                                     ▓"<<endl;
	cout<<"▓        1.仅修改学号          2.仅修改姓名           ▓"<<endl;
	cout<<"▓                                                     ▓"<<endl;
	cout<<"▓                                                     ▓"<<endl;
	cout<<"▓        3.仅修改成绩          4.修改全部信息         ▓"<<endl;
	cout<<"▓                                                     ▓"<<endl;
	cout<<"▓                      0.退出                         ▓"<<endl;
	cout<<"▓                                                     ▓"<<endl;
	cout<<"〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓"<<endl;
	cout<<endl<<"请输入要修改的信息:";
} 
void student::bukao()
{
	
	cout<<"==============================================="<<endl;
	cout<<"           < 补考学生信息:>           "<<endl;
	cout<<"-----------------------------------------------"<<endl; 
	cout<<" 学号    姓名    性别    年龄    科目"<<endl;
 	cout<<"==============================================="<<endl;
	for(int b=0;b<i;b++)
	{
		
		if(Cpp[b]<60&&Math[b]<60&&English[b]<60)
		{
			cout<<"  "<<ID[b]<<"\t"<<Name[b]<<"\t"<<Sex[b]<<"\t"<<Age[b]<<"\t"<<"C++、数学、英语"<<endl;
			//cout<<"                                数学"<<endl; 
		}
		else if(Cpp[b]<60&&Math[b]<60)
		{
			cout<<"  "<<ID[b]<<"\t"<<Name[b]<<"\t"<<Sex[b]<<"\t"<<Age[b]<<"\t"<<"C++、数学"<<endl; 
		}
		else if(Cpp[b]<60&&English[b]<60)
		{
			cout<<"  "<<ID[b]<<"\t"<<Name[b]<<"\t"<<Sex[b]<<"\t"<<Age[b]<<"\t"<<"C++、英语"<<endl; 
		}
		else if(Math[b]<60&&English[b]<60)
		{
			cout<<"  "<<ID[b]<<"\t"<<Name[b]<<"\t"<<Sex[b]<<"\t"<<Age[b]<<"\t"<<"数学、英语"<<endl;
		}
		else if(Cpp[b]<60)
		{
			cout<<"  "<<ID[b]<<"\t"<<Name[b]<<"\t"<<Sex[b]<<"\t"<<Age[b]<<"\t"<<"C++"<<endl; 
		}
		else if(Math[b]<60)
		{
			cout<<"  "<<ID[b]<<"\t"<<Name[b]<<"\t"<<Sex[b]<<"\t"<<Age[b]<<"\t"<<"数学"<<endl; 
		}
		else if(English[b]<60)
		{
			cout<<"  "<<ID[b]<<"\t"<<Name[b]<<"\t"<<Sex[b]<<"\t"<<Age[b]<<"\t"<<"英语"<<endl; 
		}
	}
	cout<<"_______________________________________________"<<endl;
	
}
void Page::Login1()
{
		int n=1; 
	string password;
	cout<<"============================"<<endl;
	cout<<"->请输入密码:";
	cin>>password;
	while(1){
	
	if(password=="030421")
	{
		cout<<"============================"<<endl;
		cout<<"密码正确!"<<endl;
		cout<<"============================"<<endl;system("pause");system("cls");break;
	}
	else
	{
		cout<<"============================" <<endl;
		cout<<"密码错误!请重新输入:";
		n++;
		cin>>password;
		if(n==5)
		{
			cout<<"============================"<<endl;
			cout<<"*密码错误5次,你无权访问!!!*"<<endl;
			cout<<"============================"<<endl;
			exit(0); 
		}
	}
	}		
	
}

运行过程如下:

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个C++管理系统基本涵盖了“学生成绩管理系统”的所有功能,你可以从中借鉴到C++链表、类、封装、继承、文件操作、排序等等很多知识,极具借鉴意义,以下为本项目的功能介绍: 1. 建立文件 (1)可以使用默认文件名或指定文件名将记录存储到 (2)设置适当的标志位,作为对记录进操作的 (3)写同名文件将覆盖原来文件的 2.增加学生记录 (1) 可在已有记录后面追加新的记录 (2) 可以随时增加新的记录,它们仅保存在向量数组中 (3) 可以将一个文件读入,追加在已有记录之后 (4) 采取文件追加方式时,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续追加操作方式 3. 新建学生信息文件 (1) 用来新建学生信息记录 (2) 如果已经有记录存在,可以覆盖原记录或者在原记录后面追加,也可以将原有记录信息保存 到一个指定文件,然后重新建立记录 (3) 给出相应的提示信息 4. 显示记录 (1) 如果没有记录可供显示,给出提示信息 (2) 可以随时显示内存中的记录 (3) 显示表头 5. 文件存储 (1) 可以按默认名字或指定名字存储记录文件 6. 读取文件 (1) 可以按默认名字或指定名字将记录文件读入内存 (2) 可以将指定或默认文件追加到现有记录的尾部 (3) 可以将文件连续追加到现有记录并更新记录中的“名次” 7. 删除记录 (1) 可以按“学号”、“姓名”或“名次”方式删除记录 (2) 标志将被删除的记录, 可以再次取消标志, 经确认后删除已经标志的记录(3) 如果记录是空表, 删除时应给出提示信息并返回主菜单 (4) 如果没有要删除的信息, 输出“没有找到”的信息 (5) 更新其他记录的名次 (6) 删除操作仅限于内存, 只有执存储操作时, 才能覆盖原记录 8. 修改记录 (1) 可以按“学号”、“姓名”或“名次”方式查找要修改的记录内容 (2) 给出将被修改记录的信息, 经确认后进修改 (3) 如果记录已经是空表,应给出提示信息并返回主菜单 (4) 如果没有找到需要修改的信息, 输出“没有找到”的信息 (5) 更新其他记录的名次 (6) 修改操作仅限于内存, 只有执存储操作时, 才能覆盖原记录 9. 查询记录 (1) 可以按“学号”、“姓名”或“名次”方式查询记录 (2) 能给出查询记录的信息 (3) 如果查询的信息不存在, 输出提示信息 10. 对记录进排序 (1) 可以按”学号”进升序和降序排列 (2) 可以按”姓名”进升序和降序排列 (3) 可以按”名次”进升序和降序排列 (4) 如果属于选择错误, 可以立即退出程序
C 期末项目设计学生成绩信息管理可以采用数据库管理系统来实现。 首先,需要设计一张学生信息的表,包含学生的学号、姓名、性别、年龄等相关信息。每当有新的学生加入或者学生信息更新时,都可以在此表中进相应的操作。 其次,需要设计一张课程信息的表,包含课程的编号、名称、学分等相关信息。每当有新的课程加入或者课程信息更新时,都可以在此表中进相应的操作。 接着,需要设计一张成绩信息的表,包含学生学号、课程编号、成绩等相关信息。每当有学生成绩录入或者成绩更新时,都可以在此表中进相应的操作。 在管理学生成绩信息方面,可以提供以下功能: 1. 学生信息的查询:可以通过学号或者姓名来查询指定学生的个人信息。 2. 课程信息的查询:可以通过课程编号或者名称来查询指定课程的详细信息。 3. 成绩录入和更新:可以针对不同的学生和课程来录入或者更新学生成绩。 4. 成绩统计和分析:可以根据不同的查询条件,对学生的成绩进统计和分析操作,例如计算平均分、最高分、最低分等。 5. 成绩报表生成:可以根据需要生成各种形式的成绩报表,方便学生和教师查看和分析学生成绩。 除了上述功能,还可以考虑添加密码保护的功能,以保护学生和教师信息的安全性。 总之,通过设计一个数据库管理系统来实现学生成绩信息管理,可以提高成绩信息的存储效率和查询速度,方便学生和教师对成绩进管理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值