学生信息管理系统(C++)大二写的

功能要求
功能截图

#include<iostream.h>
#include<stdlib.h>
#include <stdio.h>
#include<string.h>
#include<process.h>
#include <conio.h>
#include<fstream.h>
#include"windows.h"
const int maxsize =100;
struct student
{
	int no;			/*学号*/
	char name[10];	/*姓名*/
	char sex[4];	/*性别*/
	int age;		/*年龄*/
	double score[5];/*5门课程成绩*/
	char tel[15];	/*电话*/
	double ave;		/*平均分*/
	double sum;		/*总分*/
};

/*---------------------------------------顺序表结构体组成-------------------------------------------*/
typedef struct
{
	student stud[maxsize];
	int length;//长度
}SeqList;
/*-------------------------------------------构造空表---------------------------------------------*/
void Init_Student(SeqList &l)
{
	l.length=0;//初始值
}

/*-------------------------------------学生人数长度--------------------------------------------*/
void ListLength_Seq(SeqList &l)
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);//红色
	cout<<"学生人数:"<<l.length<<endl;
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色

}
/*---------------------------------------给出判定为满-----------------------------------------*/
void Full_Student(SeqList &l)
{
	if(l.length >= maxsize)cout<<"线性表已满!"<<endl;
}
/*---------------------------------------给出判定为满-----------------------------------------*/
void Empty_Student(SeqList &l)
{
	if(l.length == 0)cout<<"空表!"<<endl;
}

/*-------------------------------------1.批量赋值学生信息--------------------------------------------*/
void Create(SeqList &l,student a[],int n)//参数线性表的表长,学生结构,人数
{
	l.length=0;
	for(int i=0;i<n;i++)
	{
		l.stud[l.length].no=a[i].no;//a[i].no输入的学生学号被赋值给顺序表的相应位置
		strcpy(l.stud[l.length].name,a[i].name);//与a[i].no相似
		strcpy(l.stud[l.length].sex,a[i].sex);
		l.stud[l.length].age=a[i].age;
		l.stud[l.length].score[0]=a[i].score[0];
		l.stud[l.length].score[1]=a[i].score[1];
		l.stud[l.length].score[2]=a[i].score[2];
		l.stud[l.length].score[3]=a[i].score[3];
		l.stud[l.length].score[4]=a[i].score[4];
		strcpy(l.stud[l.length].tel,a[i].tel);
		l.stud[l.length].ave=(l.stud[l.length].score[0]+//平均成绩
							  l.stud[l.length].score[1]+
							  l.stud[l.length].score[2]+
							  l.stud[l.length].score[3]+
							  l.stud[l.length].score[4])/5.0; 
		l.stud[l.length].sum=l.stud[l.length].score[0]+//总分
							 l.stud[l.length].score[1]+
							 l.stud[l.length].score[2]+
							 l.stud[l.length].score[3]+
							 l.stud[l.length].score[4];
		l.length++;
	}
}


/*-------------------------------------2.输出所有学生信息--------------------------------------------*/
void Show_Seq(SeqList &l)
{
	if(l.length==0)
		cout<<"没有任何记录!"<<endl;
	else
	{
		for (int b =0; b < 85; b++)
		putchar('=');putchar('\n');
		cout<<"学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t物理\t生物\t电话"<<endl;
		for (b =0; b < 85; b++)
		putchar('=');putchar('\n');
		for(int i=0;i<l.length;i++)//循环输出学生信息
		cout<<l.stud[i].no<<"\t"
		<<l.stud[i].name<<"\t"
		<<l.stud[i].sex<<"\t"
		<<l.stud[i].age<<"\t"
		<<l.stud[i].score[0]<<"\t"
		<<l.stud[i].score[1]<<"\t"
		<<l.stud[i].score[2]<<"\t"
		<<l.stud[i].score[3]<<"\t"
		<<l.stud[i].score[4]<<"\t"
		<<l.stud[i].tel<<endl;
		for (int c =0; c < 85; c++)
		putchar('=');putchar('\n');
	}
} 



