www.pudn.com > Flight_Book.rar > TicketBook.cpp


#include "iostream.h" 
#include "fstream.h" 
#include "conio.h" 
#include "stdlib.h" 
#include "string.h" 
 
#include "DataType.h" 
#include "user.h" 
#include "ObjArray.h" 
#include "Flight.h" 
#include "Passenger.h" 
#include "User.h" 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------+ 
	|下面是一些菜单字符串常量			| 
	+-----------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
char *MainMenu[] = { "1. 订票\n", 
					 "2. 退票\n", 
					 "3. 查询\n", 
					 "4. 航班管理\n", 
					 "5. 用户管理\n", 
					 "6. 用户注销\n", 
					 "7. 退出系统\n" 
};		//主菜单 
 
char *QueryMenu[] = { "1. 航班查询\n", 
					  "2. 客户查询\n", 
					  "3. 返回主菜单\n" 
}; 
 
char *FlightManageMenu[] = { "1. 修改航班信息\n", 
							 "2. 新增航班\n", 
							 "3. 取消航班\n", 
							 "4. 返回主菜单\n" 
}; 
 
char *UserManageMenu[] = { "1. 修改用户信息\n", 
						   "2. 添加用户\n", 
						   "3. 删除用户\n", 
						   "4. 返回主菜单\n" 
}; 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------+ 
	|下面是一些函数原型声明				| 
	+-----------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
bool Login(CUser &); 
void ManageFlight(CUser); 
void ManageUser(CUser); 
void Query(CUser); 
void ReadData(); 
void StoreData(); 
void Book(); 
void Cancel(); 
void QueryFlight(); 
void QueryPsg(); 
void ModifyFlight(); 
void AddFlight(); 
void DelFlight(); 
void ModifyUser(CUser LoginUser); 
void AddUser(); 
void DelUser(); 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
		+--------------------------------+ 
		|这是三个分别存储三个类的对象的	 | 
		|链表							 | 
		+--------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
CObjArray FlightList(FLIGHT);	//航班列表 
CObjArray PsgList(PASSENGER);		//客户列表 
CObjArray UserList(USER);	//用户列表 
 
