基于C的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例課程設(shè)計(jì)報(bào)告高校人員信息管理系統(tǒng)_第1頁(yè)
基于C的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例課程設(shè)計(jì)報(bào)告高校人員信息管理系統(tǒng)_第2頁(yè)
基于C的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例課程設(shè)計(jì)報(bào)告高校人員信息管理系統(tǒng)_第3頁(yè)
基于C的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例課程設(shè)計(jì)報(bào)告高校人員信息管理系統(tǒng)_第4頁(yè)
基于C的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例課程設(shè)計(jì)報(bào)告高校人員信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、北 華 航 天 工 業(yè) 學(xué) 院基于c+的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例課程設(shè)計(jì)報(bào)告報(bào)告題目: 高校人員信息管理系統(tǒng) 作者所在系部: 計(jì)算機(jī)科學(xué)與工程系 作者所在專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 作者所在班級(jí): 作 者 姓 名 : 指導(dǎo)教師姓名: 完 成 時(shí) 間 : 北華航天工業(yè)學(xué)院教務(wù)處制摘 要當(dāng)今教育事業(yè)備受關(guān)注,如何高效方便的對(duì)高校人員進(jìn)行管理是一個(gè)問(wèn)題。本文利用c+面向?qū)ο蟮某绦蛟O(shè)計(jì)實(shí)現(xiàn)了這一功能。本系統(tǒng)主要有七個(gè)功能模塊:新增、更改、刪除、查找、顯示、全刪、統(tǒng)計(jì),實(shí)現(xiàn)了對(duì)領(lǐng)導(dǎo)、教師、學(xué)生信息的管理。本程序已經(jīng)過(guò)全面的系統(tǒng)測(cè)試,能夠很好的運(yùn)行,達(dá)到預(yù)期的效果。關(guān)鍵詞:信息管理 系統(tǒng)設(shè)計(jì) 面向?qū)ο笳?要

2、2第一章 緒論211 課程設(shè)計(jì)的目的212 課程設(shè)計(jì)的背景和意義2121 課程設(shè)計(jì)的背景21. 理論研究基礎(chǔ)22. 技術(shù)層面的支持2122 課程設(shè)計(jì)的意義213 課程設(shè)計(jì)環(huán)境3第二章 需求分析321 問(wèn)題描述322 功能要求323 問(wèn)題的解決方案3第三章 系統(tǒng)設(shè)計(jì)431 數(shù)據(jù)設(shè)計(jì)4311 類設(shè)計(jì)4312 類之間的關(guān)系4313 函數(shù)設(shè)計(jì)532 結(jié)構(gòu)設(shè)計(jì)5321 系統(tǒng)流程圖5322 界面設(shè)計(jì)6第四章 系統(tǒng)實(shí)現(xiàn)741 類實(shí)現(xiàn)742 函數(shù)實(shí)現(xiàn)943 主函數(shù)實(shí)現(xiàn)15第五章 系統(tǒng)測(cè)試1651 模塊測(cè)試1652 課程設(shè)計(jì)過(guò)程中遇到的問(wèn)題19總 結(jié)19致 謝20參考文獻(xiàn)20附 錄21第一章 緒論11 課程設(shè)計(jì)

3、的目的 課程設(shè)計(jì)是課程教學(xué)必不可缺的一個(gè)重要環(huán)節(jié),可加深學(xué)生對(duì)該課程所學(xué)內(nèi)容的進(jìn)一步的了解與鞏固,是將計(jì)算機(jī)課程與實(shí)際問(wèn)題相連接的關(guān)鍵步驟。此次程序設(shè)計(jì)綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題,將課堂的書(shū)本知識(shí)有效的在程序中體現(xiàn)出來(lái),讓學(xué)生更理解了c+功能之強(qiáng)大,進(jìn)一步讓學(xué)生對(duì)面向?qū)ο蟮姆椒ㄒ约癱+的編程思想有了較好了解和認(rèn)識(shí)。12 課程設(shè)計(jì)的背景和意義121 課程設(shè)計(jì)的背景本次課程設(shè)計(jì),主要研究類的繼承、抽象類、多態(tài)、虛基類以及對(duì)文件進(jìn)行各項(xiàng)操作(如添加、修改、刪除、查詢、顯示等)。通過(guò)這次課程設(shè)計(jì)掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)思路,著重掌握在c+中對(duì)文件進(jìn)行查找、刪除、修改等操作。1. 理論研究基礎(chǔ)(1)c+

