学生基本信息管理系统(C++)

#include<iostream>
#include<string>

using namespace std;

class Student
{
public:
	Student(void);
	~Student(void);
	void input();
	void display();
	friend ostream&operator<<(ostream&,Student&);
	friend istream&operator<<(istream&,Student&);

	int num;
	string name;
	char sex;
	int age;
	string Class;
	string college;
	string zhuanye;
};
//#include "Student.h"


Student::Student(void)
{
}


Student::~Student(void)
{
}

void Student::input()
{
   cout<<"请输入学生信息:(学号、姓名、性别、年龄、班级、学院、专业)"<<endl;
   cin>>num>>name>>sex>>age>>Class>>college>>zhuanye;
}

void Student::display()
{
   cout<<"学号:"<<num<<" 姓名:"<<name<<" 性别:"<<sex<<" 年龄:"<<age<<" 班级:"<<Class<<" 学院:"<<college<<" 专业:"<<zhuanye;
}



//#include"Student.h"
#include<fstream>

ostream&operator<<(ostream&output,Student&c)
{
	output<<"学号:"<<c.num<<" 姓名:"<<c.name<<" 性别:"<<c.sex<<" 年龄:"<<c.age<<" 班级:"<<c.Class<<" 学院:"<<c.college<<" 专业:"<<c.zhuanye;
	return output;
}
istream&operator>>(istream&input,Student&c)
{
	input>>c.num>>c.name>>c.sex>>c.age>>c.Class>>c.college>>c.zhuanye;
	return input;
}

int main()
{
	int c=0;
	Student a[100];
	int n=0;
	int m=0;
	int b=0;
	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<<"9 :退出"<<endl;
	while(c!=9)
 {
		cout<<"请输入1到9之间的选项!"<<endl;

	cin>>c;
	while (c<1||c>9)
	{
		cout<<"请重新输入选项!"<<endl;
		cin>>c;
	}

	switch(c)
	{
	case 1:
		{
		    cout<<"请输入要创建学生信息的个数: ";
            cin>>n;
            for(int i=0;i<n;i++)
	        {
		        a[i].input();
	         }
		}
		break;
	case 2:
		{
			cout<<"请输入要添加的学生信息的个数: ";
	        cin>>m;
	        for(int i=n;i<n+m;i++)
			{
				a[i].input();
			}

		}
		break;
	case 3:
		{
			int q;
			cout<<"选择按学号查询,输入 1"<<endl;
			cout<<"选择按班级和专业查询,输入 2"<<endl;
			cin>>q;
			while(q!=1&&q!=2)
			{
				cout<<"请重新选择!"<<endl;
				cin>>q;
			}
			if(q==1)
			{
				int h;
				cout<<"请输入查询的学号: ";
				cin>>h;
				for(int i=0;i<n+m-b;i++)
				{
					if(h==a[i].num)
						a[i].display();
				}
			}
            if(q==2)
			{
				string str1,str2;
				cout<<"请输入查询的班级和专业: ";
				cin>>str1>>str2;
				for(int i=0;i<n+m-b;i++)
				{
					if((str1==a[i].Class)&&(str2==a[i].zhuanye))
						a[i].display();
				}
			}



		}
		break;
	case 4:
		{
			int x;
			cout<<"请输入修改的学号: ";
			cin>>x;
			for(int i=0;i<n+m-b;i++)
			{
				if(x==a[i].num)
					a[i].input();
			}

		}
		break;
	case 5:
		{
			string na;
			cout<<"请输入你想删除学生的姓名: ";
			cin>>na;
			b=b+1;
			for(int i=0;i<100;i++)
			{
				if(a[i].name==na)
				{
					for(int p=i;p<n+m-b;p++)
					{
						a[p]=a[p+1];
					}
				}
				break;
			}

		}
		break;
	case 6:
		{
			for(int i=0;i<n+m-b;i++)
				a[i].display();
		}
		break;
	case 7:
		{
			int i;
			ifstream infile("xinxi.dat", ios::in);
            if (!infile)
	        {
		     cerr << "Open error!" << endl;
		     exit(1);
	        }
			for(i=0;i<n+m;i++)
				infile>>a[i];
			for(i=0;i<n+m;i++)
			    cout<<a[i]<<endl;
				infile.close();
		}
		break;
	case 8:
		{
			int i;
			ofstream outfile;
			outfile.open("xinxi.dat",ios::out);
	        if (!outfile)
	        {
		     cerr << "Open error!" << endl;
		     exit(1);
	        }
			for (i = 0; i < n + m - b; i++)
				outfile<<a[i];
			    outfile.close();
		}
		break;
	case 9:break;
}
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/y0205yang/article/details/118653095