




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
#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;/*借書人學號*/BOOKINFO;void menu() printf(nnnnnnn); printf(ttt圖書管理系統(tǒng)n); printf(ttt1:新進圖書基本信息的輸入n); printf(ttt2:顯示全部記錄n); printf(ttt3:根據(jù)圖書名稱查詢圖書基本信息n); printf(ttt4:根據(jù)圖書名稱對撤銷的圖書信息進行刪除n); printf(ttt5:按照圖書名稱從小大到排序n); printf(ttt6:統(tǒng)計某價格以上的圖書數(shù)量n); printf(ttt7:列出所有未借出去的圖書信息n); printf(ttt8:退出n); void choice_1_input_new()/*輸入新進的圖書信息*/ 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(輸入借書人學號:); 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)設置成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) | 姓名 性別 學號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結束*/ 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結束*/ /*while(1)結束*/ void choice_4_delete_according_name()/*根據(jù)圖書名稱對圖書信息進行刪除*/ 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結束*/ else for(n=0;n=booknumber) printf(沒有查找該書的任何信息!n); else printf(是否確認需要刪除該條書目?(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ù)進行刪除操作?(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結束*/ /*while(1)結束*/ 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) | 姓名 性別 學號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) | 姓名 性別 學號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)系上傳者。文件的所有權益歸上傳用戶所有。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能與醫(yī)學的融合創(chuàng)新
- 手術室恢復室護理
- 禹城公務員試題及答案
- 用藥法律法規(guī)試題及答案
- 銀行運管條線面試題目及答案
- 銀行崗位筆試題庫及答案
- 醫(yī)院安全消防試題及答案
- 2025年蘇教版數(shù)學六年級下冊期末測試題及答案(典型題)(六)
- 煙臺歷年公務員面試題及答案
- 學校消防測試題及答案
- 農(nóng)村土地承包經(jīng)營權流轉及農(nóng)業(yè)基礎設施投資協(xié)議
- 安徽省六安市2024-2025學年八年級(下)期中歷史試卷(含答案)
- 新興原料市場分析-洞察闡釋
- 社工崗前培訓課件
- 《企業(yè)的股權規(guī)范化落地實務》-20250506
- 福建省三明市2025年普通高中高三畢業(yè)班五月質(zhì)量檢測物理試卷及答案(三明四檢)
- 山東省青島市、淄博市2025年高三年級第二次適應性檢測英語試題及答案(青島、淄博二模)
- 廣東省佛山市高三二模語文試題(原卷版)
- 2024年新疆額敏縣事業(yè)單位公開招聘村務工作者筆試題帶答案
- 早產(chǎn)兒試題及答案多選
- 林下經(jīng)濟產(chǎn)業(yè)項目可行性研究報告
評論
0/150
提交評論