4、面向?qū)ο蟪绦蛟O(shè)計(jì)中類與對(duì)象的使用(2)類的封裝性和繼承性。(3)c+ i/o流庫(kù)的處理,二進(jìn)制文件的創(chuàng)建與保存。2. 技術(shù)層面的支持(1)定義基類與派生類,將數(shù)據(jù)成員與成員函數(shù)封裝在類中。(2)定義指向?qū)ο蟮闹羔?,設(shè)計(jì)刪除、查詢、更改的算法。(3)c+異常處理的功能與輸入輸出流。122 課程設(shè)計(jì)的意義(1)通過(guò)課程設(shè)計(jì)的綜合訓(xùn)練,培養(yǎng)了學(xué)生分析解決實(shí)際問(wèn)題和編程等實(shí)際動(dòng)手能力。幫助了同學(xué)系統(tǒng)的掌握c+課程的主要內(nèi)容。(2)通過(guò)詳細(xì)的實(shí)例分析,循環(huán)漸進(jìn)的描述,啟發(fā)學(xué)生順利的完成設(shè)計(jì)。課程設(shè)計(jì)將設(shè)計(jì)要求、需求分析、算法設(shè)計(jì)、編程和實(shí)例測(cè)試運(yùn)行分開(kāi),為學(xué)生創(chuàng)造分析問(wèn)題、獨(dú)立思考的條件。(3)通過(guò)編寫

5、一個(gè)較長(zhǎng)的程序,實(shí)現(xiàn)了對(duì)人員信息的管理,激發(fā)了學(xué)生學(xué)習(xí)編程的興趣。13 課程設(shè)計(jì)環(huán)境在microsoft visual c+ 6.0開(kāi)發(fā)平臺(tái)上編寫程序源代碼,修改,增加功能,通過(guò)編譯、連接,直到完全無(wú)誤,最終執(zhí)行程序,反復(fù)輸入新的數(shù)據(jù)進(jìn)行驗(yàn)證并進(jìn)一步完善。第二章 需求分析21 問(wèn)題描述某高校,主要人員有:領(lǐng)導(dǎo)、教師和學(xué)生,共有的信息包括:編號(hào)、姓名、性別、年齡。其中領(lǐng)導(dǎo)還應(yīng)包含的信息有:任職部門(學(xué)院、各系部)、職稱;教師還應(yīng)包含的信息有:職稱、任職時(shí)間、專業(yè);學(xué)生還應(yīng)包含的信息有:所在班級(jí)、所在宿舍等。22 功能要求對(duì)各類人員信息完成的基本功能有:1) 添加功能:程序能夠添加相應(yīng)的記錄;2)

6、 查詢功能:能根據(jù)編號(hào)和姓名進(jìn)行查詢,并顯示相應(yīng)的記錄信息;3) 編輯功能:根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改;4) 統(tǒng)計(jì)功能:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì);5)刪除功能:根據(jù)查找結(jié)果,完成具體記錄的刪除;6)保存功能:將對(duì)高校人員信息進(jìn)行的添加、刪除、修改結(jié)果保存到文本文件中。23 問(wèn)題的解決方案根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: 1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系; 3)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次; 4)完成類層次中各個(gè)類的描述; 5)完成類中各個(gè)成員函數(shù)的定義; 6)完成系統(tǒng)的應(yīng)用模塊; 7)功能調(diào)試;