/*------------------------------------3.增加学生信息--------------------------------------------*/
void ListInsert_Seq(SeqList &l,int i,student e)
{
	if(l.length >= maxsize){cout<<"表满!"<<endl;exit(1);}//如果长度大于本系统自定义的最大值,会自行停止操作
	if(i<1 || i>l.length+1){cout<<"i的值不合法"<<endl;exit(1);}//还是超出表长范围还是会停止操作
	for(int j=l.length-1;j>=i-1;j--)
	{
		l.stud[j+1].no=l.stud[j].no;
		strcpy(l.stud[j+1].name,l.stud[j].name);
		strcpy(l.stud[j+1].sex,l.stud[j].sex);//依次将需要增加的学生信息赋值给原顺序表尾部
		l.stud[j+1].age=l.stud[j].age;
		l.stud[j+1].score[0]=l.stud[j].score[0];
		l.stud[j+1].score[1]=l.stud[j].score[1];
		l.stud[j+1].score[2]=l.stud[j].score[2];
		l.stud[j+1].score[3]=l.stud[j].score[3];
		l.stud[j+1].score[4]=l.stud[j].score[4];
		strcpy(l.stud[j+1].tel,l.stud[j].tel);
		l.stud[j+1].ave=l.stud[j].ave;
		l.stud[j+1].sum=l.stud[j].sum;
	}

	l.stud[i-1].no=e.no;
	strcpy(l.stud[i-1].name,e.name);
	strcpy(l.stud[i-1].sex,e.sex);
	l.stud[i-1].age=e.age;
	l.stud[i-1].score[0]=e.score[0];
	l.stud[i-1].score[1]=e.score[1];
	l.stud[i-1].score[2]=e.score[2];
	l.stud[i-1].score[3]=e.score[3];
	l.stud[i-1].score[4]=e.score[4];
	strcpy(l.stud[i-1].tel,e.tel);
	l.stud[i-1].ave=(l.stud[l.length].score[0]+
						  l.stud[l.length].score[1]+
						  l.stud[l.length].scor

 1. List item

e[2]+
						  l.stud[l.length].score[3]+
						  l.stud[l.length].score[4])/5.0; 
	l.stud[i-1].sum=l.stud[l.length].score[0]+
						 l.stud[l.length].score[1]+
						 l.stud[l.length].score[2]+
						 l.stud[l.length].score[3]+
						 l.stud[l.length].score[4];
	l.length++;
}

/*-------------------------------------4.删除学生信息--------------------------------------------*/
void ListDelete_Seq(SeqList &l,int i,student &e)
{
	if(i<0 || i>l.length){cout<<"i的值不合法"<<endl;exit(1);}
	e.no=l.stud[i-1].no;
	strcpy(e.name,l.stud[i-1].name);
	strcpy(e.sex,l.stud[i-1].sex);
	e.age=l.stud[i-1].age;
	e.score[0]=l.stud[i-1].score[0];
	e.score[1]=l.stud[i-1].score[1];
	e.score[2]=l.stud[i-1].score[2];
	e.score[3]=l.stud[i-1].score[3];
	e.score[4]=l.stud[i-1].score[4];
	strcpy(e.tel,l.stud[i-1].tel);
	e.ave=l.stud[i-1].ave;
	e.sum=l.stud[i-1].sum;
	
	for(int j=i-1;j<l.length;j++)//当i值合法时想要删除的学生信息后的内容就会前移动一个
	{
		l.stud[j].no=l.stud[j+1].no;
		strcpy(l.stud[j].name,l.stud[j+1].name);
		strcpy(l.stud[j].sex,l.stud[j+1].sex);
		l.stud[j].age=l.stud[j+1].age;
		l.stud[j].score[0]=l.stud[j+1].score[0];
		l.stud[j].score[1]=l.stud[j+1].score[1];
		l.stud[j].score[2]=l.stud[j+1].score[2];
		l.stud[j].score[3]=l.stud[j+1].score[3];
		l.stud[j].score[4]=l.stud[j+1].score[4];
		strcpy(l.stud[j].tel,l.stud[j+1].tel);
		l.stud[j].ave=l.stud[j+1].ave;
		l.stud[j].sum=l.stud[j+1].sum;
	}
	l.length--;
}

/*-------------------------------------5.查询学号位置--------------------------------------------*/
int LocateElem_Seq(SeqList l,int e)
{
	for(int i=0;i<l.length;i++)//判断学号的位置信息
		if(l.stud[i].no==e)
			return i+1;
	return 0;
}

