宿舍管理查询软件--数据结构,c语言

宿舍管理查询软件--数据结构,c语言_第1张图片

四、功能模块说明

    输入学生宿舍信息模块:完成宿舍信息的录入,可以选择从平台手动输入,也可以选择从指定文件中读取。 

    保存学生宿舍信息模块,完成宿舍信息的保存。 

   排序学生宿舍信息模块,完成按关键字排序的功能,可以选择按宿舍号、学号或姓名进行排序。 

   查询学生宿舍信息模块,完成按关键字查询的功能,可以选择按宿舍号、学号或姓名进行查询。 

   浏览学生宿舍信息模块,完成对已经输入的信息的打印浏览,如果没有向系统输入数据,将提醒无文件数据存在,请进行输入。

   最后退出系统。

 五、实验过程

 #include
#include
#include
#include
#include
using namespace std;
#define Max 100
 int total;  
struct edg
//构造结构体,创建学生信息的结构体数组,其中的信息包含名字,宿舍房号以及学号 。
{
	string name;
	int number;
	int domenumber;
}student[Max];
edg s[Max];
void menu()     //主菜单的函数包含3个功能(新建,排序,查询,打印)
{
	cout<<"\t\t **********************************"<>total;

	if(ofs)
	{
	for(i=1;i<=total;i++)                //为每个同学输入信息 
	{
		cout<<"请输入第"<>a;
		student[i].name=a;	
		ofs<<"姓名:"<>b;
	    student[i].number=b;
        ofs<<"学号:"<>c;
		student[i].domenumber=c;
		ofs<<"房号:"<right)
		return -1;
	int mid=(left+right)/2;
	if(student[mid].number==key)    //刚好要查找的对象key在mid这个位置,查找成功
		return mid;
	else if(student[mid].number>choice;
		break;
	}
    if(choice[0]=='1')                 //进行以学号为关键字的排序 
	{
		for(i=1;i<=total;i++)             //用冒泡排序法进行排序 
	      for(j=1;j=student[j+1].number)
			  {
				  edg temp;
				  temp=student[j];
				  student[j]=student[j+1];
				  student[j+1]=temp;
			  }
			  cout<<"姓名\t\t学号\t\t宿舍号"<=student[j+1].domenumber)
			  {
				  edg temp;
				  temp=student[j];
				  student[j]=student[j+1];
				  student[j+1]=temp;
			  }
			  cout<<"姓名\t\t学号\t\t宿舍号"<=student[j+1].name)
			  {
				  edg temp;
				  temp=student[j];
				  student[j]=student[j+1];
				  student[j+1]=temp;
			  }
			  cout<<"姓名\t\t学号\t\t宿舍号"<>choice;
	   break;
	}
		
	if(choice[0]=='1')
	{
	cout<<"请输入你要查找的学生姓名:";  //以按 姓名为关键字进行查找 
		cin>>a;
		for(i=1;i<=total;i++)
		{
//c_str返回当前的字符串的首地址,c_str()把string对象转换成c中的字符串样式
			if(strcmp(student[i].name.c_str(),a.c_str())==0)   				s[i]=student[i];
			  break;
		}
		if(i!=total+1)
		{
			cout<<"要查找的学生的学号:"<>choice1;
			if(choice1[0]=='s')
			{
				cout<<"请输入要查找的方式(1.按姓名查询,2.按学号查询,3.按房号查询):"<>choice1;
			if(choice1[0]=='s')
			{
				cout<<"请输入要查找的方式(1.按姓名查询,2.按学号查询,3.按房号查询):"<>b;
		//int len=b.size();    //b.length为字符串b的长度,b.size()为字符串b的元素个数
		if(bin_search(1,total,b)!=-1)             //b为关键字   使用二分的方法来找到位置,若return结果为-1则表示学号没有录入系统中 
		{
             s[i]=student[bin_search(1,total,b)];
			cout<<"要查找的学生姓名为:"<>choice1;
			if(choice1[0]=='s')
			{
				cout<<"请输入要查找的方式(1.按姓名查询,2.按学号查询,3.按房号查询):"<>choice1;
			if(choice1[0]=='s')
			{
				cout<<"请输入要查找的方式(1.按姓名查询,2.按学号查询,3.按房号查询):"<>c;
		for(i=1;i<=total;i++)
		{
			if(c==student[i].domenumber)
			{
				s[i]=student[i];
				cout<<"学生姓名:"<>choice1;
		       if(choice1[0]=='s')
			   {
				  cout<<"请输入要查找的方式(1.按姓名查询,2.按学号查询,3.按房号查询):"<>choice;
	if(choice[0]=='1')
	{
		build();
		cout<<"新建学生信息成功,是否进行下一步(是则按s,不是则按b)";
		cin>>choice;
		if(choice[0]=='s')
		{
			system("cls");
			menu();
		}
		else
			break;
	}
	else if(choice[0]=='2')
	{
		sortmenu();
		cout<<"学生信息排序成功,是否进行下一步(是则按s,不是则按b)";
		cin>>choice;
		if(choice[0]=='s')
		{
			system("cls");
			menu();
		}
		else
			break;
	}
	else if(choice[0]=='3')
	{
		query();
		cout<<"学生信息查询成功,是否进行下一步(是则按s,不是则按b)";
		cin>>choice;
		if(choice[0]=='s')
		{
			system("cls");
			menu();
		}
		else
			break;
	}
	else if(choice[0]=='4')
	{
		print();
		cout<<"学生信息打印成功,是否进行下一步(是则按s,不是则按b)";
		cin>>choice;
	    if(choice[0]=='s')
		{
			system("cls");
			menu();
		}
		else
			break;

	}
	else
	{
		cout<<"退出系统!"<

 

你可能感兴趣的:(数据结构,算法)