7、8)完成系統(tǒng)總結(jié)報(bào)告。第三章 系統(tǒng)設(shè)計(jì)31 數(shù)據(jù)設(shè)計(jì)311 類設(shè)計(jì)人員有共同的信息編號(hào)number、姓名neme、性別sex、年齡age,所以設(shè)計(jì)一個(gè)基類people,在此基礎(chǔ)上派生出leader類(添加數(shù)據(jù)成員任職部門bumen,職稱zhicheng),teacher類(添加數(shù)據(jù)成員職稱zhicheng,任職時(shí)間time,專業(yè)project),student類(添加數(shù)據(jù)成員班級(jí)banji,宿舍sushe)?;恜eople中包含設(shè)置成員值的set函數(shù),添加成員的add函數(shù)。在派生類leader,teacher,student中對(duì)set和add進(jìn)行重新定義。為了對(duì)信息進(jìn)行添加、刪除、查找等功能

8、,定義leaderbase,teacher,student類,分別定義對(duì)象數(shù)組,定義指向?qū)ο蟮闹羔?,以leaderbase類為例,int top; 人數(shù)leader readmaxr;領(lǐng)導(dǎo)類數(shù)組;leaderbase()將領(lǐng)導(dǎo)信息從leader.txt讀取到read中,void delnu(int u)編號(hào)刪除,void delname(char*na)姓名刪除,void clear()刪除所有,void disp() 領(lǐng)導(dǎo)信息顯示,void data()領(lǐng)導(dǎo)維護(hù),leaderbase() 將read中的信息讀入到leader.txt中。312 類之間的關(guān)系由people類派生出leader,

9、teacher,student類,leaderbase類調(diào)用leader類,teacherbase類調(diào)用了teacher類,studentbase類調(diào)用了student類.。派生類對(duì)基類的成員進(jìn)行繼承。繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)中軟件重用的關(guān)鍵技術(shù)。繼承機(jī)制使用已經(jīng)定義的類作為基礎(chǔ)建立新的類定義,新的類是原有類的數(shù)據(jù)、操作和新類所添加的數(shù)據(jù)、操作的組合。新的類把原有類作為基類引用,而不需要修改原有類的定義。313 函數(shù)設(shè)計(jì)leaderbase()將領(lǐng)導(dǎo)信息從leader.txt讀取到read中,void delnu (int n)編號(hào)刪除,void delname(char*na)姓名刪除,voi

10、d clear()刪除所有,void disp() 領(lǐng)導(dǎo)信息顯示,void data()領(lǐng)導(dǎo)數(shù)據(jù)維護(hù),實(shí)現(xiàn)領(lǐng)導(dǎo)信息的添加、刪除、查詢、顯示、統(tǒng)計(jì)、更改功能。leaderbase() 將read中的信息讀如到leader.txt中。當(dāng)刪除和查找時(shí)調(diào)用兩個(gè)函數(shù)leader *query(int n),leader *query1(char *na),看刪除或查找的領(lǐng)導(dǎo)是否存在,若存在,返回指向leader類的指針,若不存在,返回空指針。 32 結(jié)構(gòu)設(shè)計(jì)321 系統(tǒng)流程圖main 函數(shù)領(lǐng)導(dǎo)數(shù)據(jù)操作教師數(shù)據(jù)操作學(xué)生數(shù)據(jù)操作void leaderbase:date()void teacherbase:d