void main() 
{ 
	 
	ReadData(); 
	cout<<"用户帮助:\n"; 
	cout<<"******************************\n\n"; 
	cout<<"进入系统需要先登录,文件中已有一个帐户,名: admin , 密码: nuaa\n"; 
	cout<<"或者删除文件 \"User,dat\" ,再次登录系统会提示你新建一个用户\n"; 
	cout<<"文件中已有一航班信息, 航班号: CZ14,可以用来做些测试\n\n"; 
	cout<<"*******************************\n"; 
	cout<<"按任意键进入系统...\n"<>Sel; 
		state=cin.rdstate(); 
    	if(state) 
		{ 
    		char error[81]; 
    		cin.clear(); 
    		cin.getline(error,80); 
    		Sel=8; 
		} 
		switch(Sel) 
		{ 
		case 1: 
			Book(); 
			system("pause"); 
			system("cls"); 
			break; 
		case 2: 
			Cancel(); 
			system("pause"); 
			system("cls"); 
			break; 
		case 3: 
			system("cls"); 
			Query(LoginUser); 
			break; 
		case 4: 
			system("cls"); 
			ManageFlight(LoginUser); 
			break; 
		case 5: 
			system("cls"); 
			ManageUser(LoginUser); 
			break; 
		case 6: 
			system("cls"); 
			while(!Login(LoginUser)) 
			{ 
				cout<<"用户名或密码错误,请重新登陆!\n"<>userID; 
	cout<<"\t*\t输入  密码:  "<objPoint; 
		if(strcmp(password, ((CUser *)user)->GetPassword()) == 0) 
		{ 
			cout<<"\n\n--------------------------------------\n"; 
			login = *((CUser *)user); 
			return true; 
		} 
	} 
	cout<<"\n\n--------------------------------------\n"; 
	return false; 
} 
 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------+ 
	|以下这些函数很简单,不用注释 | 
	+-----------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
 
void ManageFlight(CUser LoginUser) 
{ 
	int Sel = 0, state; 
	while(Sel!= 4) 
	{ 
		cout<>Sel; 
		state=cin.rdstate(); 
		if(state) 
		{ 
    		char error[81]; 
    		cin.clear(); 
    		cin.getline(error,80); 
    		Sel=8; 
		} 
		switch(Sel) 
		{ 
		case 1: 
			ModifyFlight(); 
			break; 
		case 2: 
			AddFlight(); 
			break; 
		case 3: 
			DelFlight(); 
			break; 
		case 4: 
			break; 
		default: 
			; 
		} 
		system("pause"); 
		cout<>Sel; 
		state=cin.rdstate(); 
		if(state) 
		{ 
    		char error[81]; 
    		cin.clear(); 
    		cin.getline(error,80); 
    		Sel=8; 
		} 
		switch(Sel) 
		{ 
		case 1: 
			ModifyUser(LoginUser); 
			break; 
		case 2: 
			if(LoginUser.GetPopedom() == 0) 
				AddUser(); 
			else 
				cout<>Sel; 
		state=cin.rdstate(); 
		if(state) 
		{ 
    		char error[81]; 
    		cin.clear(); 
    		cin.getline(error,80); 
    		Sel=8; 
		} 
		switch(Sel) 
		{ 
		case 1: 
			QueryFlight(); 
			break; 
		case 2: 
			QueryPsg(); 
			break; 
		case 3: 
			break; 
		default: 
			; 
		} 
		system("pause"); 
		cout<InitPass(); 
		from = flight->GetPass().nextStation; 
		to = from->nextStation; 
		inFile.read((char *)&count, sizeof(int)); 
		while(!inFile.eof()) 
		{ 
			for(int i = 0;i < count;i++) 
			{ 
				ps = new PASS; 
				inFile.read((char *)ps, sizeof(PASS)); 
				from->nextStation = ps; 
				ps->nextStation = to; 
				from = ps; 
			} 
			FlightList.AddSort(flight); 
			flight = new CFlight; 
			inFile.read((char *)flight, sizeof(CFlight)); 
			flight->InitPass(); 
			from = flight->GetPass().nextStation; 
			to = from->nextStation; 
			inFile.read((char *)&count, sizeof(int)); 
		} 
		inFile.close(); 
	} 
	inFile.clear(); 
	 
	inFile.open("Passenger.dat", ios::in|ios::binary|ios::nocreate); 
	if(!inFile.fail()) 
	{ 
		psg = new CPassenger; 
		inFile.read((char *)psg, sizeof(CPassenger)); 
		while(!inFile.eof()) 
		{ 
			PsgList.AddSort(psg); 
			psg = new CPassenger; 
			inFile.read((char *)psg, sizeof(CPassenger)); 
		} 
		 
	} 
	inFile.close(); 
	inFile.clear(); 
	inFile.open("User.dat", ios::in|ios::binary|ios::nocreate); 
	if(!inFile.fail()) 
	{ 
		user = new CUser; 
		inFile.read((char *)user, sizeof(CUser)); 
		while(!inFile.eof()) 
		{ 
			UserList.AddSort(user); 
			user = new CUser; 
			inFile.read((char *)user, sizeof(CUser)); 
		} 
		inFile.close(); 
	} 
	else 
	{ 
		user = new CUser; 
		char userID[20]; 
		char password[20]; 
		cout<<"\n\n\t本系统首次使用,请先建一个超级用户!\n"; 
		cout<<"-------------------------------------\n"; 
		cout<<"\t请输入用户名:"; 
		cin>>userID; 
		user->SetUserID(userID); 
		cout<<"\t请输入密码:"<SetPassword(password); 
		cout<SetPopedom(0);	//预置为超级用户 
		UserList.AddSort(user); 
		cout<<"\n-------------------------------------\n"; 
		cout<<"\n\t创建用户成功,按任意键进入本系统!\n"<objPoint); 
			outFile.write((char *)flight, sizeof(CFlight)); 
			int count = flight->GetPsCount(); 
			outFile.write((char *)&count, sizeof(int)); 
			//这里做了一些修改,留待测试是否可行 
			//这段代码是想文件写入航班的途径港信息 
			PASS *q = flight->GetPass().nextStation; 
			q = q->nextStation; 
			while(q->nextStation) 
			{ 
				outFile.write((char *)q, sizeof(PASS)); 
				q = q->nextStation; 
			} 
			p = p->nextObj; 
		} 
	} 
	outFile.close(); 
	outFile.clear(); 
 
	outFile.open("Passenger.dat", ios::out|ios::binary); 
	if(!outFile.fail()) 
	{ 
		Object *p; 
		p = PsgList.GetHead().nextObj; 
		while(p) 
		{ 
			outFile.write((char *)((CPassenger *)p->objPoint), sizeof(CPassenger)); 
			p = p->nextObj; 
		} 
	} 
	outFile.close(); 
	outFile.clear(); 
 
	outFile.open("User.dat", ios::out|ios::binary); 
	if(!outFile.fail()) 
	{ 
		Object *p; 
		p = UserList.GetHead().nextObj; 
		while(p) 
		{ 
			outFile.write((char *)((CUser *)p->objPoint), sizeof(CUser)); 
			p = p->nextObj; 
		} 
	} 
	outFile.close(); 
 
} 
 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-------------------------------------+ 
	|此函数负责向客户的订票,要求输入航班号| 
	|然后要求输入客户姓名,身份证号		  |	 
	|并且自动读取系统时间,作为订票时间	  | 
	+-------------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
 
