版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 圖書信息管理系統(tǒng)</b></p><p><b> 設(shè)計(jì)目的:</b></p><p> 為了鍛煉計(jì)算機(jī)專業(yè)學(xué)生的編程能力,特別組織了這次軟件實(shí)習(xí),編程是一種抽象思維,必須要通過(guò)動(dòng)手才能培養(yǎng)其能力,我們軟件實(shí)習(xí)的主要目的是要求學(xué)生對(duì)所學(xué)的語(yǔ)言熟練的掌握,并可以精通一門自己喜歡的編程語(yǔ)言,并且能把現(xiàn)實(shí)的問(wèn)題抽象成程
2、序,用程序語(yǔ)言表現(xiàn)出來(lái)。</p><p> 1.能根據(jù)實(shí)際問(wèn)題的具體情況,結(jié)合面向?qū)ο蟮幕纠碚摵突炯记桑_分析問(wèn)題,并能設(shè)計(jì)出解決問(wèn)題的有效算法與程序。</p><p> 2.提高程序設(shè)計(jì)和調(diào)試能力。學(xué)生通過(guò)上機(jī)實(shí)習(xí),驗(yàn)證自己設(shè)計(jì)的算法和程序的正確性。學(xué)會(huì)有效利用基本調(diào)試方法,迅速找出程序代碼中的錯(cuò)誤并且修改,進(jìn)一步提高程序設(shè)計(jì)水平。</p><p>&l
3、t;b> 設(shè)計(jì)要求:</b></p><p> 圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:</p><p> 系統(tǒng)以菜單方式工作?</p><p> 圖書信息錄入功能(圖書信息用文件保存)--輸入?</p><p> 圖書信息瀏覽功能--輸
4、出?</p><p> 查詢和排序功能:(至少一種查詢方式)--算法?</p><p><b> 按書名查詢</b></p><p><b> 按作者名查詢</b></p><p> 圖書信息的刪除與修改(可選項(xiàng))</p><p><b> 流程圖:<
5、;/b></p><p><b> 四、模塊分析:</b></p><p> ?。?)main()函數(shù)模塊</p><p> 主函數(shù)定義了一個(gè)database類的對(duì)象book2,通過(guò)這個(gè)對(duì)象調(diào)用bookdata(),主函數(shù)代碼很少,只是一個(gè)菜單首頁(yè)。</p><p> int main()</p>
6、;<p> { database book2; </p><p> cout<<endl<<endl<<"\t\t\t圖 書 信 息 管 理 系 統(tǒng)";</p><p> cout<<endl<<endl;</p><p> book2
7、.bookdata();</p><p> return 0;}</p><p> ?。?)添加圖書信息模塊</p><p> void addbook(int n,char *bn,char *an,char *ty,char *pub,char *ti,char *pr) //增加圖書</p><p> {
8、 num=n; </p><p> strcpy(bname,bn); //把輸入的內(nèi)容復(fù)制給bname</p><p> strcpy(aname,an);</p><p> strcpy(type,ty);</p><p> strcpy(publish,pub);</p><
9、;p> strcpy(time,ti);</p><p> strcpy(price,pr);}</p><p> 用戶通過(guò)鍵盤輸入圖書基本信息(圖書編號(hào),書名,作者名,圖書類型,出版日期,出版單位,圖書價(jià)格)</p><p> ?。?)顯示圖書文件中所有圖書信息</p><p> void show() <
10、/p><p> {cout<<setw(10)<<num<<setw(9)<<bname<<setw(9)<<aname<<setw(8)<<type<<setw(6)<<publish<<setw(20)<<time<<setw(9)<<price
11、<<setw(5)<<endl;}</p><p> void show()</p><p> { for (int i=0;i<=top;i++)</p><p> book1[i].show();</p><p><b> }</b></p><p>
12、 (4)查詢圖書信息模塊</p><p> book *find(int id) //查找圖書</p><p> {for (int i=0;i<=top;i++)</p><p> if (book1[i].getnum()==id)</p><p> {return &book1[i];}</
13、p><p><b> }</b></p><p> 五、程序的源代碼(含注釋):</p><p> #include"iostream"</p><p> #include "iomanip"</p><p> #include "strin
14、g"</p><p> #include "fstream" /*輸入/輸出文件流類*/</p><p> using namespace std;</p><p> const int max=5; /*數(shù)組5,圖書添加五本*/</p><p&
15、gt; class book</p><p><b> {</b></p><p><b> private:</b></p><p> int num; //圖書編號(hào)</p><p> char bname[20]; //書名</p>&l
16、t;p> char aname[20]; //作者名 </p><p> char type[20]; //圖書類型</p><p> char publish[20]; //出版單位</p><p> char time[20]; //出版時(shí)間</p><p> char pr
17、ice[20];//價(jià)格 </p><p><b> public:</b></p><p> void query(int m){};</p><p> int getnum()</p><p> { return num;}</p><p> char getbname()&l
18、t;/p><p> { return bname[20];}</p><p> char getaname()</p><p> { return aname[20];}</p><p> char gettype()</p><p> { return type[20];}</p><
19、p> char getpublish()</p><p> { return publish[20]; }</p><p> char gettime()</p><p> { return time[20];} </p><p> char getprice()</p><p> {retur
20、n price[20];} </p><p> void addbook(int n,char *bn,char *an,char *ty,char *pub,char *ti,char *pr) //增加圖書</p><p><b> {</b></p><p> num=n; </p>
21、<p> strcpy(bname,bn); //把輸入的內(nèi)容復(fù)制給bname,相當(dāng)于復(fù)制</p><p> strcpy(aname,an);</p><p> strcpy(type,ty);</p><p> strcpy(publish,pub);</p><p> strcpy(time,ti
22、);</p><p> strcpy(price,pr);</p><p><b> }</b></p><p> void show() //輸出圖書</p><p><b> {</b></p><p> cout<<setw(10)&
23、lt;<num<<setw(9)<<bname<<setw(9)<<aname<<setw(8)<<type<<setw(6)<<publish<<setw(20)<<time<<setw(9)<<price<<setw(5)<<endl;</p>
24、<p> } </p><p><b> };</b></p><p> class database</p><p><b> {</b></p><p><b> private:</b></p><p>
25、; int top; //圖書記錄指針</p><p> book book1[max]; //圖書記錄</p><p><b> public:</b></p><p> database() //構(gòu)造函數(shù),將book.
26、dat讀到book1[]中</p><p><b> { </b></p><p><b> book b;</b></p><p> top=-1; //數(shù)組首地址是從[0]開(kāi)始的</p><p> fstream file("book.dat&
27、quot;,ios::in);</p><p><b> while (1)</b></p><p><b> {</b></p><p> file.read((char *)&b,sizeof(b));</p><p> if (!file) break;</p>
28、<p> top++; </p><p> book1[top]=b;</p><p><b> }</b></p><p> file.close();</p><p><b> } </b></p><p> int add
29、book(int n,char *an,char *bn,char *ty,char *pub,char *ti,char *pr) </p><p><b> {</b></p><p><b> top++;</b></p><p> book1[top].addbook(n,an,bn,ty,
30、pub,ti,pr); </p><p> return 1; //返回到while,文件里增加一本書</p><p><b> return 0;</b></p><p><b> }</b></p><p> void bookdata();
31、 //圖書庫(kù)</p><p> void show()</p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> book1[i].show();</p><p><b> }</b>
32、</p><p> ~database() //析構(gòu)函數(shù),將book1[]寫到book.dat文件中</p><p><b> {</b></p><p> fstream file("book.dat",ios::out);</p><p> for (
33、int i=0;i<=top;i++)</p><p> file.write((char *)&book1[i],sizeof(book1[i]));</p><p> file.close();</p><p><b> }</b></p><p><b> };</b>&
34、lt;/p><p> void database::bookdata() //bookdata 函數(shù)實(shí)現(xiàn)部分</p><p><b> {</b></p><p> char choice;</p><p><b> int id;</b></p&g
35、t;<p> char bbname[40];</p><p> char baname[40];</p><p> char btype[20];</p><p> char bpublish[40];</p><p> char btime[40];</p><p> char bpric
36、e[40];</p><p> while (choice!='4')</p><p><b> { </b></p><p> cout<<"-----------------------------------------------------------------------------
37、---\n";</p><p> cout<<endl;</p><p> cout<<"\t\t\t圖 書 信 息 管 理 系 統(tǒng)\n\n";</p><p> cout<<"\t\t\t 1 新 增 圖 書\n\n";</p>&
38、lt;p> cout<<"\t\t\t 2 顯 示 圖 書\n\n";</p><p> cout<<"\t\t\t 3 查 找 圖 書\n\n";</p><p> cout<<"\t\t\t 4 返 回 主 界 面 \n\n";<
39、/p><p> cout<<endl;</p><p> cout<<"--------------------------------------------------------------------------------\n";</p><p> cout<<" 請(qǐng) 繼 續(xù) 選 擇(1,
40、2,3,4):";</p><p> cin>>choice; </p><p> switch (choice)</p><p><b> {</b></p><p><b> case 1:</b></p><p> cout<<
41、;"請(qǐng)輸入圖書信息(圖書編號(hào)、書名、作者、類型、出版單位、出版時(shí)間、價(jià)格)"<<endl;</p><p> cin>>id>>bbname>>baname>>btype>>bpublish>>btime>>bprice;</p><p> addbook(id,bbn
42、ame,baname,btype,bpublish,btime,bprice);</p><p> cout<<"--------------------------------------------------------------------------------"<<endl;</p><p> cout<<"
43、;圖書信息已存入系統(tǒng)文件中"<<endl;</p><p> cout<<"--------------------------------------------------------------------------------"<<endl;</p><p><b> break;</b>
44、;</p><p><b> case 2:</b></p><p> cout<<setw(15)<<"圖書編號(hào)"<<setw(7)<<"書名"<<setw(10)<<"作者名"<<setw(7)<<&quo
45、t;類型"<<setw(10)<<"出版單位"<<setw(12)<<"出版時(shí)間"<<setw(10)<<"價(jià)格"<<endl;</p><p><b> show();</b></p><p><b&g
46、t; break;</b></p><p><b> case 3:</b></p><p> cout << "輸入圖書編號(hào):"; </p><p> cin >> id; </p><p> void book::query (int id)<
47、;/p><p><b> {</b></p><p> for (int i=0;i<=top;i++) </p><p><b> {</b></p><p> if (book[i].getnum()==id ) </p><p> book[i].show
48、(); break;</p><p><b> else </b></p><p> return NULL; </p><p><b> } </b></p><p> if (id==NULL) </p><p><b> { </b&
49、gt;</p><p> cout << " 該讀者不存在 "<<endl; </p><p><b> break; </b></p><p><b> }</b></p><p><b> }</b></p>
50、;<p><b> case 4:</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b><
51、;/p><p> //main() 函數(shù)的實(shí)現(xiàn),程序的主界面的引導(dǎo)</p><p> void main()</p><p><b> { </b></p><p><b> int n;</b></p><p> char choice;</p>
52、<p> database book2;</p><p> while(choice!='2')</p><p><b> { </b></p><p> cout<<endl<<endl<<"\t\t\t圖 書 信 息 管 理 系 統(tǒng)&quo
53、t;;</p><p> cout<<endl<<endl;</p><p> cout<<" \t\t\t 1 進(jìn) 入 系 統(tǒng)\n\n \t\t\t 2 退 出"<<endl;</p><p> cout<<" 您 好, 請(qǐng)
54、選 擇(1或2):";</p><p> cin>>choice;</p><p> switch(choice)</p><p><b> {</b></p><p> case '1': </p><p
55、> book2.bookdata();</p><p><b> break; </b></p><p><b> case '2':</b></p><p> cout<<"\n\n\t\t\t謝 謝 使 用!\n\n";</p><
56、p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 五.總結(jié):</b></p>
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)--圖書管理系統(tǒng)
- 圖書管理系統(tǒng)c++課程設(shè)計(jì)
- c++圖書管理系統(tǒng)課程設(shè)計(jì)
- c++圖書管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告--小型圖書管理系統(tǒng)
- c++圖書管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告書---圖書管理系統(tǒng)
- c++課程設(shè)計(jì)(簡(jiǎn)易圖書管理系統(tǒng))實(shí)習(xí)報(bào)告
- c++課程設(shè)計(jì)圖書管理系統(tǒng)
- c++課程設(shè)計(jì)--圖書管理系統(tǒng)的設(shè)計(jì)
- c++課程設(shè)計(jì)圖書管理
- c&c++課程設(shè)計(jì)-圖書管理系統(tǒng)
- c++課程設(shè)計(jì)圖書管理系統(tǒng) (2)
- c課程設(shè)計(jì)報(bào)告-- 圖書管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告~圖書管理系統(tǒng)
- c語(yǔ)言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)-c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c#圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)---圖書管理系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論