11、ate()void studentbase:base()322 界面設(shè)計(jì)登入高校管理系統(tǒng)界面如圖3-2所示圖3-2界面菜單設(shè)計(jì)程序開(kāi)始運(yùn)行,通過(guò)主函數(shù)進(jìn)入系統(tǒng)主界面(如上圖所示),操作員可鍵入數(shù)字信息選擇系統(tǒng)的各個(gè)功能或退出系統(tǒng)。每種功能的界面都有相應(yīng)的提示(以輸入領(lǐng)導(dǎo)為例):在添加信息功能中系統(tǒng)提示“請(qǐng)輸入領(lǐng)導(dǎo)的性別為男或女,如果輸入錯(cuò)誤,會(huì)輸出“輸入性別錯(cuò)誤,請(qǐng)重新輸入”在新增時(shí)系統(tǒng)會(huì)同時(shí)計(jì)算輸入男女領(lǐng)導(dǎo)的人數(shù);在更改中系統(tǒng)提供了按姓名或編號(hào)修改,在修改前系統(tǒng)會(huì)輸出該領(lǐng)導(dǎo)的全部信息,修改時(shí)系統(tǒng)會(huì)輸出是否更改;刪除中系統(tǒng)提供了按編號(hào)或姓名刪除,刪除前系統(tǒng)會(huì)再次提醒使用者是否確定刪除;在查找中

12、亦提供了按編號(hào)或姓名查找;在輸入完畢后按0返回主菜單。,以便操作員更方便地使用該系統(tǒng)注:各子菜單項(xiàng)均有重新顯示,并順利返回到主菜單。如果要保存信息的數(shù)據(jù),必須退出到主菜單,系統(tǒng)會(huì)自動(dòng)保存;system(“cls”)清除以前的內(nèi)容,界面重新顯示。system(“color 23”)設(shè)置當(dāng)前的窗口和輸出字體的顏色第四章 系統(tǒng)實(shí)現(xiàn)41 類實(shí)現(xiàn)class people/人員基類protected:int number;/編號(hào)char name20;/姓名char sex4;/性別int age;/年齡public:void show()cout<<"編號(hào)"<<

13、;setw(10)<<"姓名"<<setw(10)<<"性別"<<setw(10)<<"年齡"<<endl;cout<<number<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<age<<endl;void set() cout<<"請(qǐng)輸入編號(hào):"<<endl; cin>>n

14、umber; cout<<"請(qǐng)輸入姓名:"<<endl; cin>>name; cout<<"請(qǐng)輸入性別:"<<endl; cin>>sex; cout<<"請(qǐng)輸入年齡:"<<endl; cin>>age;char *getname() return name; /獲取名字 int getno() return number;/獲取編號(hào) int getage() return age; /獲取年齡 char* getsex()r

15、eturn sex; /獲取性別void ren(int n) cout<<n<<endl; void add(int n,char *na,int ag,char *se)number=n;age=ag;strcpy(name,na);strcpy(sex,se);class leader: public people/領(lǐng)導(dǎo)類private:char bumen20;char zhicheng20;public:void set1()set();cout<<"請(qǐng)輸入任職部門:"<<endl;cin>>bumen;

16、 cout<<"請(qǐng)輸入職稱:"<<endl;cin>>zhicheng;void setbu(char bu)strcpy(bumen,bu);void setzhi(char zhi)strcpy(zhicheng,zhi);void show1() show();cout<<"部門"<<setw(10)<<"職稱"<<endl;cout<<bumen<<setw(10)<<zhicheng<<endl

17、;void add1(int n,char *na,int ag,char *se,char *bu,char *zhi)add( n, na, ag, se);strcpy(bumen,bu);strcpy(zhicheng,zhi);char *getbu()return bumen;/獲取部門char *getzhi()return zhicheng;/獲取職稱;類似的,在people類的基礎(chǔ)上派生出student類,teacher類。42 函數(shù)實(shí)現(xiàn) void leaderbase:data()/定義領(lǐng)導(dǎo)維護(hù) int choice=1; int b=1;/標(biāo)記變量 char x; int

18、 nan=0;/男領(lǐng)導(dǎo) int nv=0; /女領(lǐng)導(dǎo) char name20; /姓名 int number;/編號(hào) int age;/年齡 char zhi20; /職稱 char sex4;/性別 char bu20;/系部 leader *r; while (choice!=0) cout<<"領(lǐng)導(dǎo)維護(hù) 1:新增 2:更改 3:刪除 4:查找 5:顯示 6:全刪 7:統(tǒng)計(jì) 0:退出=>" cin>>choice; switch (choice) case 1: /新增 system("color 17"); /顏色 s

