//学生信息管理系统
#include<bits/stdc++.h>
using namespace std;
struct{
string name;//姓名
string number;//学号
string sex;//性别
string age;//年龄
string grade;//班级
string score;//分数
}stu[20000];
int num=0;//人数
void menu(){
cout<<"*********学生管理系统*********"<<endl;
cout.width(22);
cout<<"1.添加学生信息"<<endl;
cout.width(22);
cout<<"2.删除学生信息"<<endl;
cout.width(22);
cout<<"3.修改学生信息"<<endl;
cout.width(22);
cout<<"4.查询学生信息"<<endl;
cout.width(22);
cout<<"5.显示所有信息"<<endl;
cout.width(22);
cout<<"0.退出管理软件"<<endl;
cout<<"******************************"<<endl;
}
void add_student(){
cout<<"*********添加学生信息*********"<<endl;
cout<<"请输入学生姓名:";
cin>>stu[num].name;
cout<<"请输入学生学号:";
cin>>stu[num].number;
cout<<"请输入学生性别:";
cin>>stu[num].sex;
cout<<"请输入学生年龄:";
cin>>stu[num].age;
cout<<"请输入学生班级:";
cin>>stu[num].grade;
cout<<"请输入学生分数:";
cin>>stu[num].score;
cout<<"添加成功!"<<endl;
num++;
cout<<"******************************"<<endl;
}
void delete_student(){
cout<<"*********删除学生信息*********"<<endl;
string stu_name;
string number;
cout<<"请输入您要删除的学生姓名:";
cin>>stu_name;
cout<<"请输入您要删除的学生学号:";
cin>>number;
bool b=false;
for(int i=0;i<num;i++){
if(stu[i].name==stu_name&&stu[i].number==number){
for(int j=i;j<num;j++){
stu[j]=stu[j+1];
}
b=true;
num--;
break;
}
}
if(b){
cout<<"学号为"<<number<<"的"<<stu_name<<"同学的信息已删除"<<endl;
}else{
cout<<"查无此人,请重新输入..."<<endl;
delete_student();
}
cout<<"******************************"<<endl;
}
bool update(int n,string value,int index){
switch(n){
case 1:stu[index].name=value;break;
case 2:stu[index].number=value;break;
case 3:stu[index].sex=value;break;
case 4:stu[index].age=value;break;
case 5:stu[index].grade=value;break;
case 6:stu[index].score=value;break;
default:return false;
}
return true;
}
void update_student(){
cout<<"*********修改学生信息*********"<<endl;
int n;
string number;
string grade;
cout<<"请输入您要修改的学生班级:";
cin>>grade;
cout<<"请输入您要修改的学生学号:";
cin>>number;
int index;
for(int i=0;i<num;i++){
if(stu[i].number==number&&stu[i].grade==grade){
index=i;
break;
}
}
string value;
cout<<"1.姓名"<<" 2.学号"<<" 3.性别"<<" 4.年龄"<<" 5.班级"<<" 6.分数"<<endl;
cout<<"请输入您要修改的关键字序号:";
cin>>n;
cout<<"请输入您要修改的内容:";
cin>>value;
if(update(n,value,index)){
cout<<stu[index].name<<"的信息修改成功!"<<endl;
}else{
cout<<stu[index].name<<"的信息修改失败!"<<endl;
}
}
void display(int i){
cout<<stu[i].name<<"\t";
cout<<stu[i].number<<"\t";
cout<<stu[i].sex<<"\t";
cout<<stu[i].age<<"\t";
cout<<stu[i].grade<<"\t";
cout<<stu[i].score<<endl;
}
bool find(int n,string value){
bool isempty=true;
cout<<"******************************"<<endl;
cout<<"姓名\t"<<"学号\t"<<"性别\t"<<"年龄\t"<<"班级\t\t"<<"分数"<<endl;
for(int i=0;i<num;i++){
switch(n){
case 1:{
if(stu[i].name==value){
display(i);
isempty=false;
}
break;
}
case 2:{
if(stu[i].number==value){
display(i);
isempty=false;
}
break;
}
case 3:{
if(stu[i].sex==value){
display(i);
isempty=false;
}
break;
}
case 4:{
if(stu[i].age==value){
display(i);
isempty=false;
}
break;
}
case 5:{
if(stu[i].grade==value){
display(i);
isempty=false;
}
break;
}
case 6:{
if(stu[i].score==value){
display(i);
isempty=false;
}
break;
}
default:cout<<"关键字序号错误!"<<endl;return false;
}
}
if(isempty)
return false;
return true;
}
void search_student(){
cout<<"********搜索学生信息*********"<<endl;
cout<<"1.姓名"<<" 2.学号"<<" 3.性别"<<" 4.年龄"<<" 5.班级"<<" 6.分数"<<endl;
int n;
string value;
cout<<"请输入您要搜索的关键字序号:";
cin>>n;
cout<<"请输入您要查找的内容:";
cin>>value;
if(find(n,value))
cout<<"查找成功"<<endl;
else{
cout<<"查找失败"<<endl;
}
cout<<"******************************"<<endl;
}
void show_student(){
if(num==0){
cout<<"查询到您的系统中还没有学生信息,请先添加!"<<endl;
add_student();
}else{
cout<<"*******查询所有学生信息*******"<<endl;
cout<<"姓名\t"<<"学号\t"<<"性别\t"<<"年龄\t"<<"班级\t\t"<<"分数"<<endl;
for(int i=0;i<num;i++){
cout<<stu[i].name<<"\t";
cout<<stu[i].number<<"\t";
cout<<stu[i].sex<<"\t";
cout<<stu[i].age<<"\t";
cout<<stu[i].grade<<"\t";
cout<<stu[i].score<<endl;
}
cout<<"******************************"<<endl;
}
}
int main(){
int n;
menu();
cout<<"请输入指令序号:";
while(cin>>n){
switch(n){
case 1:add_student();break;
case 2:delete_student();break;
case 3:update_student();break;
case 4:search_student();break;
case 5:show_student();break;
case 0:cout<<"欢迎下次使用学生管理系统!";return 0;
default:cout<<"输入的指令序列不正确!"<<endl;break;
}
menu();
cout<<"请输入指令序号:";
}
}
课程设计:编程实现学生信息管理系统
最新推荐文章于 2023-04-18 15:44:00 发布