




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第C++實(shí)現(xiàn)教職工信息管理系統(tǒng)課程設(shè)計(jì)本文實(shí)例為大家分享了C++實(shí)現(xiàn)教職工信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
/*教職工信息管理
基本要求:
定義職工(employee)類,其中至少包括姓名、性別、工號(hào)、電話、所在系部和職稱。
功能要求:
1、設(shè)計(jì)菜單實(shí)現(xiàn)功能選擇;
2、輸入功能:輸入職工信息,并保存到文件中;
3、查詢功能:
1)能夠根據(jù)工號(hào)精確查詢職工信息;
2)能夠根據(jù)姓名、科室查詢職工信息
3)分系部進(jìn)行職稱統(tǒng)計(jì),計(jì)算各職稱的人數(shù)
4、根據(jù)職工的職稱排序輸出
5、根據(jù)工號(hào)修改職工信息
6、根據(jù)工號(hào)刪除職工信息*/
#includeiostream
#includecstring
#includefstream
usingnamespacestd;
classemployee
public:
employee()
{
}
employee(charna[50],charsex[50],intnum,chartel[20],charoff[50],charpos[50]):m_number(num)
{
strcpy(m_name,na);
strcpy(m_sex,sex);
strcpy(m_telephone,tel);
strcpy(m_office,off);
strcpy(m_posting,pos);
}
intgetnum()
{
returnm_number;
}
char*getna()
//
{
returnm_name;
}
char*getoff()
{
returnm_office;
}
char*getposting()
//
{
returnm_posting;
}
friendostreamoperator(ostreamos,constemployees)
{
os"姓名:"s.m_name"
性別:"s.m_sex"
工號(hào):"s.m_number"
電話:"s.m_telephone"
所在系部:"s.m_office"
職稱:"s.m_postingendl;
returnos;
}
friendistreamoperator(istreamis,employees)
{
iss.m_names.m_sexs.m_numbers.m_telephones.m_offices.m_posting;
returnis;
}
~employee()
{
}
private:
charm_name[50];
charm_sex[50];
intm_number;
charm_telephone[20];
charm_office[50];
charm_posting[50];
};
菜單功能選擇:
voidmenu()
//1)菜單功能選擇
cout"*************************************
教職工信息管理系統(tǒng)
*************************************"endl;
cout"**----------------------------------------------------------------------------------------------**"endl;
cout"**
-----------------------------
**"endl;
cout"**
|*1.錄入人員信息并保存
|
**"endl;
cout"**
|*2.按工號(hào)查找人員
|
**"endl;
cout"**
|*3.按姓名+科室查找人員
|
**"endl;
cout"**
|*4.分系部職稱人數(shù)統(tǒng)計(jì)
|
**"endl;
cout"**
|*5.按職稱對(duì)人員排序
|
**"endl;
cout"**
|*6.按工號(hào)修改人員信息
|
**"endl;
cout"**
|*7.按工號(hào)刪除人員信息
|
**"endl;
cout"**
|*8.查看所有人員信息
|
**"endl;
cout"**
|*0.關(guān)閉系統(tǒng)
|
**"endl;
cout"**
-----------------------------
**"endl;
cout"**----------------------------------------------------------------------------------------------**"endl;
cout"**請(qǐng)輸入序號(hào)使用對(duì)應(yīng)的功能:(0,1,2,3,4,5,6,7,8)
**"endl;
cout"**************************************************************************************************"endl;
}
輸入信息:
voidinput()
//2)輸入保存
{
fstreamfs;
intlen;
cout"請(qǐng)輸入教職工人數(shù):"endl;
cinlen;
employee*emp=newemployee[len];
//開(kāi)辟空間,存教職工數(shù)據(jù)
fs.open("guanli.dat",ios::out|ios::app|ios::binary);
if(!fs)
cout"Openfailed."endl;
else
{
cout"Opensucceedly."endl;
cout"請(qǐng)輸入教職工的姓名,性別,工號(hào),電話,所在系部,職稱:"endl;
for(inti=0;ii++)
{
cinemp[i];
fs.write((char*)emp[i],sizeof(emp[i]));
//fsemp[i]endl;二進(jìn)制
}
}
fs.close();
delete[]emp;
}
查詢功能(根據(jù)工號(hào)):
voidfind1()
//3-1)查詢---能夠根據(jù)工號(hào)精確查詢職工信息;
{
intnum;
cout"請(qǐng)輸入教職工的工號(hào):"endl;
cinnum;
fstreamfs;
fs.open("guanli.dat",ios::in|ios::binary);
fs.seekg(0,ios::end);
//文件調(diào)到末尾
ints=fs.tellg();
//告訴文件大小
intn=s/sizeof(employee);
//計(jì)算職工人數(shù)
fs.seekg(ios::beg);
//文件指針調(diào)到文件開(kāi)頭
employee*emp=newemployee[n];
for(inti=0;ii++)
fs.read((char*)emp[i],sizeof(emp[i]));
//讀入到內(nèi)存
fs.close();
inta=-100;
for(i=0;ii++)
{
if(num==emp[i].getnum())
{
coutemp[i];
a=i;
}
}
if(a==-100)
cout"工號(hào)不正確!無(wú)此人!"endl;
delete[]emp;
}
查詢功能(根據(jù)姓名、科室):
voidfind2()
//3-2)查詢---能夠根據(jù)姓名、科室查詢職工信息
charna[50];
charoff[50];
cout"請(qǐng)輸入教職工的姓名:"endl;
cinna;
cout"請(qǐng)輸入教職工所屬科室:"endl;
cinoff;
fstreamfs;
fs.open("guanli.dat",ios::in|ios::binary);
fs.seekg(0,ios::end);
ints=fs.tellg();
intn=s/sizeof(employee);
fs.seekg(ios::beg);
employee*emp=newemployee[n];
for(inti=0;ii++)
fs.read((char*)emp[i],sizeof(emp[i]));
fs.close();
inta=-100;
for(i=0;ii++)
{
if(strcmp(na,emp[i].getna())==0strcmp(off,emp[i].getoff())==0)
{
coutemp[i]endl;
a=i;
}
}
if(a==-100)
cout"名字或所屬科室不正確!無(wú)此人!"endl;
}
統(tǒng)計(jì)人數(shù):
voidfind3()
//3-3)分系部進(jìn)行職稱統(tǒng)計(jì),計(jì)算各職稱的人數(shù)
{
charoff[50],posting[50];
cout"請(qǐng)輸入所查系部:"endl;
cinoff;
cout"請(qǐng)輸入所查職稱:"endl;
cinposting;
fstreamfs;
fs.open("guanli.dat",ios::in|ios::binary);
fs.seekg(0,ios::end);
ints=fs.tellg();
intn=s/sizeof(employee);
fs.seekg(ios::beg);
employee*emp=newemployee[n];
for(inti=0;ii++)
fs.read((char*)emp[i],sizeof(emp[i]));
fs.close();
intsum=0;
for(i=0;ii++)
{
if(strcmp(off,emp[i].getoff())==0strcmp(posting,emp[i].getposting())==0)
sum++;
}
cout"該部門此職稱有"sum"人!"endl;
delete[]emp;
}
排序輸出:
voidoutput()
//4)根據(jù)職工的職稱排序輸出
{
fstreamfs;
fs.open("guanli.dat",ios::in|ios::binary);
fs.seekg(0,ios::end);
ints=fs.tellg();
intn=s/sizeof(employee);
fs.seekg(ios::beg);
employee*emp=newemployee[n];
for(inti=0;ii++)
fs.read((char*)emp[i],sizeof(emp[i]));
fs.close();
employeetemp;
for(intj=0;jn-1;j++)
{
for(intk=0;kn-1-j;k++)
{
if(strcmp(emp[k].getposting(),emp[k+1].getposting())0)
{
temp=emp[k];
emp[k]=emp[k+1];
emp[k+1]=temp;
}
}
}
for(i=0;ii++)
coutemp[i];
delete[]emp;
}
修改功能:
voidmodify()
//5)根據(jù)工號(hào)修改職工信息
fstreamfs;
fs.open("guanli.dat",ios::in|ios::out|ios::binary);
fs.seekg(0,ios::end);
ints=fs.tellg();
intn=s/sizeof(employee);
fs.seekg(ios::beg);
employee*emp=newemployee[n];
for(inti=0;ii++)
fs.read((char*)emp[i],sizeof(emp[i]));
intnum;
cout"請(qǐng)輸入所修改的職工號(hào):"endl;
cinnum;
inta=-100;
for(i=0;ii++)
{
if(num==emp[i].getnum())
{
fs.seekp(sizeof(employee)*i);
employeee;
cout"請(qǐng)輸入要修改的教職工的姓名,性別,工號(hào),電話,所屬系部,職稱:"endl;
cine;
fs.write((char*)e,sizeof(employee));
cout"職工信息修改成功!"endl;
a=i;
}
}
if(a==-100)
cout"工號(hào)不正確!無(wú)此人!"endl;
fs.close();
delete[]emp;
}
刪除功能:
voiddel()
//6)根據(jù)工號(hào)刪除職工信息
fstreamfs;
fs.open("guanli.dat",ios::in|ios::out|ios::binary);
fs.seekg(0,ios::end);
ints=fs.tellg();
intn=s/sizeof(employee);
fs.seekg(ios::beg);
employee*emp=newemployee[n];
for(inti=0;ii++)
{
fs.read((char*)emp[i],sizeof(emp[i]));
}
fs.close();
intnum;
cout"請(qǐng)輸入要?jiǎng)h除的職工號(hào):"endl;
cinnum;
inta=-100;
for(i=0;ii++)
{
if(num==emp[i].getnum())
a=i;
}
if(a==-100)
cout"工號(hào)不正確!無(wú)此人!"endl;
fs.open("guanli.dat",ios::out|ios::binary);
if(!fs)
cout"Openfailed."endl;
else
{
cout"Opensucceedly."endl;
for(inti=0;ii++)
{
if(i==a)
continue;
else
fs.write((char*)emp[i],sizeof(emp[i]));
}
}
if(a=0a=n)
cout"刪除成功!"endl;
else
cout"刪除失敗!"endl;
fs.close();
fs.clear();
delete[]emp;
}
查看功能:
voidshow()
//8.查看所有人員信息
{
fstreamfs;
fs.open("guanli.dat",ios::in|ios::binary);
fs.seekg(0,ios::end);
ints=fs.tellg();
intn=s/sizeof(employee);
fs.seekg(ios::beg);
employee*emp=newemployee[n];
for(inti=0;ii++)
{
fs.read((char*)emp[i],sizeof(emp[i]));
coutemp[i];
}
fs.close();
delete[]emp;
}
主函數(shù):
intmain()
{
charflag='n';
while(flag=='n'||flag=='N')
//由y/n控制循環(huán)
{
menu();
intjudge;
cinjudge;
if(judge=0judge=8)
{
switch(judge)
{
case0:
cout"是否退出系統(tǒng)(y/n):"endl;
cinfla
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 肉牛牧場(chǎng)養(yǎng)殖委托運(yùn)營(yíng)管理合同
- 健康管理師職業(yè)發(fā)展與服務(wù)價(jià)值
- 《特應(yīng)性皮炎Atopic Dermatitis》課件
- 分析室安全隱患及安全管理策略
- 《農(nóng)業(yè)災(zāi)害生物防治》課件
- 《消化系統(tǒng)疾病診斷與預(yù)防》課件
- 《枯葉飄零之美》課件
- 《新冠病毒感染患者護(hù)理指南》課件
- 《全球教育資源庫(kù)》課件
- 音樂(lè)欣賞活動(dòng)教案課件
- 猴子的課件教學(xué)課件
- 系統(tǒng)商用密碼應(yīng)用方案v5-2024(新模版)
- 小學(xué)人教版數(shù)學(xué)五年級(jí)下冊(cè)《數(shù)學(xué)廣角-找次品》數(shù)學(xué)教學(xué)設(shè)計(jì)
- 主數(shù)據(jù)管理規(guī)劃設(shè)計(jì)方案
- 水利水電樞紐工程畢業(yè)設(shè)計(jì)
- 【馬林巴獨(dú)奏曲雨之舞的演奏技巧和情感處理探析5000字(論文)】
- 2024年江蘇省生態(tài)環(huán)境監(jiān)測(cè)專業(yè)技術(shù)人員大比武理論試題庫(kù)(含答案)
- 07FD02 防空地下室電氣設(shè)備安裝
- Module 10 Unit 1 We are going to different school(教案)外研版(三起)英語(yǔ)六年級(jí)下冊(cè)
- 市場(chǎng)調(diào)查與預(yù)測(cè)題庫(kù)+答案
- JT-T-398-2013港口輸油臂行業(yè)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論