19、ystem("cls");/清屏 cout<<"輸入領(lǐng)導(dǎo)編號(hào):" cin>>number; cout<<"輸入領(lǐng)導(dǎo)姓名:" cin>>name; cout<<"輸入領(lǐng)導(dǎo)年齡: " cin>>age; cout<<"輸入領(lǐng)導(dǎo)性別(male or f):"cin>>sex; if(strcmp("male",sex)!=0&&strcmp("f",s

20、ex)!=0) while(b) cout<<"輸入性別有誤,請(qǐng)重新輸入:"<<endl; cin>>sex; if(strcmp("male",sex)=0|strcmp("f",sex)=0) b=0; if(strcmp("male",sex)=0) nan+;/統(tǒng)計(jì)男女領(lǐng)導(dǎo)的人數(shù) else nv+; cout<<"輸入領(lǐng)導(dǎo)所在系部:" cin>>bu; cout<<"輸入領(lǐng)導(dǎo)的職稱:" cin&g

21、t;>zhi; add(number,name,age,sex,bu,zhi); break; case 2: /根據(jù)查詢結(jié)果更改 system("color f4"); /顏色 system("cls"); cout<<" 按編號(hào)更改1"<<endl; cout<<" 按姓名更改2"<<endl; cout<<" 返回 0"<<endl; cin>>b; while(b) switch(b) case 1

22、: cout<<"輸入領(lǐng)導(dǎo)編號(hào):" cin>>number; r=query(number); if (r=null) cout<<"該領(lǐng)導(dǎo)不存在"<<endl; break; r->show1(); cout<<"是否確認(rèn)更改任職部門?(y/n)"<<endl; cin>>x; if(x='y'|x='y') cout<<"輸入新的任職部門:"<<endl; cin&g

23、t;>bu; r->setbu(bu); add(number,name,age,sex,bu,zhi); cout<<"是否確認(rèn)更改職稱?(y/n)"<<endl; cin>>x; if(x='y'|x='y') cout<<"請(qǐng)輸入新的職稱"<<endl; cin>>zhi; r->setzhi(zhi); add(number,name,age,sex,bu,zhi); r->show1(); break; case 2:

24、 cout<<"輸入領(lǐng)導(dǎo)姓名:" cin>>name; r=query1(name); if (r=null) cout<<"該領(lǐng)導(dǎo)不存在"<<endl; break; r->show1(); cout<<"是否確認(rèn)更改任職部門?(y/n)"<<endl; cin>>x; if(x='y'|x='y') cout<<"輸入新的任職部門:"<<endl; cin>&g

25、t;bu; r->setbu(bu); add(number,name,age,sex,bu,zhi); cout<<"是否確認(rèn)更改職稱?(y/n)"<<endl; cin>>x; if(x='y'|x='y') cout<<"請(qǐng)輸入新的職稱"<<endl; cin>>zhi; r->setzhi(zhi); add(number,name,age,sex,bu,zhi); r->show1(); break; case 3:brea

26、k; break; break; case 3:/刪除 system("color f1"); /顏色 同樣是調(diào)用doc system("cls"); cout<<" 按編號(hào)刪除 1"<<endl; cout<<" 按姓名刪除 2"<<endl; cout<<" 返回 0"<<endl; cin>>b; while(b!=0)switch(b) case 1: cout<<"輸入領(lǐng)導(dǎo)編號(hào):&

27、quot; cin>>number; r=query(number); if (r=null) cout<<"該領(lǐng)導(dǎo)不存在"<<endl; break; delnu(number); b=0; break; case 2: cout<<"輸入領(lǐng)導(dǎo)姓名:"<<endl; cin>>name; r=query1(name); if (r=null) cout<<"該領(lǐng)導(dǎo)不存在"<<endl; break; delname(name);b=0;