/*-------------------------------------6.统计男生人生人数-----------------------------------------*/
void tong(SeqList &l)
{
	int i,girl=0,boy=0;
	for (i = 0;i <l.length; i++) 
	{
		if ((strcmp(l.stud[i].sex,"女")==0))girl++;//顺序表存储空间里面每一个学生性别与‘女’比较,如果差值为0女生人数+1
		else boy++;//否则男生人数+1;直到表长截止
	}
	for (i =0; i < 80; i++)
	putchar('=');putchar('\n');

	cout<<"女生人数:"<<girl<<"\t"<<"男生人数:"<<boy<<endl;

	for (i =0; i < 80; i++)
	putchar('=');
	putchar('\n');
}

/*----------------------------------7.输出学号,姓名,平均分,总分----------------------------------------*/
void output(SeqList &l)
{
	cout<<endl;
	for (int b =0; b < 80; b++)
	putchar('=');putchar('\n');
	cout<<"学号\t姓名\t语文\t数学\t英语\t物理\t生物\t平均分\t总分"<<endl;
	for (b =0; b < 80; b++)
	putchar('=');putchar('\n');
	for(int i=0;i<l.length;i++)
		cout<<l.stud[i].no<<"\t"
		<<l.stud[i].name<<"\t"
		<<l.stud[i].score[0]<<"\t"
		<<l.stud[i].score[1]<<"\t"
		<<l.stud[i].score[2]<<"\t"
		<<l.stud[i].score[3]<<"\t"
		<<l.stud[i].score[4]<<"\t"
		<<l.stud[i].ave<<"\t"
		<<l.stud[i].sum<<endl;
	for (int c =0; c < 80; c++)
	putchar('=');putchar('\n');
}

/*-------------------------------------结构体赋值-------------------------------------------*/
void copy(student &r1,student r2)
{
	r1.no=r2.no;//将整个顺序表每一个学生的信息整体赋值
	strcpy(r1.name,r2.name);
	strcpy(r1.sex,r2.sex);
	r1.age=r2.age;
	r1.score[0]=r2.score[0];
	r1.score[1]=r2.score[1];
	r1.score[2]=r2.score[2];
	r1.score[3]=r2.score[3];
	r1.score[4]=r2.score[4];
	r1.ave=r2.ave;
	r1.sum=r2.sum;
	strcpy(r1.tel,r2.tel);
}

