#include<iostream>
#include<string>
#include<windows.h>
#define MAXSIZE 100
using namespace std;
//学生类
typedef struct Students_List
{
int num;
string name;
float score;
};
void input_message(Students_List &S)
{
cout<<"请输入学号:";
cin>>S.num;
cout<<"请输入姓名:";
cin>>S.name;
cout<<"请输入分数:";
cin>>S.score;
}
void show_message(Students_List S)
{
cout<<"学号:"<<S.num<<endl;
cout<<"姓名:"<<S.name<<endl;
cout<<"分数:"<<S.score<<endl;
}
void main_menu()
{
system("cls");
cout<<" 欢迎进入学生顺序表 \n"<<endl;
cout<<" 1.添加一个学生信息 "<<endl;
cout<<" 2.修改一个学生信息 "<<endl;
cout<<" 3.删除一个学生信息 "<<endl;
cout<<" 4.查找一个学生信息 "<<endl;
cout<<" 5.显示所有学生信息 "<<endl;
cout<<" 6.显示及格的学生人数 "<<endl;
cout<<" 0.退出 "<<endl;
cout<<"\n\n请选择需要的服务类型:";
}
void main()
{
system("color F4");
int i=0,j,m; //i用于存放当前学生个数,其他均为计数变量
int temp;
int Pass=0;
int main_key; //用于返回主菜单
main_menu();
Students_List S[MAXSIZE];
do{
cin>>temp;
if(temp==1)
{
input_message(S[i]);
if(S[i].score>=60)
Pass++;
i++;
cout<<"系统一秒后返回主菜单";
Sleep(1000);
main_menu();
}
else if(temp==2)
{
cout<<"请输入你要修改学生信息的学号:";
cin>>m;
for(j=0;j<=i;j++)
{
if(S[j].num==m)
break;
}
if(j>i||j<0)
{
printf("该学生信息未录入,系统将退回主菜单;\n");
main_menu();
}
else
{
if(S[j].score>=60)
Pass--;
input_message(S[j]);
if(S[j].score>=60)
Pass++;
cout<<"系统一秒后返回主菜单";
Sleep(1000);
main_menu();
}
}
else if(temp==3)
{
cout<<"请输入你要删除学生信息的学号:";
cin>>m;
for(j=0;j<=i;j++)
{
if(S[j].num==m)
break;
}
if(S[j].score>=60)
Pass--;
if(j>i||j<0)
{
printf("该学生信息未录入,系统将退回主菜单;\n");
main_menu();
}
else
{
for(temp=j;temp<=i;temp++)
{
S[temp].num=S[temp+1].num;
S[temp].name=S[temp+1].name;
S[temp].score=S[temp+1].score;
}
i--;
printf("该学生记录已被删除!\n");
cout<<"系统一秒后返回主菜单";
Sleep(1000);
main_menu();
}
}
else if(temp==4)
{
cout<<"请输入你要查找学生信息的学号:";
cin>>m;
for(j=0;j<=i;j++)
{
if(S[j].num==m)
break;
}
if(j>i||j<0)
{
printf("该学生信息未录入,系统将退回主菜单;\n");
main_menu();
}
else
{
show_message(S[j]);
cout<<"系统5秒后返回主菜单";
Sleep(5000);
main_menu();
}
}
else if(temp==5)
{
for(j=0;j<i;j++)
show_message(S[j]);
cout<<"系统10秒后返回主菜单";
Sleep(10000);
main_menu();
}
else if(temp==6)
{
printf("通过人数: %d\n",Pass);
cout<<"系统3秒后返回主菜单";
Sleep(3000);
main_menu();
}
}while(temp==1||temp==2||temp==3||temp==4||temp==5||temp==6);
}
顺序表的实现
最新推荐文章于 2021-10-15 20:36:07 发布