28、break; case 3:break; break; break; case 4: /查找 system("color 07"); /顏色 system("cls"); cout<<" 按編號(hào)查找 1"<<endl; cout<<" 按姓名查找 2"<<endl; cout<<" 返回 0"<<endl; cin>>b; while(b!=0) switch(b) case 1: cout<<&qu

29、ot;輸入領(lǐng)導(dǎo)編號(hào):" cin>>number; r=query(number); if (r=null) cout<<"該領(lǐng)導(dǎo)不存在"<<endl; break; r->show1(); break; case 2: cout<<"輸入領(lǐng)導(dǎo)姓名 :"cin>>name; r=query1(name); if (r=null) cout<<"該領(lǐng)導(dǎo)不存在"<<endl; break; r->show1(); break; case

30、 3: break; break; break; case 5:/顯示信息 system("color fa"); /顏色 system("cls"); disp(); break; case 6: system("color fd"); /顏色 system("cls"); clear(); break; case 7: system("color 48"); /顏色 system("cls"); cout<<" 統(tǒng)計(jì)男領(lǐng)導(dǎo)人數(shù) 1"<

31、<endl; cout<<" 統(tǒng)計(jì)女領(lǐng)導(dǎo)人數(shù)2"<<endl; cout<<" 返回 0"<<endl; cin>>b; while(b!=0) switch(b) case 1: cout<<"該高校男領(lǐng)導(dǎo)人數(shù)"<<endl; r->ren(nan); b=0; break; case 2: cout<<"該高校女領(lǐng)導(dǎo)人數(shù)"<<endl; r->ren(nv); b=0; break; c

32、ase 3:break; break; 類似的,定義teacherbase類與studentbase類的數(shù)據(jù)維護(hù)data函數(shù),實(shí)現(xiàn)對(duì)人員信息的新增、更改、刪除 、查找 、顯示、全刪 、統(tǒng)計(jì)功能。43 主函數(shù)實(shí)現(xiàn)int main() a: int choice=1; leaderbase l; teacherbase t; studentbase s;while(choice!=0) cout<<"*"<<endl; cout<<endl; cout<<endl; cout<<setw(20)<<&quo

33、t;*歡迎使用高校人員管理系統(tǒng)*"<<endl; cout<<endl; cout<<endl; cout<<setw(50)<<" -n" cout<<setw(50)<<" 請(qǐng)選擇您所需的操作 n" cout<<setw(50)<<" n" cout<<setw(50)<<" 操作 1,領(lǐng)導(dǎo)信息管理n" cout<<setw(50)<<"

34、 n" cout<<setw(50)<<" 操作 2,教師信息管理 n" cout<<setw(50)<<" n" cout<<setw(50)<<" 操作 3,學(xué)生信息管理 n" cout<<setw(50)<<" n" cout<<setw(50)<<" 操作 0,退出信息管理系統(tǒng) n" cout<<setw(50)<<" -n&

35、quot; cin>>choice; switch(choice) case 1: while(1) cout<<setw(20); l.data(); goto a; case 2: while(1) cout<<setw(20); t.data(); goto a; case 3: while(1) cout<<setw(20); s.data(); goto a; break; return 0;第五章 系統(tǒng)測(cè)試51 模塊測(cè)試以管理領(lǐng)導(dǎo)信息為例進(jìn)行說(shuō)明。(1)選擇對(duì)領(lǐng)導(dǎo)信息進(jìn)行添加 ,見(jiàn)圖51 圖51(2)添加界面如圖52 圖52(3)可以

