⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 C++编写的学生信息管理系统
💻 CPP
字号:
#include<iostream>
#include<fstream>
#include"C_dept.h"
#include"G_dept.h"
#include"R_dept.h"
#include"X_dept.h"
#include"Chinese.h"
using namespace std;

int main()
{
	char choice;
	char choice_1,choice_2,choice_3,choice_4;
	int  flag=0;//标志,用于判断循环是否停止,只置0和1两个值
	ofstream ofile;//定义输出文件流对象
	ifstream ifile;//定义输入文件流对象
	cout<<"----------OCEAN公司管理系统----------"<<endl;
	while(!flag)//主菜单
	{
    cout<<"  -----------  功能菜单  ---------"<<endl;
	cout<<"1.注册新职员"<<endl;
	cout<<"2.对现有职员进行操作"<<endl;
	cout<<"3.统计职员相关信息"<<endl;
	cout<<"4.打印职员名单"<<endl;
	cout<<"5.退出"<<endl;
	cout<<"请选择相应操作:"<<endl;
	cin>>choice;
	
	switch(choice)
	{
	case '1': //注册菜单
		while(!flag)
		{
		cout<<"  -----------  注册菜单  ---------"<<endl;
		cout<<"1----注册到策划部(部门缩写为C)"<<endl;
		cout<<"2----注册到人事部(部门缩写为R)"<<endl;
		cout<<"3----注册到广告部(部门缩写为G)"<<endl;
		cout<<"4----注册到销售部(部门缩写为X)"<<endl;
		cout<<"5----返回主菜单"<<endl;
		cout<<"请选择相应操作:"<<endl;
		cin>>choice_1;
		switch(choice_1)
		{
	    case '1'://录入策划部的操作
			{
				while(!flag)
                {
					C_dept cehua;//定义一个策划部的对象
					cehua.set_name();//输入相关信息
					cehua.set_num();
					cehua.set_Bdate();
					cehua.set_Edate();
					cehua.set_other();
					ofile.open("file1.dat",ios::binary|ios::app);//用文件file1存储策划部职员
					ofile.write((char *)(&cehua), sizeof(cehua));
					ofile<<flush;
					ofile.close();
					cehua.C_save();//注册后将本部门现在的人数写入文件file5
					cout<<"注册成功!---";cehua.AutoInt_display();//打印编号
					cout<<"继续注册到本部门按0,返回按1:";
					cin>>flag;
				}
			}
			flag=0;//标志清零
            break;
        case '2'://录入人事部的操作
			{
				while(!flag)
                {
					R_dept renshi;//定义一个人事部的对象
					renshi.set_name();//输入相关信息
					renshi.set_num();
					renshi.set_Bdate();
					renshi.set_Edate();
					renshi.set_other();
					ofile.open("file2.dat",ios::binary|ios::app);//用文件file2存储人事部职员
					ofile.write((char *)(&renshi), sizeof(renshi));
					ofile<<flush;
					ofile.close();
					renshi.R_save();//注册后将本部门现在的人数写入文件file6
					cout<<"注册成功!---";renshi.AutoInt_display();//打印编号
					cout<<"继续注册到本部门按0,返回按1:";
					cin>>flag;
				}
			}
			flag=0;
            break;
		case '3'://录入广告部的操作
			{
				while(!flag)
                {
					G_dept guanggao;//定义一个广告部的对象
					guanggao.set_name();//输入相关信息
					guanggao.set_num();
					guanggao.set_Bdate();
					guanggao.set_Edate();
					guanggao.set_other();
					ofile.open("file3.dat",ios::binary|ios::app);//用文件file3存储广告部职员
					ofile.write((char *)(&guanggao), sizeof(guanggao));
					ofile<<flush;
					ofile.close();
					guanggao.G_save();//注册后将本部门现在的人数写入文件file7
					cout<<"注册成功!---";guanggao.AutoInt_display();
					cout<<"继续注册到本部门按0,返回按1:";
					cin>>flag;
				}
			}
			flag=0;
            break;
		case '4'://录入销售部的操作
			{
				while(!flag)
                {
					X_dept xiaoshou;//定义一个销售部的对象
					xiaoshou.set_name();//输入相关信息
					xiaoshou.set_num();
					xiaoshou.set_Bdate();
					xiaoshou.set_Edate();
					xiaoshou.set_other();
                    ofile.open("file4.dat",ios::binary|ios::app);//用文件file4存储销售部职员
					ofile.write((char *)(&xiaoshou), sizeof(xiaoshou));
					ofile<<flush;
					ofile.close();
					xiaoshou.X_save();//注册后将本部门现在的人数写入文件file8
					cout<<"注册成功!---";xiaoshou.AutoInt_display();
					cout<<"继续注册到本部门按0,返回按1:";
					cin>>flag;
				}
			}
			flag=0;
            break;
		case '5': flag=1;
			break;
		default:
		cout<<"输入错误,请重新输入!"<<endl;
        break;
		}
		}//注册功能完毕
		flag=0;
		break;//跳出注册菜单
	
	case '2':// 操作菜单
        while(!flag)
		{
		cout<<"  -----------   操作菜单  ---------"<<endl;
		cout<<"1----查询"<<endl;
		cout<<"2----修改"<<endl;
		cout<<"3----删除"<<endl;
		cout<<"4----返回主菜单"<<endl;
		cout<<"请选择相应操作:"<<endl;
		cin>>choice_2;
		switch(choice_2)
		{
		case '1':
        case '2':
		case '3':
		case '4': flag=1;
			break;
		default:
		cout<<"输入错误,请重新输入!"<<endl;
		break;
		}
		}//操作功能完毕
		flag=0;
		break;//跳出操作菜单

	case '3'://统计菜单
		while(!flag)
		{
		cout<<"  -----------  统计信息  ---------"<<endl;
		cout<<"1----按工资进行统计"<<endl;
		cout<<"2----按级别进行统计"<<endl;
		cout<<"3----按系统权限进行统计"<<endl;
		cout<<"4----返回主菜单"<<endl;
		cout<<"请选择相应操作:"<<endl;
		cin>>choice_3;
		switch(choice_3)
		{
	    case '1':
        case '2':
		case '3':
		case '4': flag=1;
			break;
		default:
		cout<<"输入错误,请重新输入!"<<endl;
		break;
		}
        }//统计功能完毕
        flag=0;
		break;//跳出统计菜单
	
	case '4': //打印列表
		while(!flag)
		{
		cout<<"  -----------  打印列表  ---------"<<endl;
		cout<<"1----按笔画"<<endl;
		cout<<"2----按编号"<<endl;
		cout<<"3----按雇用日期"<<endl;
		cout<<"4----返回主菜单"<<endl;
		cout<<"请选择相应操作:"<<endl;
		cin>>choice_4;
		switch(choice_4)
		{
	    case '1':
        case '2':
			{
				int n1,n2,n3,n4;
				
				ifile.open("file5.dat",ios::in|ios::binary);
				if(!ifile)
					cout<<"目前策划部暂无人员注册。"<<endl;
				else
				{
					ifile>>n1;
					C_dept *c=new C_dept[n1];
					for(int i=0;i<n1;i++)
					{
						ifile.read((char *)(&c[i]), sizeof(c[i]));
						c[1].AutoInt_display();
						c[1].Name_display();
						c[1].Date_display();
						c[1].Other_display();
					}
					ifile.close();
				}
				
				ifile.open("file6.dat",ios::in);
				if(!ifile)
					cout<<"目前人事部暂无人员注册。"<<endl;
				else
				{
					ifile>>n2;
					ifile.close();
				}

				ifile.open("file7.dat",ios::in);
				if(!ifile)
					cout<<"目前广告部暂无人员注册。"<<endl;
				else
				{
					ifile>>n3;
					ifile.close();
				}

                ifile.open("file8.dat",ios::in);
				if(!ifile)
					cout<<"目前销售部暂无人员注册。"<<endl;
				else
				{
					ifile>>n4;
					ifile.close();
				}


			}
		case '3':
		case '4': flag=1;
			break;
		default:
		cout<<"输入错误,请重新输入!"<<endl;
			break;
		}
		}//打印功能完毕
		flag=0;
		break;//跳出打印菜单
	
	case '5'://退出系统
		return 0;
	
	default://输入错误的情况
		cout<<"输入错误,请重新输入!"<<endl;
		break;
	}//主switch
	}//主while
return 0;	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -