用書(shū)名書(shū)號(hào)作者查詢(xún)的圖書(shū)管理系統(tǒng)_第1頁(yè)
用書(shū)名書(shū)號(hào)作者查詢(xún)的圖書(shū)管理系統(tǒng)_第2頁(yè)
用書(shū)名書(shū)號(hào)作者查詢(xún)的圖書(shū)管理系統(tǒng)_第3頁(yè)
用書(shū)名書(shū)號(hào)作者查詢(xún)的圖書(shū)管理系統(tǒng)_第4頁(yè)
用書(shū)名書(shū)號(hào)作者查詢(xún)的圖書(shū)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《C++程序設(shè)計(jì)》課程設(shè)計(jì)設(shè)計(jì)說(shuō)明書(shū)課程名稱(chēng):《C++程序設(shè)計(jì)》課程設(shè)計(jì)設(shè)計(jì)題目:圖書(shū)管理程序指導(dǎo)教師:班級(jí):學(xué)號(hào):學(xué)生姓名:同組人員:成績(jī):成績(jī):評(píng)語(yǔ):計(jì)算機(jī)科學(xué)與工程學(xué)院2014年06月20日《圖書(shū)管理程序》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 -PAGE1-目錄TOC\o"1-3”\h\z\uHYPERLINK\l”_Toc375575807"第1章概述 21.2選題的背景和意義 2HYPERLINK\l”_Toc375575810"1.3團(tuán)隊(duì)分工和個(gè)人貢獻(xiàn) 3HYPERLINK\l”_Toc375575811"第2章系統(tǒng)分析(需求分析) 3HYPERLINK\l”_Toc375575812"2.1系統(tǒng)的整體需求 3HYPERLINK\l”_Toc375575813"2.2系統(tǒng)的功能需求 3HYPERLINK\l”_Toc375575814"2.3系統(tǒng)主要模塊流程圖 3HYPERLINK\l”_Toc375575815”第3章系統(tǒng)設(shè)計(jì) 5HYPERLINK\l”_Toc375575816"3.1系統(tǒng)的整體設(shè)計(jì) 5HYPERLINK\l”_Toc375575817"3.2系統(tǒng)的主要模塊設(shè)計(jì) 5第5章結(jié)束語(yǔ) 12; cout〈〈”\t\t\t\t歡迎使用圖書(shū)管理系統(tǒng)”〈<endl; cout〈<”\t\t\t\t\t請(qǐng)選擇操作\n”〈<endl; cout〈〈”\t\t\t\t1創(chuàng)建新書(shū)信息”<<endl; cout〈<"\t\t\t\t2顯示所有圖書(shū)"〈<endl; cout<〈"\t\t\t\t3按指定條件查詢(xún)書(shū)目"〈<endl; cout〈<"\t\t\t\t4按書(shū)號(hào)刪除書(shū)目”〈〈endl;cout<<"\t\t\t\t5退出系統(tǒng)并保存修改"<<endl;cout〈<”\t\t\t(查詢(xún)可按書(shū)號(hào)/作者/書(shū)名查詢(xún))”〈〈endl;cout<<"\t******************************************************************\n”;調(diào)試運(yùn)行代碼后結(jié)果如下:2、創(chuàng)建圖書(shū)信息當(dāng)選擇按鈕1,執(zhí)行main函數(shù)中function=='1'的條件語(yǔ)句,首先定義字符串stringa,b,c,d,e,f;然后調(diào)用#include<iostream〉,根據(jù)提示輸入相應(yīng)的書(shū)本信心,建立對(duì)象booknewbook(a,b,c,d,e,f);,利用添加函數(shù)Book。add(newbook)把數(shù)據(jù)添加到新建對(duì)象里,然后調(diào)用display()函數(shù)顯示此次輸入的信息。輸入數(shù)字1后按提示輸入相應(yīng)信息,結(jié)果如下:顯示所有圖書(shū)信息當(dāng)選擇按鈕2,執(zhí)行function==’2’的條件語(yǔ)句。Main函數(shù)調(diào)用#include<iostream>,利用如下語(yǔ)句:cout<<"這是所有藏書(shū):"<<endl; cout〈〈"*********************************"<〈endl;輸出相應(yīng)的提示信息和圖案,然后調(diào)用函數(shù)display_all(),顯示出所有信息。按條件查詢(xún)當(dāng)選擇按鈕3,執(zhí)行function=='3’的條件語(yǔ)句。main函數(shù)調(diào)用#include<iostream〉,輸出相應(yīng)選擇的提示,執(zhí)行如下代碼:cout〈〈"請(qǐng)選擇查詢(xún)方式”〈〈endl; cout<〈”1按ISBN查詢(xún)”〈<endl; cout〈〈"2按書(shū)名查詢(xún)”〈<endl; cout<<”3按作者查詢(xún)”〈<endl;然后定義字符j和字符串search,此時(shí)j是作為按鈕使用,search是為了輸入你要查詢(xún)的內(nèi)容。子按鈕功能的實(shí)現(xiàn)再次調(diào)用#include〈iostream>文件,當(dāng)輸入好相應(yīng)的信息,執(zhí)行如下語(yǔ)句:cout〈<"以下是查詢(xún)結(jié)果”〈〈endl; cout<<”*********************************”〈〈endl;給出提示后執(zhí)行搜索函數(shù)search_by_isbn(),同理利用search_by_name()、search_by_writer()實(shí)現(xiàn)書(shū)名查找,按作者查找的功能。(1)按書(shū)號(hào)查詢(xún)查詢(xún)書(shū)號(hào)為001的圖書(shū)步驟一:在主界面選擇3步驟二:回車(chē)后點(diǎn)擊“1”,然后輸入001,回車(chē)。(2)按書(shū)名查詢(xún)查詢(xún)書(shū)名為“考研英語(yǔ)”這本書(shū)步驟一:在主界面選擇3步驟二:回車(chē)后點(diǎn)擊“2”,然后輸入“考研英語(yǔ)”,回車(chē)(3)按作者名查詢(xún)步驟一:在主界面選擇3步驟二:回車(chē)后點(diǎn)擊“3”,然后輸入“宮東風(fēng)”,回車(chē)按書(shū)號(hào)刪除圖書(shū)信息 當(dāng)選擇按鈕4,執(zhí)行function=='4'的條件語(yǔ)句。首先定義字符串a(chǎn),然后main函數(shù)調(diào)用#include〈iostream〉,輸入相應(yīng)的書(shū)號(hào),接下來(lái)建立對(duì)象del(a,””,"","","”,"”),調(diào)用刪除函數(shù)delete_by_isbn(),實(shí)現(xiàn)刪除功能.例如刪除001號(hào)圖書(shū)步驟一:在登陸界面輸入“4",回車(chē);步驟二:按提示輸入要?jiǎng)h除的書(shū)號(hào)“001”,回車(chē)。退出圖書(shū)管理系統(tǒng)當(dāng)選擇按鈕5,執(zhí)行function=='5'的條件語(yǔ)句。此時(shí)執(zhí)行空操作,跳出while循環(huán),執(zhí)行main函數(shù)后續(xù)語(yǔ)句,利用system(”CLS”);清屏后由寫(xiě)函數(shù)Book.write();把操作后的數(shù)據(jù)讀入到文件中,最后調(diào)用頭文件#include〈iostream>輸出相應(yīng)的提示信息后退出系統(tǒng).在登錄界面輸入“5”,回車(chē)。第5章結(jié)束語(yǔ)這次課程設(shè)計(jì)歷時(shí)數(shù)個(gè)星期,通過(guò)課程設(shè)計(jì),我發(fā)現(xiàn)了自己的很多不足,知識(shí)上還存在很多漏洞,我看到了自己的實(shí)踐經(jīng)驗(yàn)還比較缺乏,理論聯(lián)系實(shí)際的能力還急需提高。為完成這次課程設(shè)計(jì)我確實(shí)付出很多,有苦有樂(lè),這十幾天的工作日子,怎么形容呢,每次在實(shí)驗(yàn)室回來(lái)就會(huì)心情不好,感覺(jué)自己什么都沒(méi)有做成,慢慢的摸索著,開(kāi)始入門(mén),而且有了一點(diǎn)成就感,就這樣每一次都比前一次收獲多,心情也慢慢好了,而且我的系統(tǒng)也一天比一天的完善。畢竟沒(méi)有白費(fèi)心血,以艱辛的付出最終還是獲得不少回報(bào)!總之,計(jì)算機(jī)是一門(mén)實(shí)踐性很強(qiáng)的學(xué)科,要想學(xué)好,就必須多練習(xí),多總結(jié),只有這樣,才能夠更加深入地了解,才能夠?qū)W會(huì)如何去運(yùn)用它。參考文獻(xiàn)[1]鄭莉,董淵,何江舟。C++程序設(shè)計(jì)[M].清華大學(xué)出版社,2010.[2]譚浩強(qiáng).C程序設(shè)計(jì)[M]。清華大學(xué)出版社.2007[3]李強(qiáng),賈云霞。VisualC++項(xiàng)目開(kāi)發(fā)實(shí)踐。北京:中國(guó)鐵道出版社,2004.[4]李書(shū)賢?!禖++Primer中文版》[M]。人民郵電出版社附錄源代碼:#include<iostream>#include〈cstdio>#include〈stdlib。h>//cstdio是將stdio。h的內(nèi)容用C++頭文件的形式表示出來(lái)。usingnamespacestd;#include<string>classbook{private: stringisbn;//書(shū)號(hào)stringname;//書(shū)名 stringwriter;//作者 stringpublisher;//出版社 stringtime;//出版時(shí)間 stringprice;//圖書(shū)價(jià)格public: book(){} book(stringa,stringb,stringc,stringd,stringe,stringf) {isbn=a; name=b; writer=c; publisher=d; time=e;price=f; }stringget_name() {returnname;} stringget_isbn() {returnisbn;}stringget_writer() {returnwriter;}voiddisplay()//圖書(shū)內(nèi)容的顯示 {cout<<”書(shū)號(hào):"〈〈isbn<〈endl〈〈"書(shū)名:”<<name〈〈endl<<”作者:”<<writer<<endl<<”出版社:"〈<publisher〈<endl<<”出版時(shí)間:”〈<time<<endl〈〈”價(jià)格:"<〈price<〈"元"<<endl<<"*********************************”〈<endl; }};classdatabase:publicbook//公有繼承(public)的定義classB:publicA{<派生類(lèi)新定義成員>};{private:bookshumu[100];intsum;public: database(){sum=0;} voidadd(booka) { if(sum>=100) {cout〈<"添加失敗,內(nèi)存已滿(mǎn)!”<<endl; } else {shumu[sum]=a; sum++; cout<<”添加新書(shū)目成功,以下是本書(shū)信息"<〈endl;cout<〈”*********************************”<<endl; }} voiddelete_by_isbn(booka) {intflag=0; if(sum==0) {cout〈〈”刪除失敗,已經(jīng)沒(méi)有存檔了!”<<endl; }else { for(inti=0;i<sum;i++) {if(shumu[i].get_isbn()==a.get_isbn()) {cout<〈”刪除書(shū)目成功,以下是刪除的書(shū)信息”〈<endl; shumu[i]。display(); for(intj=i;j<sum-1;j++) {shumu[j]=shumu[j+1];} flag=1; sum——; break;} } if(!flag) {cout〈<”thebookdoes'texist!”〈〈endl; } } } voidsearch_by_name(stringnames)//按書(shū)名查找 {intflag=0; for(inti=0;i〈sum;i++) {if(shumu[i]。get_name()==names) {shumu[i]。display(); flag=1;} } if(flag==0) {cout〈<”thebookdoes'texist!”〈〈endl; } }voidsearch_by_isbn(stringnames)//按書(shū)號(hào)查找 {intflag=0; for(inti=0;i<sum;i++) {if(shumu[i].get_isbn()==names) {shumu[i].display(); flag=1;} } if(flag==0) {cout〈<"thebookdoes’texist!"〈〈endl; } } voidsearch_by_writer(stringnames)//按作者查找 {intflag=0; for(inti=0;i〈sum;i++) {if(shumu[i]。get_writer()==names) {shumu[i].display(); flag=1;} } if(flag==0) {cout〈〈"thebookdoes’texist!"〈〈endl; } }voiddisplay_all()//顯示全部信息 { for(inti=0;i<sum;i++) {shumu[i].display();}} voidread() {FILE*fp;if((fp=fopen(”C:\\Users\\fei\\Desktop\\圖書(shū)館.txt","rb+"))==NULL)//注意路徑;rb+讀寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件,只允許讀寫(xiě)數(shù)據(jù)。{cout<<"文件打開(kāi)失敗\n”; system("PAUSE");exit(0);} fread(&sum,2,1,fp);//從一個(gè)文件中讀數(shù)據(jù)&sum:用于接收數(shù)據(jù)的地址(指針);4:?jiǎn)蝹€(gè)元素的大小,單位是字節(jié);1:.元素個(gè)數(shù),每次讀取個(gè)元素;fp:提供數(shù)據(jù)的文件指針 for(inti=0;i〈sum;i++) { fread(&shumu[i],sizeof(shumu[i]),1,fp);} fclose(fp);} voidwrite() { FILE*fp2;if((fp2=fopen(”C:\\Users\\fei\\Desktop\\圖書(shū)館.txt","wb+”))==NULL)//注意路徑;wb+只寫(xiě)打開(kāi)或新建一個(gè)二進(jìn)制文件;只允許寫(xiě)數(shù)據(jù)。{cout<〈"文件打開(kāi)失敗\n"; system("PAUSE”);exit(0);//exit(0)表示正常退出} fwrite(&sum,2,1,fp2); for(inti=0;i<sum;i++) { fwrite(&shumu[i],sizeof(shumu[i]),1,fp2);}//sizeof計(jì)算數(shù)據(jù)(包括數(shù)組、變量、類(lèi)型、結(jié)構(gòu)體等)所占內(nèi)存空間,用字節(jié)數(shù)表示。 fputc(’EOF’,fp2);//將字符ch寫(xiě)到文件指針fp所指向的文件的當(dāng)前寫(xiě)指針的位置;EOF是EndOfFile的縮寫(xiě),表示“文件結(jié)束"。 fclose(fp2); }};//主函數(shù)intmain(){databaseBook; charfunction='0’; Book。read(); //界面 while(function!=’5') { cout〈<endl; cout<<"\t******************************************************************\n”; cout<〈"\t\t\t\t歡迎使用圖書(shū)管理系統(tǒng)"<〈endl; cout<〈”\t\t\t\t\t請(qǐng)選擇操作\n”<〈endl; cout〈〈”\t\t\t\t1創(chuàng)建新書(shū)信息"〈〈endl; cout<<”\t\t\t\t2顯示所有圖書(shū)”〈〈endl; cout〈<”\t\t\t\t3按指定條件查詢(xún)書(shū)目"〈<endl; cout〈<”\t\t\t\t4按書(shū)號(hào)刪除書(shū)目”<<endl;cout〈<"\t\t\t\t5退出系統(tǒng)并保存修改”〈<endl;cout<<"\t\t\t(查詢(xún)可按書(shū)號(hào)/作者/書(shū)名查詢(xún))”〈<endl;cout〈<"\t******************************************************************\n"; cin〉>function;//圖書(shū)書(shū)號(hào)、書(shū)名、作者、出版社、出版時(shí)間、價(jià)格信息的錄入換碼符'\t',表示水平制表位(horizeontaltab),它的作用是將光標(biāo)移到最接近8的倍數(shù)的位置,使得后面的輸入從此開(kāi)始。換句話說(shuō),讓所有的數(shù)據(jù)都緊跟在HYPERLINK”http:///view/1138182。htm”制表符后面輸出。//換碼符'\t’,表示水平制表位,它的作用是將光標(biāo)移到最接近8的倍數(shù)的位置,使得后面的輸入從此開(kāi)始。換句話說(shuō),讓所有的數(shù)據(jù)都緊跟在制表符后面輸出。 if(function==’1’) {stringa,b,c,d,e,f;//定義字符串 cout<〈”請(qǐng)輸入書(shū)的isbn編號(hào)”〈〈endl; cin〉>a; cout<〈"請(qǐng)輸入書(shū)名”<〈endl; cin>〉b; cout〈<”請(qǐng)輸入書(shū)作者名”〈〈endl; cin>〉c; cout〈〈"請(qǐng)輸入書(shū)的出版社"〈〈endl; cin〉〉d; cout<<"請(qǐng)輸入書(shū)的出版時(shí)間"<〈endl; cin〉〉e; cout〈<”請(qǐng)輸入書(shū)的價(jià)格"<<endl; cin〉>f; booknewbook(a,b,c,d,e,f); Book.add(newbook); newbook。display(); system("PAUSE"); system(”CLS”); }//顯示所有圖書(shū)信息 elseif(function=='2') {cout〈<"這是所有藏書(shū):"<<endl; cout〈〈”*********************************"<<endl; Book。display_all(); system(”P(pán)AUSE"); system(”CLS”); }//按條件查詢(xún)圖書(shū),輸入按書(shū)號(hào)查詢(xún),輸入按書(shū)名查詢(xún),輸入按作者查詢(xún) elseif(function=='3’) {cout〈〈”請(qǐng)選擇查詢(xún)方式"<〈endl; cout<〈”1按ISBN查詢(xún)"<〈endl; cout<<”2按書(shū)名查詢(xún)”<<endl; cout〈〈”3按作者查詢(xún)"〈<endl; charj; stringsearch; cin〉〉j; if(j=='1') {cout<<”請(qǐng)輸入ISBN號(hào)"<<endl;//按書(shū)號(hào)查詢(xún) cin>>search; cout<〈"以下是查詢(xún)結(jié)果”<〈endl; cout<〈”*********************************"<〈endl;Book.search_by_isbn(search);//按書(shū)號(hào)查詢(xún)圖書(shū)信息函數(shù)的調(diào)用 system(”P(pán)AUSE”); system(”CLS”); } elseif(j==’2’) {cout〈〈"請(qǐng)輸入書(shū)名"<<endl;//按書(shū)名查詢(xún) cin〉〉search;cout〈<”以下是查詢(xún)結(jié)果”〈〈endl;cout〈<"*********************************"〈<endl;Book.search_by_name(search);//按書(shū)名查詢(xún)圖書(shū)信息函數(shù)的調(diào)用system("PAUSE"); system("CLS”); } elseif(j==’3’)//按作者查詢(xún) {cout<〈”請(qǐng)輸入作者名”<<endl; cin>〉search;cout<<"以下是查詢(xún)結(jié)果"〈〈endl;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論