版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 學(xué) 號(hào) </b></p><p><b> 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)</b></p><p><b> 設(shè)計(jì)說(shuō)明書</b></p><p> 起止日期: 2011年 12月 12 日 至 2011 年 12月16日</p><p><
2、;b> 電子與信息工程系</b></p><p> 2011年 12 月16日</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 2010—2011學(xué)年第1學(xué)期</p><p> 電子與信息工程 系 軟件工程 專業(yè) 班級(jí)</p><p&
3、gt; 課程設(shè)計(jì)名稱: 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) </p><p> 設(shè)計(jì)題目: 員工管理系統(tǒng) </p><p> 完成期限:自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周</p><p> 設(shè)計(jì)依據(jù)
4、、要求及主要內(nèi)容(可另加附頁(yè)):</p><p><b> 一、設(shè)計(jì)目的</b></p><p> 熟悉各種數(shù)據(jù)結(jié)構(gòu)和運(yùn)算,會(huì)使用數(shù)據(jù)結(jié)構(gòu)的基本操作解決一些實(shí)際問(wèn)題。</p><p><b> 二、設(shè)計(jì)要求 </b></p><p> ?。?)重視課程設(shè)計(jì)環(huán)節(jié),用嚴(yán)謹(jǐn)、科學(xué)和踏實(shí)的工作態(tài)度
5、對(duì)待課程設(shè)計(jì)的每一項(xiàng)任務(wù);</p><p> (2)按照課程設(shè)計(jì)的題目要求,獨(dú)立地完成各項(xiàng)任務(wù),嚴(yán)禁抄襲;凡發(fā)現(xiàn)抄襲,抄襲者與被抄襲者皆以零分計(jì)入本課程設(shè)計(jì)成績(jī)。凡發(fā)現(xiàn)實(shí)驗(yàn)報(bào)告或源程序雷同,涉及的全部人員皆以零分計(jì)入本課程設(shè)計(jì)成績(jī);</p><p> ?。?)學(xué)生在接受設(shè)計(jì)任務(wù)后,首先要按設(shè)計(jì)任務(wù)書的要求編寫設(shè)計(jì)進(jìn)程表;</p><p> ?。?)認(rèn)真編寫課程設(shè)計(jì)
6、報(bào)告。</p><p><b> 三、設(shè)計(jì)內(nèi)容</b></p><p><b> 員工管理系統(tǒng)</b></p><p><b> 1)問(wèn)題描述</b></p><p> 每個(gè)員工的信息包括:編號(hào)、姓名、性別、出生年月、學(xué)歷、職務(wù)、電話、住址等。系統(tǒng)能夠完成員工信息的查詢
7、、更新、插入、刪除、排序等功能。</p><p><b> 2)基本要求</b></p><p> (1) 排序:按不同關(guān)鍵字,對(duì)所有員工的信息進(jìn)行排序。</p><p> ?。?) 查詢:按特定條件查找員工。</p><p> (3) 更新:按編號(hào)對(duì)某個(gè)員工的某項(xiàng)信息進(jìn)行修改。</p><p&
8、gt; ?。?) 插入:加入新員工的信息。</p><p> ?。?) 刪除:按編號(hào)刪除已離職的員工的信息。</p><p><b> 四、參考文獻(xiàn)</b></p><p> 1.王紅梅.?dāng)?shù)據(jù)結(jié)構(gòu).清華大學(xué)出版社</p><p> 2.王紅梅.?dāng)?shù)據(jù)結(jié)構(gòu)學(xué)習(xí)輔導(dǎo)與實(shí)驗(yàn)指導(dǎo).清華大學(xué)出版社</p><
9、;p> 3.嚴(yán)蔚敏,吳偉民.?dāng)?shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).清華大學(xué)出版社</p><p><b> 一、需求分析</b></p><p> 我認(rèn)為首先建立一個(gè)數(shù)組,數(shù)組中包含員工的基本信息,每個(gè)員工的信息包括:編號(hào)、姓名、性別、出生年月、學(xué)歷、職務(wù)、電話、住址等。然后再設(shè)計(jì)具體功能的程序,比如說(shuō)查找員工的信息就要建立查找的代碼,并且還要建立和主函數(shù)的關(guān)系,根據(jù)主菜
10、單的提示可以選擇自動(dòng)的轉(zhuǎn)向你所要查詢的內(nèi)容,然后還能夠返回到主函數(shù)主界面,這樣用戶就可以完成下一步的操作,最終我設(shè)計(jì)的這個(gè)系統(tǒng)能夠完成員工信息的查詢、更新、插入、刪除、排序等功能,在主界面可以實(shí)現(xiàn)這些功能,根據(jù)用戶需求進(jìn)行相應(yīng)的操作。</p><p> 輸入:輸入每個(gè)員工的基本信息,形成每一條員工記錄。輸出:輸出員工管理的主菜單,可以進(jìn)行查詢、更新、插入、刪除、排序的操作。</p><p&g
11、t;<b> 二、問(wèn)題求解</b></p><p> 在現(xiàn)實(shí)生活中,我會(huì)首先建立一個(gè)結(jié)構(gòu)體用來(lái)存儲(chǔ)員工的基本信息,初始數(shù)據(jù)形式為一個(gè)空的結(jié)構(gòu)體,里面存儲(chǔ)員工所具有的屬性,然后建立一個(gè)主界面,根據(jù)提示依次輸入一條員工的記錄,然后存儲(chǔ)當(dāng)前的數(shù)據(jù)形式,等到有需要操作時(shí),就會(huì)調(diào)用這些數(shù)據(jù)記錄,完成相應(yīng)的操作。比如如果要增加一條員工的記錄,就會(huì)在主界面中按照提示輸入員工的編號(hào),姓名等一系列的員工信
12、息,最終存儲(chǔ)到結(jié)構(gòu)體之中,修改的時(shí)候只需要輸入員工的編號(hào)就能進(jìn)行相應(yīng)的修改操作。</p><p> 三、總體設(shè)計(jì) 流程圖如下:</p><p><b> 四、詳細(xì)設(shè)計(jì)</b></p><p> 首先建立一個(gè)菜單函數(shù),顯示7個(gè)功能,供用戶選擇,進(jìn)行人機(jī)對(duì)話,設(shè)置一個(gè)排序的函數(shù)void list(),設(shè)置一個(gè)顯示的函數(shù)
13、,void display(),設(shè)置一個(gè)插入的函數(shù),void input(),設(shè)一個(gè)刪除的函數(shù),void del(),設(shè)一個(gè)查找的函數(shù),void lookup(),設(shè)置一個(gè)修改的函數(shù),void set()。最后退出程序界面。</p><p><b> 五、調(diào)試與測(cè)試</b></p><p> 調(diào)試是通過(guò)工具進(jìn)行異常或者數(shù)據(jù)的查看跟蹤,主要是用于看程序在執(zhí)行關(guān)鍵部的
14、數(shù)據(jù),或者查看斷點(diǎn)處異常通知,以解決問(wèn)題。測(cè)試指的方法,或者程序流程,主要體現(xiàn)在測(cè)試用例上。要通過(guò)測(cè)試和調(diào)試不斷地發(fā)現(xiàn)程序的錯(cuò)誤,解決問(wèn)題,最終使程序正確的運(yùn)行。</p><p> 六、關(guān)鍵源程序清單和執(zhí)行結(jié)果</p><p><b> 源程序:</b></p><p> #include <iostream></p&g
15、t;<p> using namespace std;</p><p> struct worker//定義員工的結(jié)構(gòu)體數(shù)組 </p><p> {char num[15];</p><p> char name[15];</p><p> char sex[5];</p><p> char
16、 birth[15];</p><p> char degree[15];</p><p> char position[15];</p><p> char tel[15];</p><p> char address[15];</p><p> void output();</p><
17、p> };void worker::output()</p><p> { cout<<num<<"\t"<<name<<"\t"<<sex<<"\t"<<birth<<"\t"<<degree<<&q
18、uot;\t"<<position<<"\t"<<tel<<"\t"<<address<<"\t"<<endl;</p><p><b> }</b></p><p> int i=0; //全局變量 統(tǒng)計(jì)個(gè)數(shù)
19、</p><p> void input(struct worker a[] ); //輸入函數(shù)</p><p> void show(struct worker a[]);//顯示數(shù)據(jù) </p><p> void list(struct worker a[]); //排序函數(shù) </p><p> void set(struct w
20、orker a[]); //修改函數(shù) </p><p> void del(struct worker a[]); //刪除函數(shù) </p><p> void display(struct worker a[]);//顯示函數(shù) </p><p> void lookup(struct worker a[]);//查找函數(shù)</p><p>
21、; //void statistics(struct thing a[]);//統(tǒng)計(jì)函數(shù)</p><p> void main() </p><p> {struct worker stu[50];//定義結(jié)構(gòu)體數(shù)組</p><p> char number; </p><p><b> do </b><
22、/p><p><b> { </b></p><p> cout<<"\n\t\t員工管理系統(tǒng)\n"; </p><p> cout<<"\n☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"; </p><p> cout<<"
23、;\n\t\t請(qǐng)選擇功能\n\t\t0.退出\n\t\t1.錄入信息\n\t\t2.排序\n\t\t3.修改\n\t\t4.刪除\n\t\t5.查找\n\t\t6.顯示數(shù)據(jù)";</p><p> cout<<"\n☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"; </p><p> cin>>number; </p&
24、gt;<p> cout<<"\n******************\n\n"; </p><p> switch (number) </p><p> { case '0':break; //退出系統(tǒng)</p><p> case '1':input(stu);break;
25、//錄入函數(shù)</p><p> case '2':list(stu);break; //排序函數(shù)</p><p> case '3':set(stu);break; //修改函數(shù)</p><p> case '4':del(stu);break;//刪除函數(shù) </p><p> cas
26、e '5':lookup(stu);break;//查找函數(shù)</p><p> case '6' :display(stu);break;//顯示數(shù)據(jù)</p><p> default:cout<<"此輸入無(wú)效!請(qǐng)重新輸入";</p><p><b> } </b></
27、p><p><b> }</b></p><p> while(number!=0); </p><p> cout<<"謝謝使用!下次再見(jiàn)!"; </p><p> cout<<"\n"; </p><p><b>
28、 } </b></p><p> //***********************************************************</p><p> void input(struct worker a[]) //錄入函數(shù) </p><p> { //int j; </p><p><b>
29、; char b; </b></p><p> float sum=0; </p><p> cout<<"請(qǐng)輸入員工信息\n"; </p><p><b> do </b></p><p> { cout<<"編號(hào):"; </p
30、><p> cin>>a[i].num; </p><p> cout<<"姓名:"; </p><p> cin>>a[i].name; </p><p> cout<<"性別"; </p><p>
31、; cin>>a[i].sex;</p><p> cout<<"出生年月:";</p><p> cin>>a[i].birth; </p><p> cout<<"學(xué)歷";</p><p> cin>>a[i].degree;&l
32、t;/p><p> cout<<"職務(wù)";</p><p> cin>>a[i].position;</p><p> cout<<"電話";</p><p> cin>>a[i].tel;</p><p> cout<
33、<"住址";</p><p> cin>>a[i].address;</p><p><b> i++; </b></p><p> cout<<"是否繼續(xù)\n(y/n)?"; </p><p> fflush(stdin); //
34、清空輸入緩沖區(qū)</p><p><b> cin>>b; </b></p><p> }while(b=='Y'||b=='y'); </p><p><b> } </b></p><p> //************************
35、***************************************</p><p> void display(struct worker a[]) //顯示函數(shù) </p><p><b> { int k; </b></p><p> cout<<"編號(hào) 姓名 性別 出生年月 學(xué)歷 職務(wù)
36、 電話 住址"<<endl; </p><p> for(k=0;k<i;k++) </p><p> { cout<<a[k].num<<" "<<a[k].name<<" "<<a[k].sex<<" "<&l
37、t;a[k].birth<<" "<<a[k].degree<<" "<<a[k].position<<" "<<a[k].tel<<" "<<a[k].address<<endl; </p><p><b>
38、 } </b></p><p><b> } </b></p><p> //*************************************************************</p><p> void lookup(struct worker a[]) //查找函數(shù)</p>&l
39、t;p> {char k[20]; </p><p> cout<<"請(qǐng)輸入要查找員工的編號(hào):";</p><p><b> cin>>k;</b></p><p> for(int l=0;l<i;l++)</p><p> { int s=strcm
40、p(a[l].num,k);</p><p><b> if(s==0)</b></p><p><b> {</b></p><p> cout<<a[l].num<<" "<<a[l].name<<" "<<a
41、[l].sex<<" "<<a[l].birth<<" "<<a[l].degree<<" "<<a[l].position<<" "<<a[l].tel<<" "<<a[l].sex<<"
42、; "<<a[l].address<<endl; </p><p><b> }</b></p><p><b> }</b></p><p><b> } </b></p><p> //**********************
43、********</p><p> void list(struct worker a[]) //排序函數(shù) </p><p> { int j,k; </p><p> struct worker temp; </p><p> for(k=1;k<i;k++) </p><p> { for(j=
44、0;j<i-k;j++) </p><p> { if(a[j].num>a[j+1].num) </p><p> { temp=a[j]; </p><p> a[j]=a[j+1]; </p><p> a[j+1]=temp; </p><p><b> } </b>
45、</p><p><b> } </b></p><p><b> } </b></p><p> cout<<"排序后的員工信息如下\n"; </p><p> display(a); </p><p><b> } &l
46、t;/b></p><p> //*********************************************************</p><p> void set(struct worker a[])//修改函數(shù)</p><p> { char b;</p><p> {cout<<&
47、quot;輸入你要修改的員工編號(hào):";</p><p><b> cin>>b;</b></p><p> cout<<"輸入修改后員工信息:"<<endl;</p><p> cin>>a[b].num;</p><p> cout&
48、lt;<"編號(hào):";</p><p> cin>>a[b].num;</p><p> cout<<"姓名:";</p><p> cin>>a[b].name;</p><p> cout<<"性別:";</p&g
49、t;<p> cin>>a[b].sex;</p><p> cout<<"出生年月:";</p><p> cin>>a[b].birth;</p><p> cout<<"學(xué)歷:";</p><p> cin>>a[
50、b].degree;</p><p> cout<<"職務(wù):";</p><p> cin>>a[b].position;</p><p> cout<<"電話:";</p><p> cin>>a[b].tel;</p><p
51、> cout<<"住址:";</p><p> cin>>a[b].address;</p><p> cout<<"修改成功!"<<endl;</p><p><b> }</b></p><p><b>
52、 }</b></p><p> //************************************************************</p><p> void del(struct worker a[]) //刪除函數(shù) </p><p> { char k[20];int j; </p><p>
53、 cout<<"請(qǐng)輸入員工編號(hào):"; </p><p><b> cin>>k; </b></p><p> for(j=0;j<i;j++) </p><p> { if(k==a[j].num) </p><p> { for(int d=j;j<i;
54、d++)</p><p> { strcpy(a[j].num,a[j+1].num);</p><p> strcpy(a[d].name,a[d+1].name);</p><p> strcpy(a[d].sex,a[d+1].sex);</p><p> strcpy(a[d].birth,a[d+1].birth);&l
55、t;/p><p> strcpy(a[d].degree,a[d+1].degree);</p><p> strcpy(a[d].position,a[d+1].position);</p><p> strcpy(a[d].tel,a[d+1].tel);</p><p> strcpy(a[d].address,a[d+1].add
56、ress);</p><p><b> }</b></p><p><b> } </b></p><p><b> } </b></p><p><b> } i--;</b></p><p> cout<<
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---員工管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--簡(jiǎn)單的員工管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--員工信息管理系統(tǒng)
- 算法與數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——員工管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)-課程設(shè)計(jì)--學(xué)生管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--航班管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)—機(jī)場(chǎng)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman編碼
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--車庫(kù)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--學(xué)生籍貫管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書借閱管理系統(tǒng)
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)---圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--企業(yè)員工信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--個(gè)人賬簿管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----倉(cāng)庫(kù)管理系統(tǒng)統(tǒng)
評(píng)論
0/150
提交評(píng)論