学生信息初级管理系统

#include<iostream>
#include<string>
#include<iomanip>

using namespace std;
class student{
private:
    string sno;
	string name;
	string age;
	string sex;
	string math;
	string english;
	string computer;
	string score;
public:
	student()
	{
		//cout<<"构造一个学生类"<<endl;
	}
	student(int sn,string na,int ag,string se,double ma,double co,double en)
	{
		cout<<"构造一个学生类"<<endl;
		sno=sn;name=na;age=ag;sex=se;math=ma;computer=co;english=en;score=math+english+computer;
	}
	~student()
	{
		//cout<<"析构一个学生类"<<endl;
	}
	string GetSno()
	{
		return sno;
	}
	string GetName()
	{
		return name;
	}
    string GetAge()
	{
		return age;
	}
	string GetSex()
	{
		return sex;
	}
	string GetMath()
	{
		return math;
	}
	string GetEnglish()
	{
		return english;
	}
	string GetComputer()
	{
		return computer;
	}
	string GetScore()
	{
		return score;
	}
	void SetSno(string s)
	{
		sno=s;
		
	}
	void SetName(string n)
	{
		name=n;
	}
	void SetAge(string a)
	{
		age=a;
	}
	void SetSex(string x)
	{
		sex=x;
	}
	void SetMath(string m)
	{
		math=m;
	}
	void SetEnglish(string e)
	{
		english=e;
	}
	void SetComputer(string c)
	{
		computer=c;
	}
	void SetScore()
	{
		score=math+english+computer;
	}
	void display()
	{
		cout<<setw(10)<<sno<<setw(10)<<name<<setw(10)<<age<<setw(10)<<sex<<setw(10)<<math<<setw(10)<<english<<setw(10)<<computer<<setw(10)<<score<<endl;
	}
};
class db
{
	student stu[120];
	static int n;
		
public:
	void input();
	void display_db();
	void sort_db();
	int search(string s);
	int deleat(string d);
};
int db::n=0;
int db::deleat(string d)
{
	int i=0;
	int t=0;
	int r,l,m;
	sort_db();
	l=0;
	r=n;
	m=(r+l)/2;
	while(l<=r)
	{
		m=(r+l)/2;
		if(stu[m].GetSno()>d)
		{
			r=m;
			if(stu[m].GetSno()==d)
			{
				t=1;
				i=m;
				break;
			}
			r=r-1;
		}
		else
		{
			l=m;
			if(stu[m].GetSno()==d)
			{
				t=1;
				i=m;
				break;
			}
			l=l+1;
		}
	}
	if(t==1)
	{
		--n;
		for(i=m;i<n;++i)
		{
			stu[i]=stu[i+1];
		}
	
	}
	else
	{
		cout<<"没有这个学号!"<<endl;
	} 
}
int db::search(string s)
{
	int r,l,m;
	sort_db();
	l=0;
	r=n;
	m=(r+l)/2;
	while(l<=r)
	{
		m=(r+l)/2;
		if(stu[m].GetSno()>s)
		{
			r=m;
			if(stu[m].GetSno()==s)
			{
				cout<<"查找到"<<s<<endl;
				stu[m].display();
				break;
			}
			r=r-1;
		}
		else
		{
			l=m;
			if(stu[m].GetSno()==s)
			{
				cout<<"查找到"<<s<<endl;
				stu[m].display();
				break;
			}	
			l=l+1;
		}
	
	}
    if(l>r)cout<<"没查找到"<<s<<endl;
}
void db::input()
{
	char tname[20];
	string stu_age;
	string stu_num;
	string stu_sex;
	string stu_math,stu_english,stu_computer;
	do
	{
		cout<<"请输入学生的学号:(键入0表示输入结束!)";
		cin>>stu_num;
		stu[n].SetSno(stu_num);
		if(stu[n].GetSno()=="0")
			break;
		cout<<"请输入学生的姓名:";
		getchar();
		gets(tname);
		stu[n].SetName(tname);
		cout<<"请输入学生的年龄:";
		cin>>stu_age;
		stu[n].SetAge(stu_age);
		cout<<"请输入学生的性别:";
		cin>>stu_sex;
		stu[n].SetSex(stu_sex);
		cout<<"请输入学生的数学成绩:";
		cin>>stu_math;
		stu[n].SetMath(stu_math);
		cout<<"请输入学生的英语成绩:";
		cin>>stu_english;
		stu[n].SetEnglish(stu_english);
		cout<<"请输入学生的计算机成绩:";
		cin>>stu_computer;
		stu[n].SetComputer(stu_computer);
		stu[n].SetScore();
		n++;
		
	}while(1);
}

