《資料結構與演算法》課程設計 24 員工管理系統

2021-10-17 10:59:26 字數 3959 閱讀 5507

問題描述:

每個員工的資訊包括:編號、姓名、性別、出生年月、學歷、職務、**、住址等。系統能夠完成員工資訊的查詢、更新、插入、刪除、排序等功能。

實現要求:

(1) 排序:按不同關鍵字,對所有員工的資訊進行排序。

(2) 查詢:按特定條件查詢員工。

(3) 更新:按編號對某個員工的某項資訊進行修改。

(4) 插入:加入新員工的資訊。

(5) 刪除:按編號刪除已離職的員工的資訊。

#include

#include

#include

#include

#include

using

namespace std;

struct employee

;employee em[

1024];

int len =0;

//員工數量

int flag =0;

//控制系統是否退出

//初始化員工資訊

void

init

(employee t)

//列印表頭

void

emouttitle()

//列印員工資訊

void

eminfo

(employee t,

int i)

//顯示所有員工的資訊

void

emout()

//按編號降序排序

bool

cmpnum

(employee o, employee t)

//按出生日期降序排序

bool

cmpbirth

(employee o, employee t)

//按學歷從高到低降序排序

bool

cmpedu

(employee o, employee t)

//按職務從高到低排序

bool

cmpposition

(employee o, employee t)

//按照編號排序

void

emsortnum()

//按照出生日期排序

void

emsortbirth()

//按照學歷排序

void

emsortedu()

//按照職務排序

void

emsortposition()

//排序操作

void

emsort()

else

if(key ==

"出生日期"

)else

if(key ==

"學歷"

)else

if(key ==

"職務"

)else

}//為新建員工的資訊賦值

void

emget

(int i, string num, string name, string gender, string birth, string education, string position, string phone,

string address)

//加入新員工的資訊

void

eminsert()

//按編號刪除已離職的員工資訊

void

emdelete()

flag =1;

break;}

}if(flag ==1)

else

printf

("刪除失敗!未查找到該員工!\n");

}//按編號查詢員工資訊

void

emquerynum

(string num)}if

(flag ==0)

else

}//按姓名查詢員工資訊

void

emqueryname

(string name)}if

(flag ==0)

else

}//按職務查詢員工資訊

void

emqueryposition

(string position)}if

(flag ==0)

else

}//按學歷查詢員工資訊

void

emqueryedu

(string education)}if

(flag ==0)

else

}//查詢操作

void

emquery()

else

if(key ==

"姓名"

)else

if(key ==

"編號"

)else

if(key ==

"職務"

)else

}//按編號修改員工姓名

void

emupdatename

(string num, string name)}if

(flag ==0)

else

}//按編號修改員工性別

void

emupdategender

(string num, string gender)}if

(flag ==0)

else

}//按編號修改員工出生日期

void

emupdatebirth

(string num, string birth)}if

(flag ==0)

else

}//按編號修改員工學歷

void

emupdateeducation

(string num, string education)}if

(flag ==0)

else

}//按編號修改員工職務

void

emupdateposition

(string num, string position)}if

(flag ==0)

else

}//按編號修改員工**

void

emupdatephone

(string num, string phone)}if

(flag ==0)

else

}//按編號修改員工住址

void

emupdateaddress

(string num, string address)}if

(flag ==0)

else

}//更新操作

void

emupdate()

else

if(key ==

"性別"

)else

if(key ==

"出生年月"

)else

if(key ==

"學歷"

)else

if(key ==

"職務"

)else

if(key ==

"**"

)else

if(key ==

"住址"

)else

}void

inte***ce

(int order)

else

if(order ==2)

else

if(order ==3)

else

if(order ==4)

else

if(order ==5)

else

if(order ==6)

else

if(order ==0)

else

}int

main()

return0;

}

資料結構與演算法課程設計

題目 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標,使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快 速路可達即可 現得到城鎮道路統計表,表中列出了任意兩城鎮間修建快速路的費用,以及該道路是否已經修通的狀態。現...

資料結構與演算法課程設計 Prim演算法

題目 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標,使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快 速路可達即可 現得到城鎮道路統計表,表中列出了任意兩城鎮間修建快速路的費用,以及該道路是否已經修通的狀態。現...

資料結構與演算法課程設計 Prim演算法

題目 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標,使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快 速路可達即可 現得到城鎮道路統計表,表中列出了任意兩城鎮間修建快速路的費用,以及該道路是否已經修通的狀態。現...