C語言圖書館管理系統(tǒng)源代碼(共11頁)_第1頁
C語言圖書館管理系統(tǒng)源代碼(共11頁)_第2頁
C語言圖書館管理系統(tǒng)源代碼(共11頁)_第3頁
C語言圖書館管理系統(tǒng)源代碼(共11頁)_第4頁
C語言圖書館管理系統(tǒng)源代碼(共11頁)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>#include<conio.h>typedef int BOOL;typedef struct bookinfo char number15;/*產(chǎn)品編號*/ char name30;/*產(chǎn)品名稱*/ float price;/*單價(jià)*/ char auther20;/*作者*/ BOOL isExit;/*存在狀態(tài)*/ char lendername20;/*借

2、書人姓名*/ 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")

3、; printf("ttt5:按照圖書名稱從小大到排序n"); printf("ttt6:統(tǒng)計(jì)某價(jià)格以上的圖書數(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(

4、newbook.number); printf("輸入圖書名稱:"); gets(); printf("輸入圖書單價(jià):"); scanf("%f",&newbook.price); while(getchar()!='n'); printf("輸入圖書的作者:"); gets(newbook.auther); printf("輸入借書人姓名:"); gets(newbook.lendername); printf("輸入借書人性別:&qu

5、ot;); 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=&#

6、39;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(); wh

7、ile(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("

8、;cls"); p=fopen("c:bookinfo.data","rb"); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; /*booknumber-;使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); booknumber-; if(booknumber=0) printf("沒有任何圖書信息!nn"); else n=0; printf(&q

9、uot; 圖書信息如下n"); printf(" 圖書信息 | 借書人信息 n"); printf("編號 名稱 單價(jià) 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n"); while(n<booknumber) printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn", bookinfon.number,,bookinfon.price, bookinfon.auther,bookinfon.isExit,bookinfon.lendername, book

10、infon.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:bo

11、okinfo.data","rb"); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/*使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); while(1) printf("輸入要查詢的書本名稱:"); gets(search); if(booknumber=0) printf("書庫中沒有任何信息!nn"); printf

12、("按任意鍵回到主菜單!nn"); getch(); break; /*if結(jié)束*/ else for(n=0;n<booknumber;n+) if(strcmp(,search)=0) printf("該書的詳細(xì)信息如下:n"); printf(" 圖書信息 | 借書人信息 n"); printf("編號 名稱 單價(jià) 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n"); printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn"

13、, bookinfon.number,,bookinfon.price, bookinfon.auther,bookinfon.isExit,bookinfon.lendername, bookinfon.lendersex,bookinfon.lendernum); break; if(n>=booknumber) printf("沒有查找該書的任何信息!n"); printf("nn是否繼續(xù)查詢?(Y/N)n"); choice=getch(); while(choice!='Y'&&

14、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用來存放要?jiǎng)h除的書名*/ int n,i; FI

15、LE *p; char choice; BOOKINFO bookinfo100; int booknumber; system("cls"); while(1) printf("輸入要?jiǎng)h除的書本名稱:"); gets(search); p=fopen("c:bookinfo.data","rb"); booknumber=0; while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/

16、*使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); if(booknumber=0) printf("書庫中沒有任何信息!nn"); printf("按任意鍵回到主菜單!nn"); getch(); break; /*if結(jié)束*/ else for(n=0;n<booknumber;n+) if(strcmp(,search)=0) break; if(n>=booknumber) printf("沒有查找該書的任何信息!n");

17、else printf("是否確認(rèn)需要?jiǎng)h除該條書目?(Y/N)"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') choice=getch(); if(choice='Y'|choice='y') for(i=n;i<booknumber-1;i+) bookinfoi=bookinfoi+1; booknumber-; p

18、=fopen("c:bookinfo.data","wb"); for(n=0;n<booknumber;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'&&choic

19、e!='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

20、=fopen("c:bookinfo.data","rb"); booknumber=0; system("cls"); while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/*使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); if(booknumber=0) printf("沒有任何圖書信息!nn"); else fo

21、r(m=0;m<booknumber-1;m+) for(n=m+1;n<booknumber;n+) if(strcmp(,)>0) temp=bookinfom; bookinfom=bookinfon; bookinfon=temp; p=fopen("c:bookinfo.data","wb"); for(m=0;m<booknumber;m+) fwrite(&bookinfom,sizeof(BOOKINFO),1,p); fclose(p); print

22、f("nn完成排序!nn"); printf("按任意鍵回到主菜單!n"); getch(); void choice_6_display_high_price()/*根據(jù)價(jià)格列出圖書信息*/ float price; FILE *p; int n; int count=0; BOOKINFO bookinfo100; int booknumber; system("cls"); printf("請輸入價(jià)格:"); scanf("%f",&price); p=fopen("c:

23、bookinfo.data","rb"); booknumber=0; while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p); booknumber+; booknumber-;/*使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); if(booknumber=0) printf("沒有任何圖書信息!nn"); else for(n=0;n<booknumber;n+) if(bookinfon.p

24、rice>=price) count+; if(count=0) printf("書庫中沒有比%.1f$價(jià)格高的圖書!",price); else printf(" 價(jià)格高于%.1f$的圖書信息如下n",price); printf(" 圖書信息 | 借書人信息 n"); printf("編號 名稱 單價(jià) 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n"); for(n=0;n<booknumber;n+) if(bookinfon.price>=price) printf("%-6s%-12s

25、%-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

26、 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"

27、;); else for(n=0;n<booknumber;n+) if(bookinfon.isExit=1) count+; if(count=0) printf("書庫中的書籍全部借出!n"); else printf("書庫中未被借出的圖書信息如下:nn"); printf(" 圖書信息 | 借書人信息 n"); printf("編號 名稱 單價(jià) 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n"); for(n=0;n<booknumber;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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論