版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、C語言設計報告 設計課題:圖書館銷售系統(tǒng)設計姓名:學號:學院:專業(yè):班級: TOC o 1-3 h z u HYPERLINK l _Toc299616449 圖書銷售管理系統(tǒng)設計 PAGEREF _Toc299616449 h 2 HYPERLINK l _Toc299616450 一、設計要求 PAGEREF _Toc299616450 h 2 HYPERLINK l _Toc299616451 二、總體設計思路 PAGEREF _Toc299616451 h 2 HYPERLINK l _Toc299616452 1.主要功能:系統(tǒng)主要包括八個功能模塊。 PAGEREF _Toc2996
2、16452 h 3 HYPERLINK l _Toc299616453 2.總體思路框圖 PAGEREF _Toc299616453 h 3 HYPERLINK l _Toc299616454 3.系統(tǒng)流程圖 PAGEREF _Toc299616454 h 3 HYPERLINK l _Toc299616455 三、主要參數(shù)和函數(shù) PAGEREF _Toc299616455 h 4 HYPERLINK l _Toc299616456 1.全局變量 PAGEREF _Toc299616456 h 4 HYPERLINK l _Toc299616457 2.主要函數(shù) PAGEREF _Toc299
3、616457 h 5 HYPERLINK l _Toc299616458 四、程序調(diào)試及整體實現(xiàn) PAGEREF _Toc299616458 h 14 HYPERLINK l _Toc299616459 1.主菜單運行界面 PAGEREF _Toc299616459 h 14 HYPERLINK l _Toc299616460 2.圖書信息錄入界面 PAGEREF _Toc299616460 h 14 HYPERLINK l _Toc299616461 3.圖書信息瀏覽界面 PAGEREF _Toc299616461 h 14 HYPERLINK l _Toc299616462 4.圖書查詢界
4、面 PAGEREF _Toc299616462 h 15 HYPERLINK l _Toc299616463 5.圖書信息修改界面 PAGEREF _Toc299616463 h 16 HYPERLINK l _Toc299616464 6.圖書信息刪除界面 PAGEREF _Toc299616464 h 16 HYPERLINK l _Toc299616465 7.圖書信息排序主界面 PAGEREF _Toc299616465 h 17 HYPERLINK l _Toc299616466 8.購書清單界面 PAGEREF _Toc299616466 h 17 HYPERLINK l _Toc
5、299616467 五、體會總結(jié) PAGEREF _Toc299616467 h 18 HYPERLINK l _Toc299616468 附件 PAGEREF _Toc299616468 h 19圖書銷售管理系統(tǒng)設計設計要求圖書信息包括:序號、書名、作者、出版單位、價格。系統(tǒng)以菜單方式工作。圖書信息錄入功能圖書信息用文件保存輸入。圖書信息的刪除與修改功能。圖書信息瀏覽功能輸出。查詢功能算法:(按書名/作者查詢)。排序功能算法:按書名排序/按價格排序。圖書購置功能:統(tǒng)計選購圖書的總價,給出清單,屏幕輸出參考以下的實際購書單??傮w設計思路通過編譯一個C語言函數(shù),其中包含一個主函數(shù),多個子函數(shù),主
6、函數(shù)調(diào)用余的子函數(shù)實現(xiàn)人們能夠簡易、快捷的了解并找到自己所學要的信息的功能。主要功能:系統(tǒng)主要包括八個功能模塊。圖書信息的錄入:將所要錄入的圖書信息包括序號、書名、作者、出版社、價格等錄入一個文本文件中。每錄入一本書,系統(tǒng)提示是否繼續(xù),假設不繼續(xù),那么返回主界面。圖書信息的查詢:將所有圖書信息包括序號、書名、出版社、作者、價格等顯示在屏幕上,最后返回主界面。圖書信息的查詢:通過輸入圖書名稱或作者完成圖書信息的查找,并在屏幕上顯示,返回主界面。圖書信息的修改:通過輸入序號,判斷此圖書是否存在,假設不存在那么提示用戶重新輸入圖書序號,假設存在那么要求輸入要修改圖書的序號,對該圖書重新錄入信息。錄入
7、后,提示是否繼續(xù),如不繼續(xù),那么返回主界面。 圖書信息的刪除:通過輸入序號,判斷此圖書是否存在,假設存在, 那么提示用戶是否顯示刪除后的信息,假設不存在那么提示用戶重新輸入圖書序號,刪除完畢后,返回主界面。圖書信息的排序:通過輸入書名或價格,提示用戶輸入想要使用的排序方式,排序后的信息顯示在屏幕上,返回主界面。圖書的購置:通過輸入要購置的圖書序號,計算出總本書和總價格并連同其他購置信息一并顯示在屏幕上。退出系統(tǒng):返回主頁面??傮w思路框圖圖書銷售管理系統(tǒng)退出系統(tǒng)圖書信息排序圖書信息刪除圖書信息修改圖書信息查詢圖書購置清單圖書信息瀏覽圖書信息錄入圖1. 總體思路框圖系統(tǒng)流程圖開始編譯運行翻開文件數(shù)
8、據(jù)讀入結(jié)構(gòu)體中選擇調(diào)用不同函數(shù)執(zhí)行退出main函數(shù)圖2. 系統(tǒng)流程圖主要參數(shù)和函數(shù)全局變量定義一個存放圖書信息的結(jié)構(gòu)體struct book,并定義此類型的變量struct book listN,用來表示圖書數(shù)組。struct book /*定義結(jié)構(gòu)體類型*/ int num; /*序號為整型*/ char name40; /*書名為字符串*/ char author20; /*作者為字符串*/ char publish50; /*出版社為字符串*/ float price; /*價格為浮點型*/ ;struct book listN; /*定義struct book類型的變量 list N個
9、*/int Count=0,定義全局變量,用來表示圖書的個數(shù),初始值為0。主要函數(shù)主函數(shù)main(),控制整個系統(tǒng)的執(zhí)行流程,使系統(tǒng)菜單可以循環(huán)執(zhí)行。根據(jù)圖書館信息管理系統(tǒng)的要求,可設計一個主函數(shù),及定義多個用戶自定義函數(shù)。通過將switch語句與break語句聯(lián)合使用來實現(xiàn)多分支選擇結(jié)構(gòu)程序的設計。case1至case7分別實現(xiàn)不同的功能,并能返回主界面;case0直接返回主界面。程序代碼:void main() int choice1; printf( *n); printf( * 歡送進入圖書銷售管理系統(tǒng) *n); printf( *n); do printf(#); /*顯示菜單*/p
10、rintf(功能選項: n);printf( 1 : 圖書信息錄入 n);printf( 2 : 圖書信息瀏覽 n);printf( 3 : 圖書信息查詢 n);printf( 4 : 圖書信息修改 n);printf( 5 : 圖書信息刪除 n); printf( 6 : 圖書信息排序 n); printf( 7 : 圖書的購置 n);printf( 0 : 退出系統(tǒng) n);printf(#);printf(t請選擇操作:); scanf(%d, &choice1); switch (choice1) /*菜單項選擇擇*/ case 1 : input();break; case 2 : s
11、how_bookinformation(list); break ; case 3 : check_bookinformation (list); break ; case 4 : modify_bookinformation (list); break ; case 5 :delete_bookinformation(list);break ; case 6 :reorder_bookinformation(list);break; case 7 :buytotal(list);break; case 0 :break ; while (choice1!=0); printf(謝謝! 歡送下
12、次使用使用!n); 翻開數(shù)據(jù)文件函數(shù)open(),把文件的信息翻開到一個結(jié)構(gòu)體數(shù)組中。定義指向文件的指針讀取數(shù)據(jù),假設指針指向NULL,那么顯示“無法操作,無文件信息!,要調(diào)用fopen、fclose和fread函數(shù)。程序代碼:void open() int i; FILE *fp; if(fp=fopen(book.txt,rb+)=NULL) printf(無法操作,無文件信息!n); exit(0); for(i=0;iN;i+) if(fread(&listi,sizeof(struct book),1,fp)=0) printf(數(shù)據(jù)輸出失敗!n); exit(0); fclose(
13、fp);信息錄入文件函數(shù)read(),函數(shù)類型為void。定義指向文件的指針讀取數(shù)據(jù),把輸入的圖書信息保存到文件中,假設指針指向NULL,那么輸出無法操作。利用for循環(huán)保存信息到指定文件。程序代碼:void read() int i; FILE *fp; if(fp=fopen(book.txt,wr+)=NULL) printf(n不能翻開文件!n); exit(0); for(i=0;iN;i+) if(fwrite(&listi,sizeof(struct book),1,fp)!=1) printf(文件寫入錯誤!n); fclose(fp);信息錄入系統(tǒng)函數(shù)input(),提供錄入
14、圖書信息功能。在for循環(huán)下,一次提示用戶輸入圖書序號、書名、作者、出版社以及價格。每循環(huán)一次,提示用戶是否繼續(xù),中選“1”時繼續(xù)輸入圖書信息,選“2”時返回主界面;每循環(huán)一次Count自增1。程序代碼:void input() int i,k,j,t; for(j=0;listj.num!=0;j+) t=j+1; for(i=t;iN;i+) printf(t請輸入您的圖書序號:); scanf(t%d,&listi.num); printf(t請輸入書名:); scanf(t%s,); printf(t請輸入作者:); scanf(t%s,listi.author);
15、 printf(t請輸入出版社:); scanf(t%s,listi.publish); printf(t請輸入價格:); scanf(t%f,&listi.price); fflush(stdin); printf(tn是否繼續(xù)錄入?(1.是 2.否); scanf(%d,&k); if(k=2) break; Count=i+1; read();刪除圖書信息函數(shù)delete_bookinformation (struct book list),提供對圖書信息的刪除功能。此函數(shù)運行時利用open函數(shù)翻開數(shù)據(jù)文件,讀取信息;利用for循環(huán),當輸入序號與循環(huán)中的某一對應數(shù)據(jù)相同時,將后一個賦值給
16、前一個從而把要刪除的圖書信息刪除掉。如果i=0,那么直接輸出“圖書銷售系統(tǒng)沒有你要輸出的圖書信息!。刪除后會顯示“刪除成功,同時Count自減1;最后還要執(zhí)行read函數(shù),重新記錄圖書信息。程序代碼:void delete_bookinformation (struct book list) int j,k,d,i=0; open(); printf(請輸入要刪除的圖書的序號:n); scanf(%d,&d); for(j=0;listj.num!=0;j+) if(listj.num=d) for(k=j;listk.num!=0;k+) listk=listk+1; i+; if(i=0)
17、 printf(圖書銷售系統(tǒng)沒有你輸入的圖書序號,請重新選擇輸入!n); else Count=Count-1; read(); printf(刪除成功n);修改圖書信息函數(shù)modify_bookinformation (struct book list),提供對圖書信息的修改功能。首先提示用戶輸入要修改的圖書序號,利用for循環(huán)找到要修改的list,系統(tǒng)提示用戶依次輸入修改后的圖書序號、圖書名、作者、出版社、價格。如果輸入的序號a為0,那么提示“未發(fā)現(xiàn)您要找的書!。輸入圖書序號查看是否存在此序號存在輸出;翻開文件,重新寫入圖書信息t=0,不存在輸出失敗提示信息開始圖3. 修改函數(shù)流程圖程序代
18、碼:void modify_bookinformation (struct book list) int j,k=0,number; open(); printf(t請輸入您要修改的圖書的序號:); scanf(%d,&number); for (j=0;listj.num!=0;j+) if (listj.num=number) printf(nt請輸入您修改后的圖書信息:nn); printf(t請輸入您要修改的圖書的序號:); scanf(%d,&listj.num); printf(t請輸入您修改后的書名:); scanf(%s,); printf(t請輸入您修改后
19、的作者名:); scanf(%s,listj.author); printf(t請輸入您修改后的出版社:); scanf(%s,listj.publish); printf(t請輸入您修改后的書的價格:); scanf(%f,&listj.price); read(); printf(n修改成功!); k+; if (k=0) printf(nnt找不到需要修改的圖書!);圖書信息輸出函數(shù)show_bookinformation(struct book list),提供圖書信息輸出功能,瀏覽圖書信息。通過printf()語句將所有的圖書信息包括包括編號、書名、出版社、作者、價格等信息顯示在屏幕
20、上。運用for語句加printf()實現(xiàn)圖書信息的循環(huán)輸出顯示。程序代碼:void show_bookinformation(struct book list)int i;open();printf(n*圖書信息顯示*n);printf(圖書序號t圖書名t作者名t出版社t圖書價格n); for(i=0;listi.num!=0;i+) printf( %dtt%st%st%st%6.2fn,listi.num,, listi.author,listi.publish,listi.price); 圖書信息查詢函數(shù)check_bookinformation (struct bo
21、ok list),提供用戶根據(jù)圖書書名或作者查詢圖書信息功能。通過printf()語句將所有的圖書信息包括包括編號、書名、出版社、作者、價格等信息顯示在屏幕上。運用for語句加printf()實現(xiàn)圖書信息的循環(huán)輸出顯示。通過將switch語句與break語句聯(lián)合使用來實現(xiàn)多分支選擇結(jié)構(gòu)。假設選“1”實現(xiàn)按書名查詢;假設選“2實現(xiàn)按作者查詢。兩者代碼類似,都利用字符串操作,最后依次顯示查詢后的結(jié)果。程序代碼:void check_bookinformation (struct book list) /*查詢圖書信息*/int j,i,t,k=0;char c20,d20;printf(請輸入查詢
22、方式:n 1.按書名查詢 2按作者查詢:n);scanf(%d,&t); if(t=1) open(); printf(請輸入要查詢的書名號:n); scanf(%s,c); printf(n *你想要查詢的圖書信息按作者名* n); for(j=0;listj.num!=0;j+) if(strcmp(c,)=0) printf(圖書序號t圖書名t作者名t出版社t圖書價格n); printf( %dtt%st%st%st%6.2fn,listj.num,, listj.author,listj.publish,listj.price); k+; if(
23、k=0) printf(n不存在你要查詢的圖書信息!n); if(t=2) open(); printf(請輸入要查詢的作者名:n); scanf(%s,d); for(i=0;listi.num!=0;i+) if(strcmp(d,listi.author)=0) printf(圖書序號t圖書名t作者名t出版社t圖書價格n); printf( %dtt%st%st%st%6.2fn,listi.num,, listi.author,listi.publish,listi.price); k+; if(k=0) printf(n不存在你要查詢的圖書信息!n); 輸入圖書名
24、稱/作者查找圖書名稱/作者是否存在存在顯示該圖書信息 不存在在提示不存在開始圖4. 查詢函數(shù)示意圖圖書信息排序函數(shù)reorder_bookinformation(struct book list),提供對圖書信息按書名和價格排序功能。排序共有兩種可選擇的方式,按書名排序和按價格排序。利用switch和break實現(xiàn)功能的選擇。按書名排序:利用選擇排序法和strcmp、strcpy函數(shù)在for循環(huán)下依次重新循環(huán)賦值,按字母的先后順序依次排序。如果定義的指針fp指向NULL那么顯示“cant open the file!,再利用for循環(huán)向屏幕輸出排序后的全部圖書信息,最后要返回主界面。按價格排序
25、:價格按大小排序。利用冒泡排序法,在for循環(huán)下依次重新循環(huán)賦值,再利用for循環(huán)向屏幕輸出排序后的全部圖書信息,最后返回主界面。程序代碼:void reorder_bookinformation(struct book list)int i,j,a,k;struct book t;FILE *fp;char temp40;open();printf(n請選擇排序方式n1書名按字母順序n2價格按從高到低n);scanf(%d,&a);switch(a)case 1: for(i=0;iCount-1;i+) k=i; for(j=i+1;j0) k=j; if(k!=i) strcpy(tem
26、p,); strcpy(,);strcpy(,temp); if(fp=fopen(book.txt,w)=NULL) printf(cant open the file!n); exit(0); printf(新序列為:n); for(j=0;jCount;j+) printf(圖書序號t圖書名t作者名t出版社t圖書價格n); printf( %dtt%st%st%st%6.2fn,listj.num,, listj.author,listj.publish,listj.price); rea
27、d();break;case 2:for(k=0;listk.num!=0;k+) for(j=0;listj.num!=0;j+) if(listj.pricelistj+1.price) t=listj;listj=listj+1;listj+1=t; for(j=0;listj.num!=0;j+) printf(圖書序號t圖書名t作者名t出版社t圖書價格n); printf( %dtt%st%st%st%6.2fn,listj.num,, listj.author,listj.publish,listj.price); k+; read(); break; 圖書購置
28、清單函數(shù)buytotal(struct book list),提供統(tǒng)計選購圖書的總價,給出清單的功能。用戶輸入所購圖書的序號,輸入“0”時結(jié)束,系統(tǒng)利用for循環(huán),當輸入序號與系統(tǒng)內(nèi)所存序號相同時,價格相加賦新值,書本數(shù)同時計數(shù)。最后打印出想要的清單。程序代碼: void buytotal(struct book list) int k,m,n,q,r,t=0; float sum=0; char e50,f50,l50,o50,p50; printf(n *n); printf(n 人民郵電出版社樣書清單 n); printf(n *n); printf( 請輸入所購各圖書的序號輸入0 結(jié)束
29、:n); scanf(%d,&q); do for(r=0;rCount;r+) if(q=listr.num) sum=sum+listr.price; t+; scanf(%d,&q); while(q!=0); printf( 合計發(fā)書:%dn,r); printf( 收書單位:); scanf(%s,e); printf( 發(fā)書依據(jù):); scanf(%s,f); printf( 價格:%.2fn,sum); printf( 郵政編碼:); scanf(%d,&k); printf( 收貨地址:); scanf(%s,l); printf( 聯(lián)系 :); scanf(%d,&m); p
30、rintf( 制單日期:); scanf(%d,&n); printf( 貨運公司:); scanf(%s,o); printf( 驗書人:); scanf(%s,p);程序調(diào)試及整體實現(xiàn)主菜單運行界面連接,檢錯完畢后,運行程序,開始進入主菜單。結(jié)果顯示如下:圖5. 主菜單界面圖書信息錄入界面在主菜單上選擇“1,根據(jù)提示錄入圖書信息。屏幕顯示如下:圖6. 圖書信息錄入界面圖書信息瀏覽界面在主菜單上選擇“2,顯示以下全部圖書信息并回到主界面。圖7. 圖書信息瀏覽界面圖書查詢界面在主菜單上選擇“3,然后根據(jù)提示選擇查詢方式。選擇“1時,假設圖書名存在,那么顯示以下全部圖書信息并回到主界面。圖8.
31、按書名圖書查詢界面選擇“2時,假設圖書作者存在,那么顯示以下全部圖書信息并回到主界面。圖9. 按作者圖書查詢界面圖書信息修改界面在主界面上選擇“4, 假設圖書序號存在,根據(jù)提示輸入修改信息,顯示以下結(jié)果:圖10. 圖書信息修改界面在主菜單上選擇“2,顯示修改后的信息。圖書信息刪除界面 在主菜單上選擇“5,然后根據(jù)提示選擇刪除的圖書序號。假設圖書序號存在,那么刪除選擇結(jié)果如下:圖11. 圖書信息刪除界面在主菜單上選擇“2,顯示刪除后的信息。下列圖為刪除后的信息:圖12. 刪除后結(jié)果圖書信息排序主界面在主菜單上選擇“6,然后根據(jù)提示選擇排序方式。選擇“1時,按書名排序根據(jù)英文字母排序。顯示結(jié)果為:
32、圖13. 按書名排序結(jié)果選擇“2,按價格排序價格由高到低。排序結(jié)果如下:圖14. 按價格排序結(jié)果購書清單界面在主菜單上選擇“7進入購書界面,選擇想購書的序號最后輸入“0回車,即可顯示購書數(shù)量和總價,根據(jù)提示輸入相關信息完成清單。購書清單如下:圖15. 購書清單例如體會總結(jié)通過這次課程設計,使我對C語言有了更進一步的認識和了解,要想學好它要重在實踐,要通過不斷的上機操作才能更好地學習它,我也發(fā)現(xiàn)我的好多缺乏之處,通過學習也有所改良;再有對C語言的一些標準庫函數(shù)不太了解,還有對函數(shù)調(diào)用的正確使用不夠熟悉,還有對C語言中經(jīng)常出現(xiàn)的錯誤也不了解,所以后在學習過程中,我會更加注視實踐操作。 在課程設計過
33、程中,收獲知識,提高能力的同時,我也懂得怎么樣去制定、實現(xiàn)方案,課程設計是培養(yǎng)學生綜合運用所學知識發(fā)現(xiàn)提出分析和解決實際問題鍛煉實踐能力的重要環(huán)節(jié)是對學生實際工作能力的具體訓練和考察過程.隨著科學技術開展的日新月異,自從拿到題目到完成整個編程,從理論到實踐,可以學到很多很多的東西,同時不僅可以穩(wěn)固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,在設計的過程中發(fā)現(xiàn)了自己的缺乏之處,對一些前面學過的知識理解得不夠深刻,掌握得不夠牢固,在設計中我們遇到了很多編程問題,
34、運用的函數(shù)也是非常的復雜,所以設計程序一定要仔細,不容一點的馬虎。當然也有大問題,關于文件的操作,是我們最大的問題。要有模塊化思維能力 ,就是編寫任何一個功能模塊或函數(shù)的時候,要多想一些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統(tǒng)存在,是否可以通過簡單的修改參數(shù)的方式在其他系統(tǒng)和應用環(huán)境下直接引用,這樣就能極大防止重復性的開發(fā)工作。同時,我也認識到團隊合作的力量,編程中遇到很多問題,但是通過和同學的交流學習,改正了自身的不少缺陷,獲益匪淺。附件/*定義結(jié)構(gòu)體*/#include stdafx.h#include string.h#include stdlib.h#de
35、fine N 100 /*定義圖書總?cè)萘繛?00*/int Count=0; /*定義全局變量,用來表示圖書的個數(shù)*/struct book /*定義結(jié)構(gòu)體類型*/ int num; /*序號為整型*/ char name40; /*書名為字符串*/ char author20; /*作者為字符串*/ char publish50; /*出版社為字符串*/ float price; /*價格為浮點型*/ ;struct book listN; /*定義struct book類型的變量 list N個*/void show_bookinformation(struct book list); /
36、*聲明圖書信息瀏覽函數(shù)*/void check_bookinformation (struct book list); /*聲明圖書信息查詢函數(shù)*/void modify_bookinformation (struct book list); /*聲明圖書信息修改函數(shù)*/void delete_bookinformation (struct book list); /*聲明圖書信息刪除函數(shù)*/void reorder_bookinformation(struct book list); /*聲明圖書信息排序函數(shù)*/void buytotal(struct book list); /*聲明圖書購
37、置信息函數(shù)*/void read(); /*聲明數(shù)據(jù)讀入函數(shù)*/ void input(); /*聲明圖書信息錄入函數(shù)*/ void open(); /*聲明數(shù)據(jù)信息翻開函數(shù)*/*主函數(shù)*/void main() int choice1; printf( *n); printf( * 歡送進入圖書銷售管理系統(tǒng) *n); printf( *n); do printf(#); /*顯示菜單*/printf( 功能選項: n);printf( 1 : 圖書信息錄入 n);printf( 2 : 圖書信息瀏覽 n);printf( 3 : 圖書信息查詢 n);printf( 4 : 圖書信息修改 n)
38、;printf( 5 : 圖書信息刪除 n); printf( 6 : 圖書信息排序 n); printf( 7 : 圖書的購置 n);printf( 0 : 退出系統(tǒng) n);printf(#);printf(t請選擇操作:); scanf(%d, &choice1); switch (choice1) /*菜單項選擇擇*/ case 1 : input();break; case 2 : show_bookinformation(list); break ; case 3 : check_bookinformation (list); break ; case 4 : modify_book
39、information (list); break ; case 5 : delete_bookinformation(list); break ; case 6 : reorder_bookinformation(list);break; case 7 : buytotal(list);break; case 0 : break ; while (choice1!=0); printf(謝謝! 歡送下次使用使用!n); /*翻開文件函數(shù)*/void open() int i; FILE *fp; if(fp=fopen(book.txt,rb)=NULL) printf(無法操作,無文件信息
40、!n); exit(0); for(i=0;iN;i+) if(fread(&listi,sizeof(struct book),1,fp)=0) printf(數(shù)據(jù)輸出失敗!n); exit(0); fclose(fp);/*錄入文件函數(shù)*/void read() int i; FILE *fp; if(fp=fopen(book.txt,wr)=NULL) printf(n不能翻開文件!n); exit(0); for(i=0;iN;i+) if(fwrite(&listi,sizeof(struct book),1,fp)!=1) printf(文件寫入錯誤!n); fclose(fp)
41、;/*錄入函數(shù)*/void input() int i,k,j,t; for(j=0;listj.num!=0;j+) t=j+1; for(i=0;iN;i+) printf(t請輸入您的圖書序號:); scanf(t%d,&listi.num); printf(t請輸入書名:); scanf(t%s,); printf(t請輸入作者:); scanf(t%s,listi.author); printf(t請輸入出版社:); scanf(t%s,listi.publish); printf(t請輸入價格:); scanf(t%f,&listi.price); fflush
42、(stdin); printf(tn是否繼續(xù)錄入?(1.是 2.否); scanf(%d,&k); if(k=2) break; Count=i+1; read();/*刪除函數(shù)*/void delete_bookinformation (struct book list) int j,k,d,i=0; open(); printf(請輸入要刪除的圖書的序號:n); scanf(%d,&d); for(j=0;listj.num!=0;j+) if(listj.num=d) for(k=j;listk.num!=0;k+) listk=listk+1; i+; if(i=0) printf(圖
43、書銷售系統(tǒng)沒有你輸入的圖書序號,請重新選擇輸入!n); else Count=Count-1; read(); printf(刪除成功n);/*修改函數(shù)*/void modify_bookinformation (struct book list) int j,k=0,number; open(); printf(t請輸入您要修改的圖書的序號:); scanf(%d,&number); for (j=0;listj.num!=0;j+) if (listj.num=number) printf(nt請輸入您修改后的圖書信息!nn); printf(t請輸入您要修改的圖書的序號:); scanf
44、(%d,&listj.num); printf(t請輸入您修改后的書名:); scanf(%s,); printf(t請輸入您修改后的作者名:); scanf(%s,listj.author); printf(t請輸入您修改后的出版社:); scanf(%s,listj.publish); printf(t請輸入您修改后的書的價格:); scanf(%f,&listj.price); read(); printf(n修改成功!n); k+; if (k=0) printf(nnt找不到需要修改的圖書!);/*輸出函數(shù)*/void show_bookinformation(s
45、truct book list)int i;open();printf(n*圖書信息顯示*n);printf(圖書序號t圖書名tt作者名tt出版社tt圖書價格n); for(i=0;listi.num!=0;i+) printf( %dtt%st%stt%st%6.2fn,listi.num,, listi.author,listi.publish,listi.price); /*查詢函數(shù)*/void check_bookinformation (struct book list) /*查詢圖書信息*/int j,i,t,k=0;char c20,d20;printf(請輸
46、入查詢方式:n 1.按書名查詢 2按作者查詢:n);scanf(%d,&t); if(t=1) open(); printf(請輸入要查詢的書名號:n); scanf(%s,c); printf(n *你想要查詢的圖書信息按作者名* n); printf(圖書序號t圖書名tt作者名tt出版社tt圖書價格n); for(j=0;listj.num!=0;j+) if(strcmp(c,)=0) printf( %dtt%st%stt%st%6.2fn,listj.num,, listj.author,listj.publish,listj.price); k+; if(k=0) printf(n不存在你要查詢的圖書信息!n); if(t=2) open(); printf(請輸入要查詢的作者名:n); scanf(%s,d); printf(圖書序號t圖書名tt作者名tt出版社tt圖書價格n); for(i=0;listi.num!=0;i+) if(strc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程審議制度
- 論代履行制度
- 2026年上半年七臺河市事業(yè)單位公開招聘工作人員132人備考考試題庫附答案解析
- 2026年聊城市中醫(yī)醫(yī)院“水城優(yōu)才”青年人才引進參考考試題庫附答案解析
- 2026河南師范大學招聘科研助理1人備考考試試題附答案解析
- 2026云南省人力資源和社會保障廳所屬事業(yè)單位招聘12人備考考試試題附答案解析
- 2026廣東廣州市越秀區(qū)安全生產(chǎn)巡查員招聘參考考試題庫附答案解析
- 2026綿陽農(nóng)商銀行寒假實習生招聘備考考試題庫附答案解析
- 2026湖北省奕派科技高級管理崗位招聘備考考試試題附答案解析
- 閥門生產(chǎn)檢驗制度
- 蒙古駕駛證考試題目及答案
- 頭發(fā)白轉(zhuǎn)黑課件
- 醫(yī)院藥劑科窗口服務規(guī)范化培訓
- 家紡產(chǎn)品綠色生命周期管理
- 消化內(nèi)鏡治療進修匯報
- 2025-2030塞爾維亞電力行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 設備日常點檢管理制度
- QGDW11059.2-2018氣體絕緣金屬封閉開關設備局部放電帶電測試技術現(xiàn)場應用導則第2部分特高頻法
- (高清版)DB62∕T 25-3128-2017 定型臺架綁扎預制箱梁鋼筋骨架施工規(guī)程
- 電梯更換配件勞務合同(2篇)
- 冀人版四年級科學上冊復習資料(分課)
評論
0/150
提交評論