版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計</p><p><b> ?。〝?shù)據(jù)結(jié)構(gòu))</b></p><p> 二○一三年 6 月 26 日</p><p> 課程設(shè)計任務(wù)書及成績評定</p><p> ?、?、題目的目的和要求: </p><p><b> 1、設(shè)計目的</
2、b></p><p> 鞏固和加深對數(shù)據(jù)結(jié)構(gòu)的理解,通過上機實驗、調(diào)試程序,加深對課本知識的理解,最終使學生能夠熟練應(yīng)用數(shù)據(jù)結(jié)構(gòu)的知識寫程序。</p><p> ?。?)通過本課程的學習,能熟練掌握幾種基本數(shù)據(jù)結(jié)構(gòu)的基本操作。</p><p> ?。?)能針對給定題目,選擇相應(yīng)的數(shù)據(jù)結(jié)構(gòu),分析并設(shè)計算法,進而給出問題的正確求解過程并編寫代碼實現(xiàn)。</p
3、><p><b> 2、設(shè)計題目要求:</b></p><p> 設(shè)計內(nèi)容:本系統(tǒng)應(yīng)完成一下幾方面的功能:</p><p> 輸入信息——enter();</p><p> 顯示信息———display( );</p><p> 查找以書名作為關(guān)鍵字 ———search( );</p&
4、gt;<p> 刪除信息———delete( );</p><p> 存盤———save ( );</p><p> 裝入———load( ) ;</p><p><b> 設(shè)計要求:</b></p><p> 1)每條信息至包含 :書名(B_NAME )作者名(B_AUTHOR)編號名(B_NO
5、)出版社(B_PUB)館藏量(B_SUM)2)作為一個完整的系統(tǒng),應(yīng)具有友好的界面和較強的容錯能力</p><p> 3)上機能正常運行,并寫出課程設(shè)計報告</p><p><b> ?、?、成績評定:</b></p><p> 設(shè)計成績: (教師填寫)</p><p> 指導老師:
6、 (簽字)</p><p> 二○一三 年 月 日</p><p><b> 目 錄</b></p><p> 第一章 概述……………………………………………………………1</p><p> 第二章 系統(tǒng)分析………………………………………………………2</p
7、><p> 第三章 概要設(shè)計………………………………………………………</p><p> 第四章 詳細設(shè)計………………………………………………………</p><p> 第五章 運行與測試……………………………………………………</p><p> 第六章 總結(jié)與心得……………………………………………………</p><p&
8、gt; 參考文獻………………………………………………………………</p><p><b> 第一章 概述</b></p><p><b> 七個模塊</b></p><p><b> 第二章 系統(tǒng)分析</b></p><p> 圖書管理基本內(nèi)容包括:添加,查找,刪除圖
9、書信息,,上述基本功能用鏈式存儲比較方便,由于查找,刪除都是以書名或電話號碼為關(guān)鍵字進行的,因此要用到雙向鏈表,效率高,以實現(xiàn)各種功能。由此重點和難點是雙向鏈表的建立,查找,刪除等基本操作。</p><p> 圖書管理軟件,通過各種接口函數(shù)完成對圖書的添加,查找,刪除,看似簡單,實際實現(xiàn)起來,還是有點困難,關(guān)鍵是要考慮到各種情況</p><p><b> 程序執(zhí)行時的命令:&
10、lt;/b></p><p> 本程序為了使用時的方便,采用菜單式的方式來完成程序的演示,幾乎不用輸入什么特殊的命令,只需按提示輸入選者即可。界面友好,適合用戶使用習慣。</p><p><b> 測試數(shù)據(jù)。</b></p><p> 在我的這個圖書管理軟件中;基本函數(shù)有</p><p> dlink *e
11、nter(dlink *h);// 輸入圖書信息函數(shù)</p><p> int menu_select();//菜單選擇函數(shù)</p><p> dlink *add(dlink *h);//增加讀者信息函數(shù)</p><p> void search(dlink *h) ;//查找圖書函數(shù)</p><p> dlink *deleteb
12、yB_name(dlink *h);// 以書名為關(guān)鍵字刪除</p><p> dlink *deletebyno(dlink *h) ;//以圖書編號為關(guān)鍵字刪除</p><p> void output(dlink *h);// 輸出圖書信息函數(shù)</p><p> void searchbyB_name(dlink *h) //按書名查找</p&
13、gt;<p> void searchbyno(dlink *h) //按編號查找</p><p> void save(dlink *h) //保存圖書信息到文件</p><p> 詳細分析:1.通過dlink *creatlist()</p><p> {dlink *head,*p,*r;</p><p>
14、 p=new dlink;</p><p><b> head=p;</b></p><p><b> r=head;</b></p><p> p->Rlink=NULL;</p><p> return head; // 創(chuàng)建雙向鏈表</p&g
15、t;<p> 2.通過dlink *enter(dlink *h)函數(shù)輸入圖書信息</p><p> 3.通過調(diào)用void search(dlink *h)函數(shù)選擇是以書名還是編號方式進行查找,分別調(diào)用函數(shù)void searchbyB_name(dlink *h),void searchbyno(dlink *h)完成相應(yīng)功能。</p><p> 3.調(diào)用函數(shù)dlink
16、 *add(dlink *h)增加圖書詳細。</p><p> 4.通過調(diào)用dlink *deletebyB_name(dlink *h),dlink *deletebyno(dlink *h),分別以書名,電話號碼為關(guān)鍵字進行刪除。</p><p> 5.調(diào)用void output(dlink *h)函數(shù)輸出所有圖書信息</p><p> 6.調(diào)用void
17、save(dlink *h)函數(shù)保存圖書信息。</p><p><b> 第三章 概要設(shè)計</b></p><p><b> 1.數(shù)據(jù)結(jié)構(gòu)設(shè)計:</b></p><p> 添加,查找,刪除圖書信息,用鏈式存儲比較方便,由于查找,刪除都是以書名或電話號碼為關(guān)鍵字進行的,因此要用到雙向鏈表,效率高,以實現(xiàn)各種功能。由此重
18、點和難點是雙向鏈表的建立,查找,刪除等基本操作。</p><p><b> 2.算法的設(shè)計:</b></p><p> 本系統(tǒng)從整體上分為7大模塊: </p><p><b> ?。?)輸入圖書信息</b></p><p> ?。?)查找圖書信息 //根據(jù)指定關(guān)鍵字進行相關(guān)查找</p&
19、gt;<p> ?。?)顯示圖書信息 //顯示所有圖書信息</p><p> (4)增加圖書信息 //向圖書管理中增加圖書信息</p><p> ?。?)刪除圖書信息 //根據(jù)指定關(guān)鍵字刪除圖書信息</p><p> ?。?)存儲圖書信息 //存儲圖書管理中的圖書信息</p><p> ?。?)退
20、出程序 </p><p><b> 3.功能模塊圖:</b></p><p> 圖3.1 系統(tǒng)功能模塊圖</p><p><b> 第四章 詳細設(shè)計</b></p><p><b> 程序源代碼為:</b></p><p> #incl
21、ude<iostream></p><p> #include<malloc.h></p><p> #include<string></p><p> #include<iomanip></p><p> #include <conio.h></p><
22、p> #include <stdlib.h></p><p> using namespace std;</p><p> unsigned int num=0;</p><p> struct information</p><p> {string B_name;</p><p> s
23、tring B_author;</p><p> string B_no;</p><p> string B_pub;</p><p> string B_sum;</p><p><b> };</b></p><p> struct information a[120];</
24、p><p> typedef struct doublelink //定義</p><p> {struct information data;</p><p> struct doublelink *Llink,*Rlink;</p><p><b> }dlink;</b></p><p&
25、gt; dlink *enter(dlink *h);</p><p> dlink *insert(dlink *h) ;</p><p> int menu_select();</p><p> dlink *add(dlink *h);</p><p> void search(dlink *h) ;</p>&
26、lt;p> dlink *deletebyB_name(dlink *h);</p><p> dlink *deletebyno(dlink *h) ;</p><p> void output(dlink *h);</p><p> dlink *creatlist()</p><p> {dlink *head,*p,*
27、r;</p><p> p=new dlink;</p><p><b> head=p;</b></p><p><b> r=head;</b></p><p> p->Rlink=NULL;</p><p> return head;</p>
28、<p><b> }</b></p><p> //*********************************************************</p><p> dlink *enter(dlink *h) //創(chuàng)建</p><p> { dlink *head,*r,*p,*q;&
29、lt;/p><p><b> head=h;</b></p><p><b> r=h;</b></p><p> q=h->Rlink;</p><p> system("cls");</p><p><b> //新建用戶信息&l
30、t;/b></p><p> p=new dlink;</p><p> cout<<"\n\t\t**************** 請輸入圖書信息 ****************"<<endl;</p><p> cout<<"請輸入書名:"<<endl;<
31、/p><p> cin>>p->data.B_name;</p><p> cout<<"請輸入作者名: "<<endl;</p><p> cin>>p->data.B_author;</p><p> cout<<"請輸入編號名: &
32、quot;<<endl;</p><p> cin>>p->data.B_no;</p><p> cout<<"請輸入出版社: "<<endl;</p><p> cin>>p->data.B_pub;</p><p> cout<&l
33、t;"請輸入館藏量名: "<<endl;</p><p> cin >>p->data.B_sum;</p><p> p->Rlink=NULL;</p><p> while(q!=NULL)</p><p><b> {r=q;</b></p&g
34、t;<p> q=q->Rlink;</p><p><b> }</b></p><p> p->Llink=r;</p><p> r->Rlink=p;</p><p><b> r=p;</b></p><p><b&g
35、t; num++;</b></p><p><b> char z;</b></p><p> cout<<" 是否要繼續(xù)插入新圖書信息? (Y/N):"<<endl;</p><p><b> cin>>z;</b></p><
36、;p> if((z=='y')||(z=='Y'))</p><p> head=insert(head);</p><p> return head;</p><p><b> }</b></p><p> //******************************
37、*****************************************</p><p> dlink *insert(dlink *h) //插入新用戶信息</p><p> { dlink *head=h;</p><p> if(num==0)</p><p> { cout<<"\n\t圖書
38、管理中沒有任何圖書信息,確認要添加嗎?(Y/N)"<<endl;</p><p><b> char z;</b></p><p><b> cin>>z;</b></p><p> if((z=='y')||(z=='Y'))</p>
39、<p> head=add(head);</p><p><b> else ;</b></p><p><b> }</b></p><p><b> else</b></p><p> head=add(head);</p><p&g
40、t; return head;</p><p><b> }</b></p><p> //*****************************************************************</p><p> dlink *add(dlink *h)</p><p> {dlin
41、k *head,*r,*p,*q;</p><p><b> head=h;</b></p><p><b> r=h;</b></p><p> q=h->Rlink;</p><p> system("cls");</p><p><
42、;b> //新建用戶信息</b></p><p> p=new dlink;</p><p> cout<<"\n\t\t**************** 請輸入圖書信息 ****************"<<endl;</p><p> cout<<"請輸入書名:"
43、;<<endl;</p><p> cin>>p->data.B_name;</p><p> cout<<"請輸入作者名: "<<endl;</p><p> cin>>p->data.B_author;</p><p> cout<&
44、lt;"請輸入編號名: "<<endl;</p><p> cin>>p->data.B_no;</p><p> cout<<"請輸入出版社: "<<endl;</p><p> cin>>p->data.B_pub;</p><
45、;p> cout<<"請輸入館藏量名: "<<endl;</p><p> cin >>p->data.B_sum;</p><p> p->Rlink=NULL;</p><p> while(q!=NULL)</p><p><b> {r=q;
46、</b></p><p> q=q->Rlink;</p><p> } //while</p><p> p->Llink=r;</p><p> r->Rlink=p;</p><p><b> r=p;</b></p><p>
47、;<b> num++;</b></p><p><b> char z;</b></p><p> cout<<" 是否要繼續(xù)插入新圖書信息? (Y/N):"<<endl;</p><p><b> cin>>z;</b></p&
48、gt;<p> if((z=='y')||(z=='Y'))</p><p> head=insert(head);</p><p> return head;</p><p><b> }</b></p><p> //**********************
49、*********************************************************************</p><p> void searchbyB_name(dlink *h) //按書名查找</p><p><b> {</b></p><p> if(num==0)</p>&
50、lt;p> {cout<<"\n\t當 前 通 訊 錄 沒 有 任 何 聯(lián) 系 人 信 息!!!"<<endl;</p><p> cout<<"\n\t\t\t*****無法執(zhí)行查找操作!!!!******"<<endl;</p><p>
51、cout<<endl;</p><p><b> }</b></p><p><b> else</b></p><p> {dlink *head,*p,*q;</p><p> string nam;</p><p><b> head=h
52、;</b></p><p> p=h->Rlink;</p><p> int i,j=1,k=1,mark=0;</p><p> system("cls");</p><p> cout<<"請輸入要查找的圖書書名: "<<endl;</p&g
53、t;<p><b> cin>>nam;</b></p><p> for(i=k;i<=num;i++,p=p->Rlink)</p><p><b> {</b></p><p> while(p&&p->data.B_name!=nam)</p
54、><p><b> {q=p;</b></p><p> p=p->Rlink;</p><p><b> j++;</b></p><p><b> }</b></p><p><b> if(p)</b></p
55、><p> {cout<<"您要查找的圖書信息為:"<<endl;</p><p> cout<<"*******************************************************************************"<<endl;</p><
56、;p> cout<<"\n\t書名: "<<p->data.B_name<<endl;</p><p> cout<<"\n\t作者名: "<<p->data.B_author<<endl;</p><p> cout<<"\n\t編
57、號名: "<<p->data.B_no<<endl;</p><p> cout<<"\n\t出版社: "<<p->data.B_pub<<endl;</p><p> cout<<"\n\t館藏量: "<<p->data.B_sum&
58、lt;<endl;</p><p> cout<<"*******************************************************************************"<<endl;</p><p> cout<<endl;</p><p><b>
59、; mark=1;</b></p><p> if(p->Rlink==NULL)</p><p> {cout<<"\n\t已無重名信息"<<endl;</p><p> cout<<"\n\t您是否繼續(xù)下一個查找???(Y/N)"<<endl;<
60、;/p><p><b> char z;</b></p><p><b> cin>>z;</b></p><p> if((z=='y')||(z=='Y'))</p><p> search(head);</p><p>
61、 else break;}</p><p><b> }</b></p><p> if(p==NULL)</p><p><b> {</b></p><p> if(mark==1)</p><p><b> {</b></p>
62、<p> if(q->data.B_name!=nam)</p><p> {cout<<"\n\t已無重名信息"<<endl;</p><p> cout<<"\n\t您是否繼續(xù)下一個查找???(Y/N)"<<endl;</p><p><b&g
63、t; char z;</b></p><p><b> cin>>z;</b></p><p> if((z=='y')||(z=='Y'))</p><p> search(head);</p><p> else break;</p>&
64、lt;p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> {cout<<"\n\t\t^^^^^搜索的圖書不存在!!!!!^^^^^^"<<endl;</p>
65、<p> cout<<endl;</p><p> cout<<"\n\t您是否繼續(xù)下一個查找???(Y/N)"<<endl;</p><p><b> char z;</b></p><p><b> cin>>z;</b><
66、/p><p> if((z=='y')||(z=='Y'))</p><p> search(head);</p><p> else break;</p><p><b> ;}}</b></p><p><b> }//for</b>
67、</p><p><b> }//else</b></p><p><b> }//wai</b></p><p> //**************************************************************************</p><p> v
68、oid searchbyno(dlink *h) //按電話號碼查找</p><p><b> {</b></p><p> if(num==0)</p><p> {cout<<"\n\t當 前 通 訊 錄 沒 有 任 何 聯(lián) 系 人 信 息!!!"&l
69、t;<endl;</p><p> cout<<"\n\t\t\t*****無法執(zhí)行查找操作!!!!******"<<endl;</p><p> cout<<endl;</p><p><b> }</b></p><p><b> els
70、e</b></p><p> {dlink *head,*p,*q;</p><p> string booknum;</p><p><b> head=h;</b></p><p> p=h->Rlink;</p><p> int j=0,k=1;</p&g
71、t;<p> system("cls");</p><p> cout<<"請輸入要查找的圖書電話號碼: "<<endl;</p><p> cin>> booknum;</p><p> while(p&&p->data.B_no!=booknu
72、m)</p><p><b> {q=p;</b></p><p> p=p->Rlink;</p><p><b> j++;</b></p><p><b> }</b></p><p><b> if(p)</b&g
73、t;</p><p> {cout<<"您要查找的圖書信息為:"<<endl;</p><p> cout<<"*******************************************************************************"<<endl;</p&
74、gt;<p> cout<<"\n\t書名: "<<p->data.B_name<<endl;</p><p> cout<<"\n\t作者名: "<<p->data.B_author<<endl;</p><p> cout<<&qu
75、ot;\n\t編號名: "<<p->data.B_no<<endl;</p><p> cout<<"\n\t出版社: "<<p->data.B_pub<<endl;</p><p> cout<<"\n\t館藏量: "<<p->dat
76、a.B_sum<<endl;</p><p> cout<<"*******************************************************************************"<<endl;</p><p> cout<<endl;</p><p>
77、<b> }</b></p><p><b> else {</b></p><p> cout<<"\n\t\t^^^^^搜索的圖書不存在!!!!!^^^^^^"<<endl;</p><p> cout<<endl;</p><p>
78、; cout<<"\n\t您是否繼續(xù)下一個查找???(Y/N)"<<endl;</p><p><b> char z;</b></p><p><b> cin>>z;</b></p><p> if((z=='y')||(z=='Y
79、'))</p><p> search(head);</p><p><b> else ;</b></p><p><b> ;}</b></p><p><b> }//else</b></p><p><b> }//w
80、ai</b></p><p> //*********************************************************************************</p><p> void search(dlink *h)</p><p> {dlink *head;</p><p>&
81、lt;b> head=h;</b></p><p> int choic;</p><p> cout<<"\n\t\t1-按圖書編號查找 2-按書名查找";</p><p> cout<<"\n\t\t請選擇:";</p><p> cin>&
82、gt;choic;</p><p> switch (choic)</p><p><b> {</b></p><p><b> case 1:</b></p><p> searchbyno(head);</p><p><b> break;<
83、/b></p><p><b> case 2:</b></p><p> searchbyB_name(head);</p><p><b> break;</b></p><p><b> }</b></p><p><b>
84、 }</b></p><p> //***********************************************************************************</p><p> dlink *deletebyB_name(dlink *h) //按書名刪除</p><p> {dlink *head,
85、*p,*q;</p><p> if(num==0)</p><p> { cout<<"\n\t\t當 前 通 訊 錄 沒 有 任 何 聯(lián) 系 人 信 息!!!"<<endl;</p><p> cout<<"\n\t\t\t\t刪除操作無法執(zhí)行
86、!!!!!!!!!"<<endl;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> string nam;</p><p> int
87、 flag=1,k=1,i,j=1;</p><p><b> head=h;</b></p><p> p=h->Rlink;</p><p> system("pause");</p><p> system("cls");</p><p>
88、; cout<<"請輸入要刪除的圖書書名: "<<endl;</p><p><b> cin>>nam;</b></p><p> for(i=k;i<=num;i++,p=p->Rlink)</p><p><b> {</b></p&g
89、t;<p> while(p&&p->data.B_name!=nam)</p><p><b> {q=p;</b></p><p> p=p->Rlink;</p><p><b> j++;</b></p><p> } //while&l
90、t;/p><p> if(p) //waiif</p><p> {cout<<"您要刪除的圖書信息為:"<<endl;</p><p> cout<<"weiyu"<<j+1<<"weizhi"<<endl;</p>
91、;<p> cout<<"*******************************************************************************"<<endl;</p><p> cout<<"\n\t書名: "<<p->data.B_name<<en
92、dl;</p><p> cout<<"\n\t作者名: "<<p->data.B_author<<endl;</p><p> cout<<"\n\t編號名: "<<p->data.B_no<<endl;</p><p> cout&l
93、t;<"\n\t出版社: "<<p->data.B_pub<<endl;</p><p> cout<<"\n\t館藏量: "<<p->data.B_sum<<endl;</p><p> cout<<"**********************
94、*********************************************************"<<endl;</p><p><b> char z;</b></p><p> cout<<"您確定要刪除該圖書信息嗎?(Y/N)"<<endl;</p><p
95、><b> cin>>z;</b></p><p> if((z=='y')||(z=='Y'))</p><p><b> {</b></p><p> if(num==1)</p><p> {p->Llink->Rlink
96、=NULL;</p><p><b> free(p);</b></p><p><b> num--;</b></p><p><b> }</b></p><p><b> else</b></p><p> if(p
97、->Llink==head)</p><p> { p->Rlink->Llink=head;</p><p> p->Llink->Rlink=p->Rlink;</p><p><b> free(p);</b></p><p><b> num--;</
98、b></p><p><b> }</b></p><p> else if(p->Rlink==NULL)</p><p> {p->Llink->Rlink=NULL;</p><p><b> free(p);</b></p><p>&
99、lt;b> num--;</b></p><p><b> }</b></p><p><b> else</b></p><p> { p->Rlink->Llink=p->Llink;</p><p> q->Rlink=p->Rlink
100、;</p><p><b> free(p);</b></p><p><b> num--;</b></p><p><b> }</b></p><p> cout<<"\n\t\t已刪除成功!"<<endl;</p
101、><p><b> break;</b></p><p><b> /*char s;</b></p><p> cout<<"\n您是否繼續(xù)刪除相同書名的圖書???(Y/N)"<<endl;</p><p><b> cin>>
102、s;</b></p><p> if((s=='y')||(s=='Y'))</p><p><b> continue;</b></p><p> else break;*/</p><p><b> }</b></p><
103、p> else {cout<<"\n\t已放棄刪除!!"<<endl;</p><p><b> //有問題</b></p><p><b> char d;</b></p><p> cout<<"\n您是否繼續(xù)刪除相同書名的圖書???(Y/
104、N)"<<endl;</p><p><b> cin>>d;</b></p><p> if((d=='y')||(d=='Y'))</p><p><b> continue;</b></p><p> else brea
105、k;</p><p><b> }</b></p><p><b> }//waiif</b></p><p> else {cout<<"沒有此圖書信息"<<endl;</p><p><b> char a;</b><
106、;/p><p> cout<<"\n您是否要繼續(xù)刪除???(Y/N)"<<endl;</p><p><b> cin>>a;</b></p><p> if((a=='y')||(a=='Y'))</p><p> head=d
107、eletebyB_name(head);</p><p><b> else</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }//for</b></p><
108、;p><b> }//else</b></p><p> cout<<endl;</p><p> return head;</p><p><b> }//wai</b></p><p> //**************************************
109、**********************************</p><p> dlink *deletebyno(dlink *h) //按電話號碼刪除</p><p> {dlink *head,*p,*q;</p><p> if(num==0)</p><p> { cout<<"\n\t\t當
110、 前 通 訊 錄 沒 有 任 何 聯(lián) 系 人 信 息!!!"<<endl;</p><p> cout<<"\n\t\t\t\t刪除操作無法執(zhí)行!!!!!!!!!"<<endl;</p><p><b> }</b></p><p&
111、gt;<b> else</b></p><p><b> {</b></p><p> string booknum;</p><p> int flag=1,k=1,j=0;</p><p><b> head=h;</b></p><p>
112、; p=h->Rlink;</p><p> system("pause");</p><p> system("cls");</p><p> cout<<"請輸入要刪除的圖書編號: "<<endl;</p><p> cin>>
113、 booknum;</p><p> while(p&&p->data.B_no!= booknum)</p><p><b> {q=p;</b></p><p> p=p->Rlink;</p><p><b> j++;</b></p><
114、;p> } //while</p><p> if(p) //waiif</p><p> {cout<<"您要刪除的圖書信息為:"<<endl;</p><p> cout<<"**************************************************
115、*****************************"<<endl;</p><p> cout<<"\n\t書名: "<<p->data.B_name<<endl;</p><p> cout<<"\n\t作者名: "<<p->data.B_au
116、thor<<endl;</p><p> cout<<"\n\t編號名: "<<p->data.B_no<<endl;</p><p> cout<<"\n\t出版社: "<<p->data.B_pub<<endl;</p><p&
117、gt; cout<<"\n\t館藏量: "<<p->data.B_sum<<endl;</p><p> cout<<"*******************************************************************************"<<endl;</p
118、><p><b> char z;</b></p><p> cout<<"您確定要刪除該圖書信息嗎?(Y/N)"<<endl;</p><p><b> cin>>z;</b></p><p> if((z=='y')||
119、(z=='Y'))</p><p><b> {</b></p><p> if(num==1)</p><p> {p->Llink->Rlink=NULL;</p><p><b> free(p);</b></p><p><b
120、> num--;</b></p><p><b> }</b></p><p><b> else</b></p><p> if(p->Llink==head)</p><p> { p->Rlink->Llink=head;</p>
121、<p> p->Llink->Rlink=p->Rlink;</p><p><b> free(p);</b></p><p><b> num--;</b></p><p><b> }</b></p><p> else if(p-&
122、gt;Rlink==NULL)</p><p> {p->Llink->Rlink=NULL;</p><p><b> free(p);</b></p><p><b> num--;</b></p><p><b> }</b></p>&
123、lt;p><b> else</b></p><p> { p->Rlink->Llink=p->Llink;</p><p> q->Rlink=p->Rlink;</p><p><b> free(p);</b></p><p><b>
124、 num--;</b></p><p><b> }</b></p><p> cout<<"\n\t\t已刪除成功!"<<endl;</p><p><b> char a;</b></p><p> cout<<&quo
125、t;\n您是否要繼續(xù)刪除???(Y/N)"<<endl;</p><p><b> cin>>a;</b></p><p> if((a=='y')||(a=='Y'))</p><p> head=deletebyno(head);</p><p>
126、;<b> else ;</b></p><p><b> }</b></p><p> else {cout<<"\n\t\t已放棄刪除!!"<<endl;</p><p><b> char a;</b></p><p>
127、 cout<<"\n您是否要繼續(xù)刪除???(Y/N)"<<endl;</p><p><b> cin>>a;</b></p><p> if((a=='y')||(a=='Y'))</p><p> head=deletebyno(head);&l
128、t;/p><p><b> else ;</b></p><p><b> }</b></p><p> } else{cout<<"\n\t沒有此圖書信息"<<endl;</p><p><b> char a;</b><
129、;/p><p> cout<<"\n\n您是否要繼續(xù)刪除???(Y/N)"<<endl;</p><p><b> cin>>a;</b></p><p> if((a=='y')||(a=='Y'))</p><p> head
130、=deletebyno(head);</p><p><b> else ;</b></p><p><b> }</b></p><p><b> }</b></p><p> cout<<endl;</p><p> retur
131、n head;</p><p><b> }</b></p><p> dlink *dele(dlink *h)</p><p> {dlink *head;</p><p><b> head=h;</b></p><p> int choic;</p&g
132、t;<p> cout<<"\n\t\t1-按編號刪除 2-按書名刪除";</p><p> cout<<"\n\t\t請選擇:";</p><p> cin>>choic;</p><p> switch (choic)</p><p><
133、;b> {</b></p><p><b> case 1:</b></p><p> head=deletebyno(head);</p><p><b> break;</b></p><p><b> case 2:</b></p>
134、<p> head=deletebyB_name(head);</p><p><b> break;</b></p><p><b> }</b></p><p> return head;</p><p><b> }</b></p>
135、<p> void output(dlink *h) // 輸出</p><p> {dlink *p;</p><p> if(num==0)</p><p> {cout<<"\n\t\t當 前 通 訊 錄 沒 有 任 何 聯(lián) 系 人 信 息!!!"<<
136、endl;</p><p> cout<<"\n\t\t\t*****無法執(zhí)行顯示操作!!!!******"<<endl;</p><p><b> }</b></p><p><b> else</b></p><p><b> {in
137、t i=0;</b></p><p> p=h->Rlink;</p><p> system("pause");</p><p> system("cls");</p><p> cout<<"\n\t\t輸出所有圖書的信息:"<<
138、endl;</p><p> cout<<"\n\t\t\t當前圖書管理共有"<<num<<"個圖書信息"<<endl;</p><p> for(i=1;i<=num;i++)</p><p><b> {</b></p><
139、;p> cout<<"\n\t\t\t第 "<<i<<"個圖書信息為:"<<endl;</p><p> cout<<"*******************************************************************************"<
140、;<endl;</p><p> cout<<"\n\t書名: "<<p->data.B_name<<endl;</p><p> cout<<"\n\t作者名: "<<p->data.B_author<<endl;</p><p>
141、 cout<<"\n\t編號名: "<<p->data.B_no<<endl;</p><p> cout<<"\n\t出版社: "<<p->data.B_pub<<endl;</p><p> cout<<"\n\t館藏量: "
142、<<p->data.B_sum<<endl;</p><p> cout<<"*******************************************************************************"<<endl;</p><p> p=p->Rlink;</p&
143、gt;<p><b> }</b></p><p><b> }</b></p><p> cout<<endl;</p><p><b> }</b></p><p> int menu_select()</p><p&
144、gt;<b> {int b;</b></p><p> cout<<"********~(^o^)~~歡迎使用圖書管理軟件 請按任意鍵進入主菜單! ~~(^o^)~~********"<<endl;</p><p><b> getch();</b></p><p>
145、system("cls");</p><p> cout<<"\t\t*****WELCOME TO USE THIS SOFTWARE *****************"<<endl;</p><p> cout<<"\t\t*****************圖書管理軟件*************
146、*******"<<endl;</p><p> cout<<"\t\t************* COPYRIGHT 2011 *********************"<<endl;</p><p> cout<<"\t\t******DESIGNED BY DaiJunYou O (∩_
147、∩)O哈哈~ *****"<<endl;</p><p> cout<<"\t\t***************** MENU *************************"<<endl;</p><p> cout<<"\n\t\t1: 輸入圖書信息"<<end
148、l;</p><p> cout<<"\n\t\t2: 查找圖書信息"<<endl;</p><p> cout<<"\n\t\t3: 顯示圖書信息"<<endl;</p><p> cout<<"\n\t\t4: 增加圖書信息"<&l
149、t;endl;</p><p> cout<<"\n\t\t5: 刪除圖書信息"<<endl;</p><p> cout<<"\n\t\t6: 存儲圖書信息"<<endl;</p><p> cout<<"\n\t\t7: 退出本程序"&l
150、t;<endl;</p><p><b> for(;;)</b></p><p> {cout<<"\n****Please make your choice(1~7)**** "<<endl;</p><p> cout<<"\nYour choice is :
151、 ";</p><p><b> cin>>b;</b></p><p> if(b<1||b>7)</p><p><b> continue;</b></p><p><b> else</b></p><p&
152、gt; {return b;</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> int W
153、riteLinklistToFile(const char* strFile, dlink *h)</p><p><b> {</b></p><p> FILE *fpFile;</p><p> dlink *head = h;</p><p><b> dlink *p;</b>&l
154、t;/p><p> p=head->Rlink;</p><p> if(!(fpFile = fopen(strFile,"w")))//以寫的方式打開</p><p><b> {</b></p><p> printf("Open file failed\n");&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計---圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-圖書管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--圖書管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告——圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告--學院圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計——圖書管理信息系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計圖書管理系統(tǒng)實驗報告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告---- 圖書管理系統(tǒng)的設(shè)計與實現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)-圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--圖書借閱管理系統(tǒng)
- 圖書管理系統(tǒng)(含源代碼)c語言_數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計----用c++語言實現(xiàn)圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--圖書館管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--小型圖書購銷管理系統(tǒng)
評論
0/150
提交評論