




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、仲愷農(nóng)業(yè)工程學(xué)院課 程 設(shè) 計(jì)課 程 程序設(shè)計(jì)基礎(chǔ)姓 名 金峰院(系) 計(jì)算機(jī)科學(xué)與工程學(xué)院專(zhuān)業(yè)班級(jí) 計(jì)算機(jī)093學(xué) 號(hào) 200910214308指導(dǎo)教師 黃明志職 稱(chēng) 副教授日 期 2010年06 月26日仲愷農(nóng)業(yè)工程學(xué)院教務(wù)處制21n 題目:圖書(shū)信息管理系統(tǒng)設(shè)計(jì)圖書(shū)信息包括:登錄號(hào)、書(shū)名、作者名、分類(lèi)號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書(shū)信息管理系統(tǒng),使之能提供以下功能: 1 系統(tǒng)以菜單方式工作2 圖書(shū)信息錄入功能(圖書(shū)信息用文件保存)輸入3 圖書(shū)信息瀏覽功能輸出4 圖書(shū)信息查詢功能算法查詢方式:l 按書(shū)名查詢l 按作者名查詢5 圖書(shū)信息的刪除與修改(可選項(xiàng))n 總體設(shè)計(jì): 程序分為
2、六個(gè)模塊u 主菜單u 圖書(shū)信息錄入u 圖書(shū)信息瀏覽u 圖書(shū)信息查詢u 圖書(shū)信息修改u 系統(tǒng)說(shuō)明 程序框圖如下:n 詳細(xì)設(shè)計(jì):u 主菜單void title(void)/*標(biāo)題函數(shù)*/void menu(void)/*菜單顯示函數(shù)*/char input_menu(void) /*菜單選擇函數(shù)*/程序框圖:u 圖書(shū)信息錄入void input_bookdata(void)/*圖書(shū)錄入函數(shù)*/程序框圖:u 圖書(shū)信息瀏覽void output(void)/*信息輸出函數(shù)*/程序框圖:u 圖書(shū)信息查詢void search(void)/*查詢函數(shù)*/void search_output(char x)
3、/*查找函數(shù)內(nèi)嵌的輸出函數(shù)。 有一缺陷,此算法放書(shū)名和作者名一樣時(shí),或出錯(cuò)。*/程序框圖:u 圖書(shū)信息修改void change(void)/*修改函數(shù)修單*/void amend(char x)/*修改函數(shù)修單內(nèi)嵌修改函數(shù)*/void delect(char x)/*修改函數(shù)修單內(nèi)嵌刪除函數(shù)*程序框圖:u 系統(tǒng)說(shuō)明void about(void)程序框圖:n 軟件測(cè)試:主界面:信息錄入: 信息瀏覽: 信息查詢: 信息修改: n 綜合設(shè)計(jì)總結(jié):1. 制作菜單時(shí),使用getchar()函數(shù),結(jié)果導(dǎo)致功能選擇多了回車(chē)輸入,導(dǎo)致下次選擇出錯(cuò)。解決方法是更換為getch()函數(shù),此函數(shù)不需要回車(chē)確認(rèn),
4、故避免此問(wèn)題。2. 寫(xiě)輸出函數(shù)時(shí),遇到選擇輸出時(shí),屏幕沒(méi)有反應(yīng),檢查函數(shù)沒(méi)有錯(cuò)誤。發(fā)現(xiàn)為程序執(zhí)行過(guò)快,閃一下就過(guò)去。引入了system()函數(shù)中的”pause”參數(shù),在瀏覽輸出后暫停。3. 搜索資料時(shí),算法有點(diǎn)問(wèn)題,導(dǎo)致不夠準(zhǔn)確。所以在后面修改功能里,忽略其它查詢方法,只采用isbn搜索。4. 在定義指針數(shù)組時(shí),有時(shí)會(huì)忘記是指針或者是指針變量。5. 生成儲(chǔ)存文件時(shí),有時(shí)的fopen或者fclose會(huì)用錯(cuò)參數(shù)或者放錯(cuò)位置。n 附錄:(源程序)/* 題目36:圖書(shū)信息管理系統(tǒng)設(shè)計(jì)圖書(shū)信息包括:登錄號(hào)、書(shū)名、作者名、分類(lèi)號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書(shū)信息管理系統(tǒng),使之能提供以下功能:1
5、、系統(tǒng)以菜單方式工作2、圖書(shū)信息錄入功能(圖書(shū)信息用文件保存)輸入3、圖書(shū)信息瀏覽功能輸出4、圖書(shū)信息查詢功能算法查詢方式:按書(shū)名查詢按作者名查詢5、圖書(shū)信息的刪除與修改(可選項(xiàng)) */#include#include /*system函數(shù)用*/#include /*調(diào)用getch函數(shù),避開(kāi)gechar函數(shù)的回車(chē)問(wèn)題*/#define n 2struct libarychar isbn20,book_name20,writer20,publishing20,id10,date10;float price;int order;/*序號(hào)*/bookn;/*定義結(jié)構(gòu)體,存放書(shū)籍?dāng)?shù)據(jù)*/void ti
6、tle(void);void menu(void);char input_menu(void);void input_bookdata(void);void output(void);void search(void);void search_output(char x);void change(void);void about(void);void amend(char x);void delect(char x);/*以上n行為函數(shù)聲明*/void main()char i;int flag=0;dosystem(cls);title();menu();i=input_menu();/*選
7、擇*/switch(i)case1:input_bookdata();/*輸入*/flag=1;break;case2:output();/*輸出*/break;case3:search();/*查找*/break;case4:change();/*修改*/break;case5:about();/*系統(tǒng)說(shuō)明*/break;case6:exit(0);/*退出*/break;default:printf(輸入錯(cuò)誤。n);printf(n);while(flag=1);void title(void)/*標(biāo)題函數(shù)*/printf(n);printf(t*n);printf(t* *n);prin
8、tf(t* 歡迎使用圖書(shū)信息管理系統(tǒng) *n);printf(t* *n);printf(t* welcome to library information management system *n);printf(t* *n);printf(t* 計(jì)機(jī)093 金峰 200910214309 *n);printf(t*n);printf(n);void menu(void)/*菜單顯示函數(shù)*/printf(t請(qǐng)按序號(hào)選擇功能:n);printf(n);printf(tttt1.圖書(shū)信息錄入n);printf(n);printf(tttt2.圖書(shū)信息瀏覽n);printf(n);printf(tt
9、tt3.圖書(shū)信息查詢n);printf(n);printf(tttt4.圖書(shū)信息修改n);printf(n);printf(tttt5.系統(tǒng)說(shuō)明n);printf(n);printf(tttt6.退出系統(tǒng)n);printf(n);char input_menu(void) /*菜單選擇函數(shù)*/char i;printf(t請(qǐng)輸入:);i=getch();system(cls);title();return(i);void about(void)system(cls);title();printf(n);printf(tt系統(tǒng)說(shuō)明:n);printf(n);printf(ttt1.本系統(tǒng)在vis
10、ual c+ 2010 編譯通過(guò)。n);printf(n);printf(ttt2.本系統(tǒng)只作為課程設(shè)計(jì)作品。n);printf(n);printf(ttt3.由于編寫(xiě)時(shí)間較短,不排除bug的存在。n);printf(n);printf(n);system(pause);main();void input_bookdata(void)/*圖書(shū)錄入函數(shù)*/file *fp;int i=0;char j;system(cls);title();printf(n);printf(n);printf(請(qǐng)輸入圖書(shū)信息:n);printf(n);doprintf(n);printf(序號(hào):);scanf(
11、%d,&booki.order);printf(n);printf(isbn:);scanf(%s,booki.isbn);printf(n);printf(書(shū)名:);scanf(%s,booki.book_name);printf(n);printf(作者:);scanf(%s,booki.writer);printf(n);printf(分類(lèi)號(hào):);scanf(%s,booki.id);printf(n);printf(出版單位:);scanf(%s,booki.publishing);printf(n);printf(出版時(shí)間:);scanf(%s,booki.date);printf(
12、n);printf(書(shū)本價(jià)格:);scanf(%f,&booki.price);printf(n);printf(是否繼續(xù)輸入? y or n ?: );j=getch();i+;printf(n);printf(n);while(j=y|j=y)&in);if(fp=fopen(books_data,wb)=null)printf(不能打開(kāi)存儲(chǔ)文件。n);return;for(i=0;in;i+)if(fwrite(&booki,sizeof(struct libary),1,fp)!=1)printf(無(wú)法寫(xiě)入文件!n);return;fclose(fp);/*以上幾行為向文件輸出數(shù)據(jù)*/
13、main();/*返回菜單*/void output(void)/*信息輸出函數(shù)*/file *fp;int i;fp=fopen(books_data,rb);printf(圖書(shū)信息:n);printf(n);printf(序號(hào)tisbnt書(shū)名t作者t分類(lèi)號(hào)t出版單位t出版時(shí)間t書(shū)本價(jià)格tn);printf(-n);for(i=0;in;i+)fread(&booki,sizeof(struct libary),1,fp);printf( %dt,booki.order);printf(%st,booki.isbn);printf(%st,booki.book_name);printf(%s
14、t,booki.writer);printf(%st,booki.id);printf(%stt,booki.publishing);printf(%st,booki.date);printf(%4.1ftnn,booki.price);fclose(fp);system(pause);main();void search(void)/*查詢函數(shù)*/file *fp;char i,book_name,writer,isbn;int flag=1;dosystem(cls);title();if(fp=fopen(books_data,wb)=null)printf(不能打開(kāi)存儲(chǔ)文件。n);re
15、turn;/*打開(kāi)文件,為了搜索。*/printf(n);printf(t歡迎使用查找功能,請(qǐng)選擇:n);printf(n);printf(t1.按isbn查詢n);printf(n);printf(t2.按書(shū)名查詢n);printf(n);printf(t3.按作者查詢n);printf(n);printf(t4.返回主菜單n);printf(n);printf(請(qǐng)輸入:);i=getch();system(cls);title();switch(i)case1:printf(n);printf(請(qǐng)輸入要查找的isbn號(hào):);scanf(%s,&isbn);printf(n);printf(
16、n);search_output(isbn);break;case2:printf(n);printf(請(qǐng)輸入要查找的書(shū)名:);scanf(%s,&book_name);printf(n);printf(n);search_output(book_name);break;case3:printf(n);printf(請(qǐng)輸入要查找的作者:);scanf(%s,&writer);printf(n);printf(n);search_output(writer);break;case4:main();break;default:printf(n);printf(輸入錯(cuò)誤!);flag=0;fclos
17、e(fp);/*關(guān)閉用于搜索用的文件*/while(flag=0);void search_output(char x)/*查找函數(shù)內(nèi)嵌的輸出函數(shù)。 有一缺陷,此算法放書(shū)名和作者名一樣時(shí),或出錯(cuò)。*/int i;printf(序號(hào)tisbnt書(shū)名t作者t分類(lèi)號(hào)t出版單位t出版時(shí)間t書(shū)本價(jià)格tn);printf(-n);for(i=0;in;i+)if(x=*booki.book_name|x=*booki.writer|x=*booki.isbn)/*由于使用了不準(zhǔn)確的判斷標(biāo)準(zhǔn),輸入查找信息,或出現(xiàn)混亂的結(jié)果*/printf(n);printf( %dt,booki.order);printf
18、(%st,booki.isbn);printf(%st,booki.book_name);printf(%st,booki.writer);printf(%st,booki.id);printf(%stt,booki.publishing);printf(%st,booki.date);printf(%4.1ftnn,booki.price);/*此處不加else來(lái)說(shuō)明查詢不到信息,是因?yàn)椴恢纍的數(shù)值,循環(huán)后,假如n之前輸入的數(shù)值,則多輸出幾次esle的內(nèi)容,影響過(guò)莫!*/system(pause);void change(void)/*修改函數(shù)修單*/char i,isbn,book_na
19、me,writer;int flag=1;dosystem(cls);title();printf(n);printf(t歡迎使用修改功能(暫提供一種修改方式),請(qǐng)選擇:n);printf(n);printf(t1.按isbn修改n);printf(n);printf(t2.返回主菜單n);printf(n);printf(請(qǐng)輸入:);i=getch();system(cls);title();switch(i)case1:printf(請(qǐng)輸入isbn:);scanf(%s,&isbn);printf(n);search_output(isbn);/*顯示要修改的項(xiàng)目*/amend(isbn)
20、;/*修改項(xiàng)目*/break;case2:main();break;default:printf(n);printf(輸入錯(cuò)誤!);flag=0;while(flag=0);void amend(char x)/*修改函數(shù)修單內(nèi)嵌修改函數(shù)*/file *fp;int i;char j=n,k;/*如果不初始化j的值,在后面重新輸入數(shù)據(jù)那選了n,則j沒(méi)有值,會(huì)出錯(cuò)*/printf(n);printf(是否刪除數(shù)據(jù)? y or n?:);k=getch();if(k=y|j=y)delect(x);elseprintf(n);printf(n);printf(是否重新輸入數(shù)據(jù)? y or n?:)
21、;j=getch();printf(n);if(j=y|j=y)system(cls);for(i=0;in;i+)if(x=*booki.isbn)printf(n);printf(序號(hào):);scanf(%d,&booki.order);printf(n);printf(isbn:);scanf(%s,booki.isbn);printf(n);printf(書(shū)名:);scanf(%s,booki.book_name);printf(n);printf(作者:);scanf(%s,booki.writer);printf(n);printf(分類(lèi)號(hào):);scanf(%s,booki.id);printf(n);printf(出版單位:);s
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 咖啡小紅書(shū)文案
- 2025年標(biāo)牌產(chǎn)品項(xiàng)目可行性研究報(bào)告
- 納米改性劑行業(yè)市場(chǎng)發(fā)展及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年中國(guó)哮喘藥市場(chǎng)競(jìng)爭(zhēng)策略及行業(yè)投資潛力預(yù)測(cè)報(bào)告
- 2024-2025學(xué)年高中地理第一單元地球運(yùn)動(dòng)第一節(jié)地球自轉(zhuǎn)的地理意義練習(xí)
- 2024-2025學(xué)年新教材高中化學(xué)1.1物質(zhì)的分類(lèi)及轉(zhuǎn)化綜合訓(xùn)練含解析新人教版必修第一冊(cè)
- 2024-2025學(xué)年高中地理課時(shí)分層作業(yè)2含解析湘教版必修3
- 2024-2025學(xué)年高中化學(xué)專(zhuān)題3從礦物到基礎(chǔ)材料第2單元第2課時(shí)鐵銅及其化合物的應(yīng)用練習(xí)含解析蘇教版必修1
- 2024年上海市普通高中學(xué)業(yè)水平等級(jí)性考試物理試題含答案
- 庫(kù)克小兒止咳糖漿行業(yè)深度研究報(bào)告
- 《2023版CSCO卵巢癌診療指南》解讀課件
- XX小學(xué)學(xué)生心理健康檔案(一生一案)
- 螺旋體病梅毒課件
- (小學(xué)組)全國(guó)版圖知識(shí)競(jìng)賽考試題含答案
- 人教版一年級(jí)道德與法治下冊(cè)全冊(cè)教案
- 類(lèi)風(fēng)濕關(guān)節(jié)炎前狀態(tài)診療專(zhuān)家共識(shí)(2024)解讀
- 2024-2030年中國(guó)化妝鏡行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- Project項(xiàng)目管理(從菜鳥(niǎo)到實(shí)戰(zhàn)高手)
- 食品加工機(jī)械與設(shè)備操作技能測(cè)試考核試卷
- SNT 1961.11-2013 出口食品過(guò)敏原成分檢測(cè) 第11部分:實(shí)時(shí)熒光PCR方法檢測(cè)麩質(zhì)成分
- 冀教版數(shù)學(xué)七年級(jí)上下冊(cè)知識(shí)點(diǎn)總結(jié)
評(píng)論
0/150
提交評(píng)論