36、按編號(hào)和姓名進(jìn)行更改,見(jiàn)圖53 圖53(4)按編號(hào)更改如圖54 圖54(5)按姓名刪除如圖55 圖55(6)可以按姓名、編號(hào)進(jìn)行查找,如圖56 圖56(7)按姓名進(jìn)行查找,如圖57 圖57(8)對(duì)領(lǐng)導(dǎo)信息進(jìn)行顯示,如圖58 圖58(9)可以對(duì)人員信息進(jìn)行統(tǒng)計(jì),如圖59 圖59 (10)對(duì)男領(lǐng)導(dǎo)人數(shù)進(jìn)行統(tǒng)計(jì),如圖510 圖51052 課程設(shè)計(jì)過(guò)程中遇到的問(wèn)題(1)程序?qū)崿F(xiàn)七個(gè)功能,怎樣選擇何種功能。解決方法:應(yīng)用switch語(yǔ)句,分多種情況進(jìn)行選擇。(2)系統(tǒng)在輸入過(guò)程中不能自動(dòng)保存,必須退出時(shí)才能自動(dòng)保存。用的是析構(gòu)函數(shù)保存。(3)窗口中內(nèi)容太多,顯得雜亂,顏色只有黑色。從網(wǎng)上搜索到了清屏函數(shù)

37、system(”cls”),使屏幕干凈、整潔。并有system(”color 2f”)顏色設(shè)置,告別了單一的畫(huà)面總 結(jié)通過(guò)本程序設(shè)計(jì)掌握了類對(duì)象、類數(shù)組、繼承、派生、重載、輸入輸出流的定義和使用,對(duì)使用c+語(yǔ)言編碼有了更深層次的理解,也認(rèn)識(shí)到了自己還有許多不足之處,達(dá)到了實(shí)驗(yàn)?zāi)康?。本系統(tǒng)基本完成了題目的功能要求,并且還在一定程度上進(jìn)行了優(yōu)化,具體如下:優(yōu)點(diǎn):刪除時(shí)可以重新選擇;對(duì)無(wú)效數(shù)據(jù)的輸入進(jìn)行了有效的判斷;在刪除和查詢時(shí)既可以按編號(hào)也可以按姓名;每次刪除后自動(dòng)將人員信息顯示出來(lái)。缺點(diǎn):對(duì)于重名的人員系統(tǒng)照舊可以添加,沒(méi)有提醒;人員的編號(hào)可以重復(fù)。可以改進(jìn)的地方:在添加成員時(shí)進(jìn)行驗(yàn)證,看所輸

38、姓名和編號(hào)是否重復(fù),若重復(fù)進(jìn)行重新輸入;在實(shí)現(xiàn)七個(gè)功能的地方添加exit函數(shù),一旦操作失誤,不想繼續(xù)進(jìn)行,則系統(tǒng)跳轉(zhuǎn)會(huì)主界面進(jìn)行新的操作選擇。致 謝在課程設(shè)計(jì)過(guò)程中遇到了很多問(wèn)題,不過(guò)在老師和和同學(xué)們的幫助下大部分都得以解決,首先要對(duì)他們表示感謝。同時(shí),我們也要感謝學(xué)校為我們提供了大量的圖書(shū),通過(guò)看書(shū)我們也學(xué)到了很多課堂上學(xué)不到的東西。通過(guò)此次課程設(shè)計(jì)我最大的收獲是學(xué)會(huì)了自主學(xué)習(xí),也增加了與老師和同學(xué)們的交往、增進(jìn)了相互之間的感情。由于自己水平和能力有限,其中有不足和疏漏之處,懇求老師批評(píng)指正。參考文獻(xiàn)1張軍安.c+設(shè)計(jì)教程.西安:西北工業(yè)大學(xué)出版社 20062 周靄如 .林偉健. c+程序設(shè)

39、計(jì)基礎(chǔ) .北京:電子工業(yè)出版社 20023 李巖 visual c+實(shí)用教程 北京:科學(xué)教育出版社 20034 徐曉梅 高麗 visual c+程序設(shè)計(jì) 北京:電子工業(yè)出版社 20045 陳偉柱 c+代碼設(shè)計(jì)與重用 北京:人民郵電出版社 2002附 錄#include<iostream.h>#include<fstream.h>#include<string.h>#include <iomanip.h>#include<windows.h>const int maxr=100; class people/人員基類protected:i