/*--------------------------9.求每门课程最高分的学生学号,姓名,课程成绩---------------------------------*/
void Max(SeqList &l)
{
	int i,j,w,n,b;
	student temp;
	n=l.length;
	cout<<"1--语文  2--数学  3--英语  4--物理  5--生物"<<endl;
lab12:	
	cout<<endl;
	cout<<"请选择对应的序号(退出请按0):";
	cin>>w;
	if(w==0)return;
		if(w==1)//当输入为1时,语文成绩进行排序
		{
		for(i=0;i<n;i++)
			for(j=0;j<=n-i;j++)
				if(l.stud[j].score[0]<l.stud[j+1].score[0])
				{	
					copy(temp,l.stud[j]);//整个学生信息赋值交换
					copy(l.stud[j],l.stud[j+1]);
					copy(l.stud[j+1],temp);
				}
				
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				cout<<"学号\t姓名\t语文最高分"<<endl;
			
				for(i=0;i<l.length;i++)
				{
					if(l.stud[i].score[0]==l.stud[0].score[0])//如果最高分有多个,则多个输出
				cout<<l.stud[i].no<<"\t"
					<<l.stud[i].name<<"\t"
					<<l.stud[i].score[0]<<endl;
				}
				
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				goto lab12;
		}

		else if(w==2)//当输入为2时,数学成绩进行排序
		{
			for(i=0;i<n;i++)
			for(j=0;j<=n-i;j++)
				if(l.stud[j].score[1]<l.stud[j+1].score[1])
				{	
					copy(temp,l.stud[j]);//整个学生信息赋值交换
					copy(l.stud[j],l.stud[j+1]);
					copy(l.stud[j+1],temp);
				}
				
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				cout<<"学号\t姓名\t数学最高分"<<endl;
				for(i=0;i<l.length;i++)
				{
					if(l.stud[i].score[1]==l.stud[0].score[1])//如果最高分有多个,则多个输出
				cout<<l.stud[i].no<<"\t"
					<<l.stud[i].name<<"\t"
					<<l.stud[i].score[1]<<endl;
				}	
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				goto lab12;
		}
		
		else if(w==3)//当输入为3时,英语成绩进行排序
		{
			for(i=0;i<n;i++)
			for(j=0;j<=n-i;j++)
				if(l.stud[j].score[2]<l.stud[j+1].score[2])
				{	
					copy(temp,l.stud[j]);//整个学生信息赋值交换
					copy(l.stud[j],l.stud[j+1]);
					copy(l.stud[j+1],temp);
				}
				
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');

				cout<<"学号\t姓名\t英语最高分"<<endl;
				for(i=0;i<l.length;i++)
				{
					if(l.stud[i].score[2]==l.stud[0].score[2])//如果最高分有多个,则多个输出
				cout<<l.stud[i].no<<"\t"
					<<l.stud[i].name<<"\t"
					<<l.stud[i].score[2]<<endl;
				}
				
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				goto lab12;
		}
		
		else if(w==4)//当输入为4时,物理成绩进行排序
		{
			for(i=0;i<n;i++)
			for(j=0;j<=n-i;j++)
				if(l.stud[j].score[3]<l.stud[j+1].score[3])
				{	
					copy(temp,l.stud[j]);//整个学生信息赋值交换
					copy(l.stud[j],l.stud[j+1]);
					copy(l.stud[j+1],temp);
				}
				
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				cout<<"学号\t姓名\t物理最高分"<<endl;
				for(i=0;i<l.length;i++)
				{
					if(l.stud[i].score[3]==l.stud[0].score[3])//如果最高分有多个,则多个输出
				cout<<l.stud[i].no<<"\t"
					<<l.stud[i].name<<"\t"
					<<l.stud[i].score[3]<<endl;
				}	
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				goto lab12;
		}
		
		else if(w==5)//当输入为5时,生物成绩进行排序
		{
			for(i=0;i<n;i++)
			for(j=0;j<=n-i;j++)
				if(l.stud[j].score[4]<l.stud[j+1].score[4])
				{	
					copy(temp,l.stud[j]);//整个学生信息赋值交换
					copy(l.stud[j],l.stud[j+1]);
					copy(l.stud[j+1],temp);
				}
				
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				cout<<"学号\t姓名\t生物最高分"<<endl;
				for(i=0;i<l.length;i++)
				{
					if(l.stud[i].score[4]==l.stud[0].score[4])//如果最高分有多个,则多个输出
				cout<<l.stud[i].no<<"\t"
					<<l.stud[i].name<<"\t"
					<<l.stud[i].score[4]<<endl;
				}
				for (b =0; b < 50; b++)
				putchar('=');putchar('\n');
				goto lab12;
		}

		else 
		{
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
			cout<<"序号错误!重新输入:"<<endl;
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
			goto lab12;
		}
}

/*-------------------------------------10.总分排序-------------------------------------------*/
void summax(SeqList &l)
{
	int i,j,n,b;
	student temp;
	n=l.length;
	for(i=0;i<n;i++)
	{		
		for(j=0;j<n-i;j++)//已总分成绩为判断排序,最大在上,冒泡排序
		if(l.stud[j].sum<=l.stud[j+1].sum)
			{	
				copy(temp,l.stud[j]);
				copy(l.stud[j],l.stud[j+1]);
				copy(l.stud[j+1],temp);
			}
	}
	for (b =0; b < 50; b++)
	putchar('=');putchar('\n');
	cout<<"学号\t姓名\t总分"<<endl;
	for (b =0; b < 50; b++)
	putchar('=');putchar('\n');
	for(i=n-1;i>=0;i--)//将已排好的顺序逆序输出,即为最小在上,最大在下
		{
			cout<<l.stud[i].no<<"\t"
				<<l.stud[i].name<<"\t"
				<<l.stud[i].sum<<endl;
		}
	for (b =0; b < 50; b++)
	putchar('=');putchar('\n');
				
}

