学生管理器

#include<iostream>
#include<string>
using namespace std;
#define max 1000
struct Student
{
	string name;
	int age;
};
struct user
{
	struct Student a[max];
	int num;
};
void caidan()
{
	    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<<"      ※|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|※"<<endl;
		cout<<"      ▼|================================================================|▼"<<endl;
     	cout<<"请输入你的选择:";		
}
void tianjia(struct user *stu)//添加学生信息
{
	cout<<"请输入名字:";
	cin>>stu->a[stu->num].name;
	cout<<"请输入年龄:";
	cin>>stu->a[stu->num].age;
	stu->num++;
}
int panduan(int num)
{
	if(num==0)
	{
		
		return -1;
	}
	else
		return 1;
}
void dayin(struct user *stu)
{
	if(panduan(stu->num)==1)
	{
	for(int i=0;i<stu->num;i++)
	{
		cout<<"名字为:"<<stu->a[i].name<<"\t年龄为:"<<stu->a[i].age<<endl;
	}
	}
	else
		cout<<"您还未添加数据\n";
}
void chazhao(struct user *stu)
{   
	string name;
	if(panduan(stu->num)==1)
	{
		cout<<"请输入您要查找的人的名字:";
	    cin>>name;
	    for(int i=0;i<stu->num;i++)
	  {
		  if(name==stu->a[i].name)
		 {
			cout<<"名字为:"<<stu->a[i].name<<"\t年龄为:"<<stu->a[i].age<<endl;
		 }
	   }
	}
	else
		cout<<"您还未添加数据\n";
}
void shanchu(struct user *stu)
{
	string name;
	int result=-1;
	if(panduan(stu->num)==1)
	{
		cout<<"请输入您要删除的人的名字:";
	    cin>>name;
		 for(int i=0;i<stu->num;i++)
	    {
		  if(name==stu->a[i].name)
		 {
			 result=i;
			 break;
		  }
		 }
		 if(result==-1)
		 {
			 cout<<"未能找到这个人的数据"<<endl;
			 return ;
		 }
		 else
		 {
			 for(int i=result;i<stu->num;i++)
			 {
				 stu->a[i].name=stu->a[i+1].name;
				 stu->a[i].age=stu->a[i+1].age;
			 }
		 }
		 stu->num--;
		 cout<<"删除成功"<<endl;
	}
	else
		cout<<"您还未添加数据\n";

}
void qinkon(struct user *stu)
{
	stu->num=0;
	cout<<"清空成功"<<endl;
}
void xiugai(struct user *stu)
{
	if(panduan(stu->num)==1)
	{
		string name;
		cout<<"请输入您要修改的人的名字:";
		cin>>name;
		for(int i=0;i<stu->num;i++)
	    {
			if(name==stu->a[i].name)
			{
				cout<<"请输入你要修改后的名字:";
				cin>>stu->a[i].name;
				cout<<"请输入你要修改后的年龄:";
				cin>>stu->a[i].age;
				break;
			}
		}
	}
	else
		cout<<"您还未添加数据\n";
}
void paixu(struct user *stu)
{
	struct user temp;
	if(panduan(stu->num)==1)
	{
	    for(int i=0;i<stu->num-1;i++)
	  {
       for(int j=0;j<stu->num-1-i;j++)
	     {
			 if(stu->a[j].name>stu->a[j+1].name)
			 {
		         temp.a[i]=stu->a[j];
		         stu->a[j]=stu->a[j+1];
		         stu->a[j+1]=temp.a[i];
			 }
	    }
	  }
		cout<<"排序成功"<<endl;
	}
	else
		cout<<"您还未添加数据\n";
}
void main()
{
	system("color 3e");
	int i;
	struct user stu;
	stu.num=0;
	while(true)
	{
		caidan();
		cin>>i;
		if(i==1)
		{
			tianjia(&stu);
		}
		else if(i==2)
		{
			dayin(&stu);
		}
		else if(i==3)
		{
			chazhao(&stu);
		}
		else if(i==4)
		{
			shanchu(&stu);
		}
		else if(i==5)
		{
			xiugai(&stu);
		}
		else if(i==6)
		{
			paixu(&stu);
		}
		else if(i==7)
		{
			qinkon(&stu);
		}
		else if(i==8)
		{
			exit(0);
		}
		system("pause");
		system("cls");

	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值