void db::display_db()
{
	cout<<setiosflags(ios::left)<<endl;
	cout<<setw(10)<<"学号"<<setw(10)<<"姓名"<<setw(10)<<"年龄"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"计算机"<<setw(10)<<"总成绩"<<endl;
	int i;
	for(i=0;i<n;i++)
		stu[i].display();
}
void db::sort_db()
{
	int i,j;
	student t;
	for(i=0;i<n-1;i++)
		for(j=0;j<n-1-i;j++)
			if(stu[j].GetSno ()>stu[j+1].GetSno ())
			{
				t=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=t;
			}
}


void menu()
{
	system("cls");
	cout<<"欢迎使用学生信息管理系统"<<endl;
	cout<<"1.创建模块"<<endl;
	cout<<"2.显示模块"<<endl;
	cout<<"3.排序模块"<<endl;
	cout<<"4.查找模块"<<endl;
	cout<<"5.删除模块"<<endl; 
	cout<<"0.退出"<<endl;
	cout<<"请输入你的选择:";
	
}

int main()
{
	db jike;
	string s;
	int x;
	string d;
	while (1)
	{
		menu();
		cin>>x;
		switch(x)
		{
		case 1:jike.input();break;
		case 2:jike.display_db();system("pause");break;
		case 3:jike.sort_db();system("pause");break;
		case 4:cout<<"输入查找的学号:";cin>>s;jike.search(s);system("pause");break;
		case 5:cout<<"输入要删除的学号:";cin>>d;jike.deleat(d);system("pause");break;
		case 0:cout<<"谢谢使用!"<<endl;return 0;
		}
	
	}
	return 0;
}

 推荐几款学习编程的网站

免费在线开发平台(https://docs.ltpp.vip/LTPP/

        探索编程世界的新天地,为学生和开发者精心打造的编程平台,现已盛大开启!这个平台汇集了近4000道精心设计的编程题目,覆盖了C、C++、JavaScript、TypeScript、Go、Rust、PHP、Java、Ruby、Python3以及C#等众多编程语言,为您的编程学习之旅提供了一个全面而丰富的实践环境。

        在这里,您不仅可以查看自己的代码记录,还能轻松地在云端保存和运行代码,让编程变得更加便捷。平台还提供了私聊和群聊功能,让您可以与同行们无障碍交流,分享文件,共同进步。不仅如此,您还可以通过阅读文章、参与问答板块和在线商店,进一步拓展您的知识边界。

        为了提升您的编程技能,平台还设有每日一题、精选题单以及激动人心的编程竞赛,这些都是备考编程考试的绝佳资源。更令人兴奋的是,您还可以自定义系统UI,选择视频或图片作为背景,打造一个完全个性化的编码环境,让您的编程之旅既有趣又充满挑战。

免费公益服务器(https://docs.ltpp.vip/LTPP-SHARE/linux.html

        作为开发者或学生,您是否为搭建和维护编程环境而困扰?现在,有一款免费的公共服务器,内置多种编程语言的编程环境,并且配备了在线版VS Code。让您可以随时随地在线写代码,无需复杂配置,专注于开发和学习。(PS:毕竟是免费公共的服务器,任何人都能够使用,为了数据隐私和安全,请勿上传重要数据,仅用于学习)

免费公益MYSQL(https://docs.ltpp.vip/LTPP-SHARE/mysql.html

        作为一名开发者或学生,您是否常常为数据库环境的搭建而烦恼?是否因为预算有限而无法使用高性能的数据库服务?现在,有一款免费的MySQL服务器,专为开发者和学生量身打造,让你轻松无忧地进行开发和学习!内置在线phpmyadmin管理面板,方便用户查看数据。(PS:毕竟是免费公共的MYSQL,任何人都能够使用,为了数据隐私和安全,请勿上传重要数据,仅用于学习)

免费在线WEB代码编辑器(https://docs.ltpp.vip/LTPP-WEB-IDE/

        无论你是开发者还是学生,编程环境的搭建和管理可能会占用你宝贵的时间和精力。现在,有一款强大的免费在线代码编辑器,支持多种编程语言,让您可以随时随地编写、调试和运行代码,提升编程效率,专注于创意和开发。

免费二维码生成器(https://docs.ltpp.vip/LTPP-QRCODE/

        无论是企业宣传、活动推广,还是个人信息分享,二维码都是一种快速、高效的信息传递方式。现在,有一款功能强大的二维码生成器,不仅易于使用,还具备多种便捷功能,帮助您更轻松地生成和管理二维码。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WA-自动机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值