




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
#include #include #include #include #include typedef int BOOL;typedef struct bookinfo char number15;/*產(chǎn)品編號*/ char name30;/*產(chǎn)品名稱*/ float price;/*單價*/ char auther20;/*作者*/ BOOL isExit;/*存在狀態(tài)*/ char lendername20;/*借書人姓名*/ char lendersex2;/*借書人性別*/ char lendernum15;/*借書人學(xué)號*/BOOKINFO;void menu() printf(nnnnnnn); printf(ttt圖書管理系統(tǒng)n); printf(ttt1:新進(jìn)圖書基本信息的輸入n); printf(ttt2:顯示全部記錄n); printf(ttt3:根據(jù)圖書名稱查詢圖書基本信息n); printf(ttt4:根據(jù)圖書名稱對撤銷的圖書信息進(jìn)行刪除n); printf(ttt5:按照圖書名稱從小大到排序n); printf(ttt6:統(tǒng)計某價格以上的圖書數(shù)量n); printf(ttt7:列出所有未借出去的圖書信息n); printf(ttt8:退出n); void choice_1_input_new()/*輸入新進(jìn)的圖書信息*/ char choice; FILE *p; BOOKINFO newbook; system(cls); while(1) printf(輸入圖書編號:); gets(newbook.number); printf(輸入圖書名稱:); gets(); printf(輸入圖書單價:); scanf(%f,&newbook.price); while(getchar()!=n); printf(輸入圖書的作者:); gets(newbook.auther); printf(輸入借書人姓名:); gets(newbook.lendername); printf(輸入借書人性別:); gets(newbook.lendersex); printf(輸入借書人學(xué)號:); gets(newbook.lendernum); printf(是否保存該條書目?(Y/N)n); choice=getch(); while(choice!=Y&choice!=y&choice!=N&choice!=n) choice=getch(); if(choice=Y|choice=y) newbook.isExit=1;/*將圖書狀態(tài)設(shè)置成1,表示沒有借出*/ p=fopen(c:bookinfo.data,ab); fwrite(&newbook,sizeof(BOOKINFO),1,p); fclose(p); printf(n該條書目已添加到c:bookinfo.data文件中!n); else printf(n本條書目未保存!n); printf(n是否繼續(xù)添加書目?(Y/N)n); choice=getch(); while(choice!=Y&choice!=y&choice!=N&choice!=n) choice=getch(); if(choice=Y|choice=y) continue; else break; void choice_2_display_all()/*顯示全部圖書信息*/ FILE *p; int n; BOOKINFO bookinfo100; int booknumber=0; system(cls); p=fopen(c:bookinfo.data,rb); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; /*booknumber-;使用feof()函數(shù)會多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); booknumber-; if(booknumber=0) printf(沒有任何圖書信息!nn); else n=0; printf( 圖書信息如下n); printf( 圖書信息 | 借書人信息 n); printf(編號 名稱 單價 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n); while(nbooknumber) printf(%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn, bookinfon.number,,bookinfon.price, bookinfon.auther,bookinfon.isExit,bookinfon.lendername, bookinfon.lendersex,bookinfon.lendernum); n+; printf(nn按任意鍵回到主菜單!n); getch(); void choice_3_search_according_name()/*根據(jù)圖書名稱顯示圖書的信息*/ char search20=;/*search用來存放要查詢的書名*/ int n; FILE *p; char choice; BOOKINFO bookinfo100; int booknumber=0; system(cls); p=fopen(c:bookinfo.data,rb); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/*使用feof()函數(shù)會多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); while(1) printf(輸入要查詢的書本名稱:); gets(search); if(booknumber=0) printf(書庫中沒有任何信息!nn); printf(按任意鍵回到主菜單!nn); getch(); break; /*if結(jié)束*/ else for(n=0;n=booknumber) printf(沒有查找該書的任何信息!n); printf(nn是否繼續(xù)查詢?(Y/N)n); choice=getch(); while(choice!=Y&choice!=y&choice!=N&choice!=n) choice=getch(); if(choice=Y|choice=y) continue; else break; /*else結(jié)束*/ /*while(1)結(jié)束*/ void choice_4_delete_according_name()/*根據(jù)圖書名稱對圖書信息進(jìn)行刪除*/ char search20=;/*search用來存放要刪除的書名*/ int n,i; FILE *p; char choice; BOOKINFO bookinfo100; int booknumber; system(cls); while(1) printf(輸入要刪除的書本名稱:); gets(search); p=fopen(c:bookinfo.data,rb); booknumber=0; while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/*使用feof()函數(shù)會多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); if(booknumber=0) printf(書庫中沒有任何信息!nn); printf(按任意鍵回到主菜單!nn); getch(); break; /*if結(jié)束*/ else for(n=0;n=booknumber) printf(沒有查找該書的任何信息!n); else printf(是否確認(rèn)需要刪除該條書目?(Y/N); choice=getch(); while(choice!=Y&choice!=y&choice!=N&choice!=n) choice=getch(); if(choice=Y|choice=y) for(i=n;ibooknumber-1;i+) bookinfoi=bookinfoi+1; booknumber-; p=fopen(c:bookinfo.data,wb); for(n=0;nbooknumber;n+) fwrite(&bookinfon,sizeof(BOOKINFO),1,p); fclose(p); printf(刪除成功!n); else printf(nn該條書目沒有被刪除!); printf(nn是否繼續(xù)進(jìn)行刪除操作?(Y/N)n); choice=getch(); while(choice!=Y&choice!=y&choice!=N&choice!=n) choice=getch(); if(choice=Y|choice=y) continue; else break; /*else結(jié)束*/ /*while(1)結(jié)束*/ void choice_5_sort_according_name()/*根據(jù)圖書名稱排序*/ FILE *p; int m,n; BOOKINFO temp; BOOKINFO bookinfo100; int booknumber; p=fopen(c:bookinfo.data,rb); booknumber=0; system(cls); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/*使用feof()函數(shù)會多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); if(booknumber=0) printf(沒有任何圖書信息!nn); else for(m=0;mbooknumber-1;m+) for(n=m+1;n0) temp=bookinfom; bookinfom=bookinfon; bookinfon=temp; p=fopen(c:bookinfo.data,wb); for(m=0;mbooknumber;m+) fwrite(&bookinfom,sizeof(BOOKINFO),1,p); fclose(p); printf(nn完成排序!nn); printf(按任意鍵回到主菜單!n); getch(); void choice_6_display_high_price()/*根據(jù)價格列出圖書信息*/ float price; FILE *p; int n; int count=0; BOOKINFO bookinfo100; int booknumber; system(cls); printf(請輸入價格:); scanf(%f,&price); p=fopen(c:bookinfo.data,rb); booknumber=0; while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/*使用feof()函數(shù)會多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); if(booknumber=0) printf(沒有任何圖書信息!nn); else for(n=0;n=price) count+; if(count=0) printf(書庫中沒有比%.1f$價格高的圖書!,price); else printf( 價格高于%.1f$的圖書信息如下n,price); printf( 圖書信息 | 借書人信息 n); printf(編號 名稱 單價 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n); for(n=0;n=price) printf(%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn, bookinfon.number,,bookinfon.price, bookinfon.auther,bookinfon.isExit,bookinfon.lendername, bookinfon.lendersex,bookinfon.lendernum); printf(nn按任意鍵回到主菜單!n); getch(); void choice_7_display_according_exitflag()/*根據(jù)存在狀態(tài)列出圖書信息*/ FILE *p; int n; int count=0; BOOKINFO bookinfo100; int booknumber; system(cls); booknumber=0; p=fopen(c:bookinfo.data,rb); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-; fclose(p); if(booknumber=0) printf(書庫中沒有任何書目存在!n); else for(n=0;nbooknumber;n+) if(bookinfon.isExit=1) count+; if(count=0) printf(書庫中的書籍全部借出!n); else printf(書庫中未被借出的圖書信息如下:nn); printf( 圖書信息 | 借書人信息 n); printf(編號 名稱 單價 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n); for(n=0;nbooknumber;n+) if(bookinfon.isExit=1) printf(%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn, bookinfon.number,,bookinfon.price, bookinfon.auther,bookinfon.isExit,bookinfon.lendername, bookinfon.lendersex,bookinfon.lendernum); printf(n按任意鍵返回主菜單!n); getch(); void main() char choice; clock_t tm; FILE *p; if(
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場簽到活動方案
- 國慶節(jié)阿膠活動方案
- 國慶線下活動方案
- 商場空間活動方案
- 咖啡推廣活動方案
- 團(tuán)日活動美育活動方案
- 咨詢公司校園活動方案
- 回饋新老客戶活動方案
- 光伏窗戶自然通風(fēng)與采光企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 電影特效學(xué)習(xí)行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 幼兒園消防安全組織機(jī)構(gòu)圖
- 英語社團(tuán)活動課件
- 第三方檢測市場部管理制度提成方案
- 學(xué)前兒童發(fā)展心理學(xué)-情感
- GB∕T 16762-2020 一般用途鋼絲繩吊索特性和技術(shù)條件
- 電網(wǎng)施工作業(yè)票模板
- 安徽省小學(xué)學(xué)生學(xué)籍表
- 精選天津市初中地理會考試卷及答案
- 非車險銷售人員基礎(chǔ)培訓(xùn)系列第一講走進(jìn)非車險世界
- 比選申請文件模板
- pt1000熱電阻分度表
評論
0/150
提交評論