int main()
{
	SeqList List;
	struct student st[100];
	Init_Student(List);//构造空表
	int n;
	int choice=0;
	do
	{
		cout<<"			 学生成绩管理系统"<<endl;
		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<<"          *	     9. 指定课程最高分		      *"<<endl;
		cout<<"          *	     10. 按总分排序		      *"<<endl;
		cout<<"          *				              *"<<endl;
		cout<<"          *********************************************"<<endl;
		cout<<endl;

laba:	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_GREEN);//青色
		cout<<"请选择想要操作的序号:";	cin>>choice;
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
		switch(choice)
		{
		
		case 1://批量输入学生信息
			{
				cout<<"请学生人数:";
				cin>>n;
				cout<<"请输入每位学生的信息(中间以tab隔开):"<<endl;
				for (int b =0; b < 85; b++)putchar('=');putchar('\n');
				cout<<"学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t物理\t生物\t电话"<<endl;
				for(int i=0;i<n;i++)
					cin>>st[i].no
					>>st[i].name
					>>st[i].sex
					>>st[i].age
					>>st[i].score[0]
					>>st[i].score[1]
					>>st[i].score[2]
					>>st[i].score[3]
					>>st[i].score[4]
					>>st[i].tel;
				for (b =0; b < 85; b++)putchar('=');putchar('\n');
				Create(List,st,n);
				cout<<"任意键返回!"<<endl;
				getch();
				system("cls");
				break;
			}

		case 2://输出所有学生信息
			{
				Show_Seq(List);
				ListLength_Seq(List);
				cout<<endl;
				cout<<"按任意键返回"<<endl;
				getch();
				system("cls");
				break;
			}


		case 3://增加学生信息
			{
				struct student s;
				int m;
	labq:		cout<<"增加的第几位学生(输入0退出):";cin>>m;
				while(m!=0)
				{
		lab0:	cout<<"学号:";cin>>s.no;
				int index=LocateElem_Seq(List,s.no);
				if(index==0)
				{
					cout<<"姓名:";
					cin>>s.name;
				}
				else
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"该学号已存在!(重新输入)"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab0;
				}

		lab:	cout<<"性别:";cin>>s.sex;
				if(strcmp(s.sex,"女")==0 || strcmp(s.sex,"男")==0)
				cout<<"年龄:";
				else
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"性别输入错误!请输入男or女"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab;
				}
				cin>>s.age;
				
		lab1:	cout<<"语文(0~100):";cin>>s.score[0];
				if(s.score[0]>=0 && s.score[0]<=100)
		lab2:	cout<<"数学:";
				else	
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"成绩超出范围!"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab1;
				}
				cin>>s.score[1];
				if(s.score[1]>=0 && s.score[1]<=100)
		lab3:	cout<<"英语:";
				else	
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"成绩超出范围!"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab2;
				}
				cin>>s.score[2];
				if(s.score[2]>=0 && s.score[2]<=100)
		lab4:	cout<<"物理:";
				else	
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"成绩超出范围!"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab3;
				}
				cin>>s.score[3];
				if(s.score[3]>=0 && s.score[3]<=100)
		lab5:	cout<<"生物:";
				else	
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"成绩超出范围!"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab4;
				}
				cin>>s.score[4];
				if(s.score[4]>=0 && s.score[4]<=100)
				cout<<"电话:";
				else	
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"成绩超出范围!"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab5;
				}
				cin>>s.tel;
				ListInsert_Seq(List,List.length+1,s);
				cout<<endl;
				goto labq;
				}
				cout<<"目前全部学生信息如下:"<<endl;;
				Show_Seq(List);
				ListLength_Seq(List);
				cout<<"任意键返回!"<<endl;
				getch();
				system("cls");
				break;
			}

		case 4://删除学生信息
			{
	lab00:		cout<<"请输入需要删除的学生学号:";
				cin>>n;
				int index=LocateElem_Seq(List,n);
				if(index==0)
				{	
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"无此学号!(重新输入!)"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab00;
				}
				else
				{
					struct student s;
					ListDelete_Seq(List,index,s);
					cout<<endl;
					cout<<"删除学生信息为:"<<endl;

					for (int b =0; b < 85; b++)
					putchar('=');putchar('\n');
					cout<<"学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t物理\t生物\t电话"<<endl;
					for (b =0; b < 85; b++)
					putchar('=');putchar('\n');
						cout<<s.no<<"\t"
						<<s.name<<"\t"
						<<s.sex<<"\t"
						<<s.age<<"\t"
						<<s.score[0]<<"\t"
						<<s.score[1]<<"\t"
						<<s.score[2]<<"\t"
						<<s.score[3]<<"\t"
						<<s.score[4]<<"\t"
						<<s.tel<<endl;

					for (int c =0; c < 85; c++)
					putchar('=');putchar('\n');
					cout<<endl;

					cout<<"剩余学生信息:"<<endl;
					Show_Seq(List);
					ListLength_Seq(List);

				}
				cout<<"任意键返回!"<<endl;
				getch();
				system("cls");
				break;
			}

		case 5://修改学生年龄
			{
		lab33:	cout<<"请输入要修改年龄的学生学号:";cin>>n;
				int index=LocateElem_Seq(List,n);
				if(index==0)
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"无此学号"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab33;
				}
				else 
				{		cout<<"学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t物理\t生物\t电话"<<endl;
						for (int b =0; b < 85; b++)
						putchar('=');putchar('\n');

							cout<<List.stud[index-1].no<<"\t"
								<<List.stud[index-1].name<<"\t"
								<<List.stud[index-1].sex<<"\t"
								<<List.stud[index-1].age<<"\t"
								<<List.stud[index-1].score[0]<<"\t"
								<<List.stud[index-1].score[1]<<"\t"
								<<List.stud[index-1].score[2]<<"\t"
								<<List.stud[index-1].score[3]<<"\t"
								<<List.stud[index-1].score[4]<<"\t"
								<<List.stud[index-1].tel<<endl;

						for (int c =0; c < 85; c++)
						putchar('=');putchar('\n');
						cout<<endl;
				}
				int age;
				cout<<"修改年龄为:";cin>>age;
				List.stud[index-1].age=age;
				cout<<"修改后学生信息:"<<endl;
				cout<<"学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t物理\t生物\t电话"<<endl;
				for (int b =0; b < 85; b++)
				putchar('=');putchar('\n');

				cout<<List.stud[index-1].no<<"\t"
					<<List.stud[index-1].name<<"\t"
					<<List.stud[index-1].sex<<"\t"
					<<List.stud[index-1].age<<"\t"
					<<List.stud[index-1].score[0]<<"\t"
					<<List.stud[index-1].score[1]<<"\t"
					<<List.stud[index-1].score[2]<<"\t"
					<<List.stud[index-1].score[3]<<"\t"
					<<List.stud[index-1].score[4]<<"\t"
					<<List.stud[index-1].tel<<endl;

				for (int c =0; c < 85; c++)
				putchar('=');putchar('\n');
				cout<<"任意键返回!"<<endl;
				getch();
				system("cls");
				break;
			}
			
			
			
		case 6://按照学生学号查询学生信息
			{
	lab99:		cout<<"请输入需要查询的学生学号:";cin>>n;
				int index=LocateElem_Seq(List,n);
				if(index==0)
				{	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
					cout<<"无此学号!(请重新输入)"<<endl;
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);//原色
					goto lab99;	
				}
				else 
				{	
					cout<<endl;
					cout<<"学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t物理\t生物\t电话"<<endl;
					for (int b =0; b < 85; b++)
						putchar('=');putchar('\n');

							cout<<List.stud[index-1].no<<"\t"
								<<List.stud[index-1].name<<"\t"
								<<List.stud[index-1].sex<<"\t"
								<<List.stud[index-1].age<<"\t"
								<<List.stud[index-1].score[0]<<"\t"
								<<List.stud[index-1].score[1]<<"\t"
								<<List.stud[index-1].score[2]<<"\t"
								<<List.stud[index-1].score[3]<<"\t"
								<<List.stud[index-1].score[4]<<"\t"
								<<List.stud[index-1].tel<<endl;

						for (int c =0; c < 85; c++)
						putchar('=');putchar('\n');
						cout<<endl;
				}
				cout<<"任意键返回!"<<endl;
				getch();
				system("cls");
				break;
			}


		case 7://统计男、女生人数
			{
				tong(List);
				ListLength_Seq(List);
				cout<<"按任意键返回"<<endl;
				getch();
				system("cls");
				break;
			}

		case 8://输出学生学号、姓名、五门课程成绩、平均分、总分
			{
				output(List);
				ListLength_Seq(List);
				cout<<endl;
				cout<<"按任意键返回"<<endl;
				getch();
				system("cls");
				break;
			}

		case 9://课程最高分
			{
				Max(List);
				cout<<"任意键返回!"<<endl;
				getch();
				system("cls");
				break;
			}

		case 10://总分排序
			{	
				summax(List);
				ListLength_Seq(List);
				cout<<"任意键返回!"<<endl;
				getch();
				system("cls");
				break;
				
			}
		default:
			{	
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//红色
				cout<<"输入错误!(重新输入!)"<<endl;
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);
				goto laba;
			
			}
		}
	}while(choice);
	return 0;
}

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值