课程设计:编程实现学生信息管理系统

//学生信息管理系统
#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<<"请输入指令序号:";
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值