void Book() 
{ 
	CPassenger *psg; 
	psg = new CPassenger; 
	char name[20];			//姓名 
	char identityCard[19];	//身份证号 
	tm bookTime;			//订票时间 
	char fltNo[10];			//航班号 
	CBaseObj *flight; 
	Object *p; 
	char sel; 
	do{ 
		cout<<"请输入要预订的航班:"; 
		cin>>fltNo; 
		if(!(p = FlightList.Find(fltNo))) 
		{ 
			cout<<"输入的航班不存在!\n"; 
			cout<<"要继续订票吗?(Y / N):"; 
			cin>>sel; 
			if(sel == 'y' || sel == 'Y') 
				continue; 
			if(sel == 'n' || sel == 'N') 
				return; 
		} 
		else 
		{ 
			flight = p->objPoint; 
			if(((CFlight *)flight)->GetCount() >= ((CFlight *)flight)->GetPeopleNum()) 
			{ 
				cout<<"该航班座位已满!\n"; 
				cout<<"要继续订票吗?(Y / N):"; 
				cin>>sel; 
				if(sel == 'y' || sel == 'Y') 
					continue; 
				if(sel == 'n' || sel == 'N') 
					return; 
			} 
			else 
				break; 
		} 
	}while(1); 
	((CFlight *)flight)->Show(); 
	cout<<"要预订此航班吗?(Y / N):"; 
	cin>>sel; 
	if(sel == 'y' || sel == 'Y') 
	{ 
		((CFlight *)flight)->GetCount()++;	//占用座位数加一 
		cout<<"请输入客户姓名:"; 
		cin>>name; 
		cout<<"请输入客户身份证号:"; 
		cin>>identityCard; 
		_getsystime(&bookTime); 
		bookTime.tm_year += 1900; 
		bookTime.tm_mon += 1; 
		psg->SetFltNo(fltNo); 
		psg->SetIdentity(identityCard); 
		psg->SetName(name); 
		psg->SetSeatNo(((CFlight *)flight)->GetCount()); 
		psg->SetBookTime(bookTime); 
		PsgList.AddSort(psg); 
		cout<<"已成功预订!\n"<>iCard; 
		if(!(p = PsgList.Find(iCard))) 
		{ 
			cout<<"该客户没有预订!\n"; 
			cout<<"要继续退票吗?(Y / N):"; 
			cin>>sel; 
			if(sel == 'y' || sel == 'Y') 
				continue; 
			if(sel == 'n' || sel == 'N') 
				return; 
		} 
		else 
			break; 
	}while(1); 
	psg = p->objPoint; 
	((CPassenger *)psg)->Show(); 
	cout<<"真的要退票吗?(y / N):"; 
	cin>>sel; 
	if(sel == 'y' || sel == 'Y') 
	{ 
		strcpy(fltNo,((CPassenger *)psg)->GetFltNo()); 
		flight = FlightList.Find(fltNo)->objPoint; 
		((CFlight *)flight)->GetCount()--; 
		PsgList.Delete(iCard); 
		cout<<"已成功退票!\n"<>sel; 
		if(sel == '1') 
		{ 
			cout<<"请输入航班号:"; 
			cin>>fltNo; 
			if(!FlightList.Find(fltNo)) 
			{ 
				cout<<"输入的航班不存在!\n"; 
				cout<<"要继续查询吗?(Y / N):"; 
				cin>>sel; 
				if(sel == 'y' || sel == 'Y') 
					continue; 
				if(sel == 'n' || sel == 'N') 
					return; 
			} 
			else 
			{ 
				flight = FlightList.Find(fltNo)->objPoint; 
				((CFlight *)flight)->Show(); 
			} 
		}	//if(sel == '1')结束 
		if(sel == '2') 
		{ 
			Object *p = FlightList.GetHead().nextObj; 
			cout<<"请输入起始地:"; 
			cin>>from; 
			cout<<"请输入到达地:"; 
			cin>>to; 
			while(p) 
			{ 
				PASS *ps1 = ((CFlight *)(p->objPoint))->GetPass().nextStation; 
				while(ps1->nextStation) 
				{ 
					if(strcmp(ps1->stationName, from) == 0) 
						break; 
					ps1 = ps1->nextStation; 
				} 
				PASS *ps2; 
 
				if(ps1->nextStation) 
				{ 
					ps2 = ps1->nextStation; 
					while(ps2) 
					{ 
						if(strcmp(to, ps2->stationName) == 0) 
							break; 
						ps2 = ps2->nextStation; 
					} 
					if(ps2) 
					{ 
						bfind = true; 
						((CFlight *)(p->objPoint))->Show(); 
						cout<<"航班的信息如下:\n"; 
						((CFlight *)(p->objPoint))->ShowPass(); 
					}	 
					cout<<"按任意键继续查找下一个信息...\n"<nextObj; 
			}	//while(p)结束 
			if(bfind) 
				cout<<"查找结束!\n"; 
			else 
				cout<<"查找结束,未找到任何信息!\n"; 
		}	//if(sel == '2')结束 
		cout<<"要继续查询吗?(Y / N):"; 
		cin>>sel; 
		if(sel == 'y' || sel == 'Y') 
			continue; 
		if(sel == 'n' || sel == 'N') 
			return; 
	}while(1); 
} 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------------+ 
	|要求输入客户身份证号,获得客户的订票信息 | 
	+-----------------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
void QueryPsg() 
{ 
	char iCard[19]; 
	Object *p; 
	CBaseObj *psg; 
	char sel; 
	do{ 
		cout<<"请输入乘客的身份证号:\n"; 
		cin>>iCard; 
		if(p = PsgList.Find(iCard)) 
		{ 
			psg = p->objPoint; 
			((CPassenger *)psg)->Show(); 
			cout<<"要继续查询吗?(Y / N):"; 
			cin>>sel; 
			if(sel == 'y' || sel == 'Y') 
				continue; 
			if(sel == 'n' || sel == 'N') 
				return; 
		} 
		else 
		{ 
			cout<<"该客户没有任何预订!\n"; 
			cout<<"要继续查询吗?(Y / N):"; 
			cin>>sel; 
			if(sel == 'y' || sel == 'Y') 
				continue; 
			if(sel == 'n' || sel == 'N') 
				return; 
		} 
	}while(1); 
} 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------------+ 
	|修改某一个航班的信息					  | 
	+-----------------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
void FlightModify(CFlight *flight); 
void ModifyFlight() 
{ 
	char fltNo[10]; 
	CBaseObj *flight; 
	Object *p; 
	char sel; 
	do{ 
		cout<<"请输入要修改的航班号:"; 
		cin>>fltNo; 
		p = FlightList.Find(fltNo); 
		if(!p) 
			cout<<"要修改的航班不存在!\n"; 
		else 
		{ 
			flight = p->objPoint; 
			((CFlight *)flight)->Show(); 
			FlightModify((CFlight *)flight); 
		} 
		cout<<"要继续修改其他航班吗?(Y / N):"; 
		cin>>sel; 
		if(sel == 'y' || sel == 'Y') 
			continue; 
		if(sel == 'n' || sel == 'N') 
			return; 
	}while(1); 
} 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------------+ 
	|选择修改某一个航班的哪部分信息			  | 
	+-----------------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
void FlightModify(CFlight *flight) 
{ 
	char from[20];								//起飞港 
	char to[20];								//到达港 
	tm start;									//起飞时间 
	tm arrive;									//到达时间 
	int peopleNum;								//乘客限额 
	char station[20]; 
	char sel; 
	do{ 
		cout<<"要修改那部分信息?\n"; 
		cout<<"1. 起始港及起飞时间		2. 到达港及到达时间\n"; 
		cout<<"3. 乘客限额		4. 添加途径港	5. 删除途径港\n"; 
		cout<<"请选择(1 ~ 5):"; 
		cin>>sel; 
		switch(sel) 
		{ 
		case '1': 
			cout<<"输入新的起始港:"; 
			cin>>from; 
			cout<<"输入新的起飞时间(hh mm):"; 
			cin>>start.tm_hour>>start.tm_min; 
			flight->SetFrom(from); 
			flight->SetStart(start); 
			break; 
		case '2': 
			cout<<"输入新的到达港:"; 
			cin>>to; 
			cout<<"输入新的到达时间(hh mm):"; 
			cin>>arrive.tm_hour>>arrive.tm_min; 
			flight->SetTo(to); 
			flight->SetArrive(arrive); 
			break; 
		case '3': 
			cout<<"输入新的乘客限额:"; 
			cin>>peopleNum; 
			flight->SetPeopleNo(peopleNum); 
			break; 
		case '4': 
			flight->SetPass(); 
			break; 
		case '5': 
			cout<<"输入要删除的航空港(起始,到达港除外):"; 
			cin>>station; 
			if(!(flight->DelPass(station))) 
				cout<<"输入信息错误!\n"; 
			break; 
		} 
		cout<<"要继续修改其他信息吗?(Y / N):"; 
		cin>>sel; 
		if(sel == 'y' || sel == 'Y') 
			continue; 
		if(sel == 'n' || sel == 'N') 
			return; 
	}while(1); 
} 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------------+ 
	|添加一个航班							  | 
	+-----------------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
void AddFlight() 
{ 
	CFlight *flight; 
	flight = new CFlight(); 
	char fltNo[10] = "";								//航班号 
	char from[20] = "";								//起飞港 
	char to[20] = "";								//到达港 
	tm start;									//起飞时间 
	tm arrive;									//到达时间 
	int peopleNum;								//乘客限额 
	cout<<"请输入航班号:"; 
	cin>>fltNo; 
	cout<<"请输入起飞港:"; 
	cin>>from; 
	cout<<"请输入起飞时间(hh mm):"; 
	cin>>start.tm_hour>>start.tm_min; 
	cout<<"请输入到达港:"; 
	cin>>to; 
	cout<<"请输入到达时间(hh mm):"; 
	cin>>arrive.tm_hour>>arrive.tm_min; 
	cout<<"请输入乘客限额:"; 
	cin>>peopleNum; 
	flight->InitPass(); 
	flight->SetFltNo(fltNo); 
	flight->SetFrom(from); 
	flight->SetStart(start); 
	flight->SetTo(to); 
	flight->SetArrive(arrive); 
	flight->SetPeopleNo(peopleNum); 
//	flight->InitPass(); 
	FlightList.AddSort(flight); 
} 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------------+ 
	|删除一个航班							  | 
	+-----------------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
void DelFlight() 
{ 
	char fltNo[10]; 
	cout<<"请输入要删除的航班号:"; 
	cin>>fltNo; 
	if(!FlightList.Delete(fltNo)) 
		cout<<"输入的航班不存在!\n"; 
	else 
		cout<<"已成功取消航班!\n"; 
	cout<>userID; 
		p = UserList.Find(userID); 
		if(!p) 
			cout<<"要修改的用户不存在!\n"<objPoint; 
			cout<<"该用户信息如下:\n"; 
			((CUser *)user)->Show(); 
			cout<<"要修改那一部分?\n"; 
			cout<<"1. 用户名	2. 密码		3. 用户权限\n"; 
			cin>>sel; 
			switch(sel) 
			{ 
			case '1': 
				cout<<"请输入新用户名:"; 
				cin>>userID; 
				((CUser *)user)->SetUserID(userID); 
				break; 
			case '2': 
				cout<<"请输入新密码:"<SetPassword(password); 
				break; 
			case '3': 
				cout<<"请输入新权限(0 :超级用户  1: 普通用户):"; 
				cin>>popedom; 
				((CUser *)user)->SetPopedom(popedom); 
				break; 
			} 
		} 
	} 
	else 
	{ 
		cout<objPoint; 
		cout<<"要修改那一部分?\n"; 
		cout<<"1. 用户名	2. 密码\n"; 
		cin>>sel; 
		switch(sel) 
		{ 
		case '1': 
			cout<<"请输入新用户名:"; 
			cin>>userID; 
			((CUser *)user)->SetUserID(userID); 
			LoginUser.SetUserID(userID); 
			break; 
		case '2': 
			cout<<"请输入新密码:"<SetPassword(password); 
			LoginUser.SetPassword(password); 
			break; 
		} 
	} 
} 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------------+ 
	|添加一个航班,只有超级用户有此权限		  | 
	+-----------------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
void AddUser() 
{ 
	CUser *user; 
	user = new CUser; 
	char userID[20]; 
	char password[20]; 
	int popedom, i; 
	cout<<"请输入新用户名:"; 
	cin>>userID; 
	user->SetUserID(userID); 
	cout<<"请输入新密码:"<SetPassword(password); 
	cout<>popedom; 
	user->SetPopedom(popedom); 
	UserList.AddSort(user); 
} 
 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
	+-----------------------------------------+ 
	|删除某个用户,只有超级用户有此权限		  | 
	+-----------------------------------------+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ 
 
void DelUser() 
{ 
	char userID[20]; 
	cout<<"请输入要删除的用户名:"; 
	cin>>userID; 
	if(!UserList.Delete(userID)) 
		cout<<"输入的用户不存在!\n"; 
	else 
		cout<<"已成功删除用户!\n"; 
	cout<