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

📄 main.cpp

📁 一个简单的教师职工管理系统
💻 CPP
字号:
#include <iostream>
#include <stdio.h>
#include "employee.h"
#include <fstream>
#include <vector>
#include <iterator>

void printInfo(vector<employee*>&vec);
void deleteInfo(vector<employee*>&vec);
void change(vector<employee*>&vec);
void add(vector<employee*>&vec);
void search(vector<employee*>&vec);

using namespace std;

int main(){
	vector<employee*> emp;
	vector<employee*>::iterator ite=emp.begin();
    ifstream is("data.txt");
	
	employee * p ;
	while(!is.eof()){
		p = new employee;
		p->Init(is);
		emp.push_back(p);
	}
    is.close();
	cout<<"欢迎使用教职员工管理系统"<<endl;
	cout<<"版本号1.0"<<endl;
loop:	cout<<"请选择:"<<endl;
	cout<<"1.查看员工信息"<<endl;
	cout<<"2.增加员工信息"<<endl;
	cout<<"3.更改员工信息"<<endl;
	cout<<"4.删除员工信息"<<endl;
	cout<<"5.打印员工信息"<<endl;
	cout<<"6.退出"<<endl;
	int num;
	cin>>num;
	cout<<"您的选择是  "<<num<<"   请稍候。。。"<<endl;
	switch(num){
	case 1: search(emp);		    
		    goto loop;
	case 2: add(emp);
		    goto loop;
	case 3: change(emp);
		    goto loop;
	case 4: deleteInfo(emp);
		    goto loop;
	case 5: printInfo(emp);
		    goto loop;
    case 6: cout<<"正在退出系统。。。";
		    break;
	default: cout<<"请输入一个1--6之间的数字进行选择操作!"<<endl;
            goto loop;
	}
	ofstream os("data.txt");
	int i;
	for(i=0;i<emp.size();i++){
		employee *p = emp[i];
		p->Print(os);
	}
	os.close();
	return 0;
}
void search(vector<employee*>&vec){
	int i;
	int ID;
	cout<<"请输入您要查询的员工的ID!"<<endl;
	cin>>ID;
	for(i=0;i<vec.size();i++){
		if(vec[i]->ID==ID){
			cout<<"name   :"<<vec[i]->name<<endl;
			cout<<"age    :"<<vec[i]->age<<endl;
			cout<<"sex    :"<<vec[i]->sex<<endl;
			cout<<"ID     :"<<vec[i]->ID<<endl;
			cout<<"grade  :"<<vec[i]->grade<<endl;
			cout<<"payment:"<<vec[i]->payment<<endl;
		};
	};

}
void add(vector<employee*>&vec){
    employee *p=new employee();
	string newName;
	cout<<"请输入新员工的姓名"<<endl;
    cin>>newName;	
	p->name=newName;
	int newAge;
	cout<<"请输入新员工的年龄"<<endl;
	cin>>newAge;
	p->age=newAge;
	int newID;
	cout<<"请输入新员工的ID"<<endl;
	cin>>newID;
	p->ID=newID;
	string newSex;
	cout<<"请输入新员工的性别"<<endl;
    cin>>newSex;	
	p->sex=newSex;
	int newGrade;
	cout<<"请输入新员工的等级"<<endl;
	cin>>newGrade;
	p->grade=newGrade;

	float newPayment;
	cout<<"请输入新员工的工资"<<endl;
	cin>>newPayment;
	p->payment=newPayment;
	vec.push_back(p);
	cout<<"新员工的信息已经添加完毕!"<<endl;

}
void change(vector<employee*>&vec){
	int ID;
	int k;
		string newName;
		 string newSex;
		 int newID;
		   int newGrade;
		    float newPayment;
			 int newAge;
	cout<<"请选择需要修改信息的员工的ID!"<<endl;
	cin>>ID;
	int j;
	for(j=0;j<vec.size();j++){
		if(vec[j]->ID==ID){
loop:	cout<<"请选择需要修改的信息"<<endl;
	    
	    cout<<"1. 姓名"<<endl;
		cout<<"2. 年龄"<<endl;
		cout<<"3. 性别"<<endl;
		cout<<"4. ID"<<endl;
		cout<<"5. 等级"<<endl;
		cout<<"6. 工资"<<endl;
		cout<<"7. 退出"<<endl;
		cin>>k;
		switch(k){
			case 1: cout<<"请输入新的员工姓名"<<endl;
				    cin>>newName;
					vec[j]->name=newName;
					goto loop;
			case 2: cout<<"请输入新的员工年龄"<<endl;
				   
				    cin>>newAge;
					vec[j]->age=newAge;
					goto loop;
			case 3: cout<<"请输入新的员工性别"<<endl;
				   
				    cin>>newSex;
					vec[j]->sex=newSex;
					goto loop;
			case 4: cout<<"请输入新的员工ID"<<endl;
				    
				    cin>>newID;
					vec[j]->ID=newID;
					goto loop;
			case 5: cout<<"请输入新的员工等级"<<endl;
				  
				    cin>>newGrade;
					vec[j]->grade=newGrade;
					goto loop;
			case 6: cout<<"请输入新的员工工资"<<endl;
				   
				    cin>>newPayment;
					vec[j]->payment=newPayment;
					goto loop;
			case 7: cout<<"正在退出。。。"<<endl;
					break;
			default: cout<<"请输入1--7之间的数字进行选择!"<<endl;
				     goto loop;
		 }
		}
	};
	
}
void deleteInfo(vector<employee*>&vec){
	vector<employee*>::iterator ite = vec.begin();
	 cout<<"请输入一个ID"<<endl;
	 int ID;
	 cin>>ID;
	for(; ite != vec.end(); ++ite)
	 {
		 if ((*ite)->getID()==ID)
	  {
		 vec.erase(ite);
		 break;
	  }
	 }
}
void printInfo(vector<employee*>&vec){
	int i;
	for(i=0;i<vec.size();i++){
			cout<<"name   :"<<vec[i]->name<<endl;
			cout<<"age    :"<<vec[i]->age<<endl;
			cout<<"sex    :"<<vec[i]->sex<<endl;
			cout<<"ID     :"<<vec[i]->ID<<endl;
			cout<<"grade  :"<<vec[i]->grade<<endl;
			cout<<"payment:"<<vec[i]->payment<<endl;
	};

}

⌨️ 快捷键说明

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