40、nt number;/編號(hào)char name20;/姓名char sex4;/性別int age;/年齡public:void show()cout<<"編號(hào)"<<setw(10)<<"姓名"<<setw(10)<<"性別"<<setw(10)<<"年齡"<<endl;cout<<number<<setw(10)<<name<<setw(10)<<sex<

41、<setw(10)<<age<<endl;void set() cout<<"請(qǐng)輸入編號(hào):"<<endl; cin>>number; cout<<"請(qǐng)輸入姓名:"<<endl; cin>>name; cout<<"請(qǐng)輸入性別:"<<endl; cin>>sex; cout<<"請(qǐng)輸入年齡:"<<endl; cin>>age;char *getn

42、ame() return name; /獲取名字 int getno() return number;/獲取編號(hào) int getage() return age; /獲取年齡 char* getsex()return sex; /獲取性別void ren(int n) cout<<n<<endl; void add(int n,char *na,int ag,char *se)number=n;age=ag;strcpy(name,na);strcpy(sex,se);class leader: public people/領(lǐng)導(dǎo)類private:char bumen20

43、;char zhicheng20;public:void set1()set();cout<<"請(qǐng)輸入任職部門:"<<endl;cin>>bumen; cout<<"請(qǐng)輸入職稱:"<<endl;cin>>zhicheng;void setbu(char bu)strcpy(bumen,bu);void setzhi(char zhi)strcpy(zhicheng,zhi);void show1() show();cout<<"部門"<<s

44、etw(10)<<"職稱"<<endl;cout<<bumen<<setw(10)<<zhicheng<<endl;void add1(int n,char *na,int ag,char *se,char *bu,char *zhi)add( n, na, ag, se);strcpy(bumen,bu);strcpy(zhicheng,zhi);char *getbu()return bumen;/獲取部門char *getzhi()return zhicheng;/獲取職稱;class leade

45、rbaseprivate:int top;leader readmaxr;public:leaderbase()/將領(lǐng)導(dǎo)信息從leader.txt讀取到read中l(wèi)eader l;top=-1;fstream file("d:leader.txt",ios:in);while(1)file.read(char*)&l,sizeof(l);if(!file)break;top+;readtop=l;file.close(); void delnu(int n)/按編號(hào)刪除 int i,y=0; char x; for ( i=0;i<=top;i+) if (r

46、eadi.getno()=n) cout<<"該領(lǐng)導(dǎo)情況:"<<endl; cout<<setw(10)<<"編號(hào)"<<setw(10)<<"姓名"<<setw(10)<<"年齡"<<setw(10)<<"性別"<<setw(10)<<"系部"<<setw(10)<<"職稱"<<

47、endl; cout<<setw(10)<<readi.getno()<<setw(10)<<readi.getname()<<setw(10)<<readi.getage()<<setw(10)<<readi.getsex()<<setw(10)<<readi.getbu()<<setw(10)<<readi.getzhi()<<endl; cout<<"是否確認(rèn)刪除?(y/n)"<<endl;

48、 cin>>x; if(x='y'|x='y') y+; for(;i<=top-1;i+) readi=readi+1; top-;/每刪除一個(gè)對(duì)總是減少一個(gè) if(y=0) cout<<"未刪除該領(lǐng)導(dǎo)!"<<endl; else cout<<"刪除后的信息為:"<<endl; for (int i=0;i<=top;i+) readi.show1(); void delname(char*na)/按姓名刪除 int i,y=0; char x; for ( i=0;i<=top;i+) if(strcmp(readi.getname(),na)=0) cout<<setw(10)<<"編號(hào)"<<setw(10)<<"姓名"<<setw(10)<<"年齡"<<setw(10)<<"性別"<<setw(10)<<"系部"<<setw(10)<<"職稱"<<e

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論