基于顺序表对成绩表的操作(录入,插入,删除,排序)

#include 
#include 
#include 
#include 
#include  
using namespace std;

void Store();
void Insert();
void Delete();
void Show_all();
void Menu();

int num=0; //统计学生人数
typedef struct{
string name;
int math;
int english;
}Student;

Student student[100];

void mathScore_paixu();
void englishScore_paixu();

int main(){

int a;

while(1){
	Menu();
	cout<<"请输入数字选择:";
	cin>>a;
     if(a==1){
		Store();	
	}else if(a==2){
		Insert();	
	}else if(a==3){
		Delete();	
	}else if(a==4){
		Show_all();	
	}else if(a==5){
        mathScore_paixu();
	}
	else if(a==6){
	    englishScore_paixu();	
	}
	else break;
}
 
return 0;

}

void Menu(){ //目录
printf("\t\t******************************\n");
printf("\t\t* 1.录入学生数据 \n");
printf("\t\t
2.插入学生信息 \n");
printf("\t\t
3.删除学生信息 \n");
printf("\t\t
4.显示所有学生信息 \n");
printf("\t\t
5.高数成绩排序 \n");
printf("\t\t
6.英语成绩排序 \n");
printf("\t\t
7.退出 \n");
printf("\t\t
*****************************\n\n");
}

void Store(){ //录入学生信息
system(“cls”);
int n;
printf("\n请输入学生人数(小于100):");
cin>>n;
num=n;
cout <<“姓名”<<’\t’<<“高数”<<’\t’<<“英语”<< endl;
for(int i=0;i cin>>student[i].name;
cin>>student[i].math;
cin>>student[i].english;
}
system(“cls”);
printf(“学生信息录入完毕!\n\n”);
}

void Insert(){ //插入学生信息
int c;
system(“cls”) ;
printf("\n请输入插入位置:");
cin>>c;
cout <<“姓名”<<’\t’<<“高数”<<’\t’<<“英语”<< endl;
for(int i=num;i>=c;i–) {
student[i].name = student[i-1].name ;
student[i].math = student[i-1].math ;
student[i].english = student[i-1].english;
}
cin>>student[c-1].name ;
cin>>student[c-1].math;
cin>>student[c-1].english;
system(“cls”);
printf(“插入成功!\n\n”);
num++;
}

void Delete(){ //删除某位置的学生的信息
system(“cls”);
int a;
printf(“请输入删除学生的位置:”);
cin>>a;
for(int i=a-1;i student[i].name = student[i+1].name ;
student[i].math = student[i+1].math;
student[i].english= student[i+1].english;
}
num–;
}

void Show_all(){ //显示所有学生信息
system(“cls”);
if(num>=0) {
printf(“共有%d位学生\n\n”,num);
cout <<“姓名”<<’\t’<<“高数”<<’\t’<<“英语”<< endl;
for(int i=0;i cout < }
printf(“全部学生信息显示完毕!\n\n”);
}
else printf(“请先录入学生信息!\n\n”);
}

使用冒泡排序对成绩进行排序

void mathScore_paixu()  //按高数成绩排序(降序) 
{
    int len=num;
    for(int j=0; j

你可能感兴趣的:(数据结构)