文件版圖書(shū)館管理系統(tǒng)-5_第1頁(yè)
文件版圖書(shū)館管理系統(tǒng)-5_第2頁(yè)
文件版圖書(shū)館管理系統(tǒng)-5_第3頁(yè)
文件版圖書(shū)館管理系統(tǒng)-5_第4頁(yè)
文件版圖書(shū)館管理系統(tǒng)-5_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余13頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、#include#include#include#includeFILE*fp,*fps,*fpj;/fp打開(kāi)圖書(shū)信息文件,fps打開(kāi)學(xué)生信息文件,fpj打開(kāi)借閱信息文件inti,xuan;/i作為標(biāo)記,xuan用來(lái)菜單選擇typedefstructbookcharname10;/圖書(shū)名字charnum10;/圖書(shū)編號(hào)charwriter10;/圖書(shū)作者intdate;/圖書(shū)出版日期charpress10;/圖書(shū)出版社floatprice;/圖書(shū)價(jià)格charleibie10;/圖書(shū)類別intkucun;/圖書(shū)原始庫(kù)存量intjiechu;/圖書(shū)借閱量bo;typedefstructstuden

2、tcharname10;/學(xué)生名字charnum10;/學(xué)生學(xué)號(hào)intjie;/學(xué)生借閱圖書(shū)數(shù)量st;typedefstructjieyuecharsnum10;/已借閱學(xué)生學(xué)號(hào)charbnum10;/已借閱圖書(shū)編號(hào)ji;voidsavemima();/保存密碼voidloadmima();/讀取密碼charmima20=123456”;/設(shè)置初始密碼voidchangemima();/修改密碼voidinput();/輸入圖書(shū)信息voidscan();/瀏覽圖書(shū)信息voidcha1();/查閱圖書(shū)信息voidxiugai();/修改圖書(shū)信息voidlend();/借閱圖書(shū)voidhuan()

3、;/歸還圖書(shū)voidlendcha();/借閱查詢intmainmenu();/主菜單intmenu2();/學(xué)生菜單intmenu1();/管理員菜單voidsort();/排序菜單voiddel2();/刪除全部圖書(shū)信息voiddel1();/按編號(hào)刪除圖書(shū)信息voiddel();/刪除菜單intmenu3();/游客菜單voidcha2();/查詢圖書(shū)信息/保存密碼voidsavemima()(FILE*fp;fp=fopen(c:lib.txt,w);fputs(mima,fp);fclose(fp);/讀取密碼voidloadmima()(FILE*fp;if(fp=fopen(c:

4、lib.txt,r+)=NULL)return;elsefgets(mima,7,fp);/因?yàn)檫€有一位字符串結(jié)束符fclose(fp);/修改密碼voidchangemima()(chartmima110,tmima210;loadmima();/讀取密碼到全局變量mimaprintf(ntt請(qǐng)輸入原密碼n);getchar();gets(tmima1);if(strcmp(mima,tmima1)!=0)(printf(ntt密碼驗(yàn)證錯(cuò)誤!ntt按任意鍵返回n);getch();return;else(printf(ntt請(qǐng)輸入6位新密碼n);gets(tmima2);printf(ntt

5、請(qǐng)?jiān)俅屋斎胄旅艽an);gets(tmimal);if(strcmp(tmima1,tmima2)=0)(strcpy(mima,tmima1);savemima();printf(ntt密碼修改成功ntt按任意鍵返回n);getch();/從鍵盤吸收任意鍵,不顯示在屏幕,無(wú)緩沖流return;else(printf(ntt兩次密碼輸入不一致ntt修改失敗nttgetch();return;查詢圖書(shū)voidcha2()(charhao10;intbian=1;/記錄圖書(shū)序號(hào)boboo;fseek(fp,0,0);printf(n請(qǐng)選擇查詢類型:nntt1-按圖書(shū)書(shū)名查詢n詢nnntt3-返回主菜

6、單n);scanf(%d,&xuan);if(xuan=1)(printf(請(qǐng)輸入圖書(shū)名(最多十個(gè)字符):);scanf(%s,hao);printf(序號(hào)書(shū)名編號(hào)作者價(jià)格出版社類別原始庫(kù)存借出nwhile(!feof(fp)(if(strcmp(hao,)=0)按任意鍵返回n);nntt2-按圖書(shū)編號(hào)查printf(%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu)

7、;fread(&boo,sizeof(bo),1,fp);bian+;elseif(xuan=2)printf(請(qǐng)輸入圖書(shū)編號(hào)(最多十個(gè)字符):);scanf(%s,hao);printf(序號(hào)書(shū)名編號(hào)作者價(jià)格出版社類別原始庫(kù)存借出n);while(!feof(fp)if(strcmp(hao,boo.num)=0)printf(%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);f

8、read(&boo,sizeof(bo),1,fp);elseprintf(ntt按任意鍵返回!n);system(pause);return;printf(n查詢圖書(shū)完畢!);system(pause);/圖書(shū)信息輸入voidinput()boboo,booq;printf(請(qǐng)輸入圖書(shū)名(最多十個(gè)字符):);scanf(%s,);fseek(fp,0,0);doi=1;printf(請(qǐng)輸入圖書(shū)編號(hào)(最多十個(gè)字符):);scanf(%s,boo.num);fread(&booq,sizeof(bo),1,fp);while(!feof(fp)/驗(yàn)證是否存在圖書(shū)編號(hào)重復(fù)現(xiàn)象if(

9、strcmp(booq.num,boo.num)=0)(printf(n該編號(hào)已存在t#重新輸入nn);i=0;/標(biāo)記為圖書(shū)編號(hào)重復(fù)break;)fread(&booq,sizeof(bo),1,fp);)rewind(fp);while(i=0);printf(請(qǐng)輸入圖書(shū)作者(最多十個(gè)字符):);scanf(%s,boo.writer);printf(請(qǐng)輸入圖書(shū)出版日期(例如2001年5月3日出版則輸入20010503):);scanf(%d,&boo.date);printf(請(qǐng)輸入圖書(shū)價(jià)格:);scanf(%f,&boo.price);printf(請(qǐng)輸入圖書(shū)出版社(最多十個(gè)字符):);

10、scanf(%s,boo.press);printf(請(qǐng)輸入圖書(shū)類別(最多十個(gè)字符):);scanf(%s,boo.leibie);printf(請(qǐng)輸入圖書(shū)入庫(kù)數(shù):);scanf(%d,&boo.kucun);boo.jiechu=0;/標(biāo)記借出圖書(shū)量為0getchar();fseek(fp,0,2);/將文件指針移到末尾fwrite(&boo,sizeof(bo),1,fp);printf(n錄入成功!回到主菜單);system(pause);調(diào)用dos命令,相當(dāng)于按任意鍵返回瀏覽圖書(shū)voidscan()(boboo;fseek(fp,0,0);/移動(dòng)文件指針到開(kāi)端printf(書(shū)名編號(hào)作者

11、價(jià)格出版社類別原始庫(kù)存借出n);fread(&boo,sizeof(bo),1,fp);while(feof(fp)=0)(printf(%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);fread(&boo,sizeof(bo),1,fp);printf(n瀏覽圖書(shū)完畢!回到主菜單);system(pause);)查詢圖書(shū)voidcha1()charhao10;intbian=1;/記錄圖書(shū)序號(hào)b

12、oboo;fseek(fp,0,0);printf(n請(qǐng)選擇查詢類型:nntt1-按圖書(shū)書(shū)名查詢nnntt2-按圖書(shū)編號(hào)查詢nnntt3-借閱信息查看nnntt4-返回主菜單n);scanf(%d,&xuan);if(xuan=1)printf(請(qǐng)輸入圖書(shū)名(最多十個(gè)字符):);scanf(%s,hao);printf(序號(hào)書(shū)名編號(hào)作者價(jià)格出版社類別原始庫(kù)存借出n);while(!feof(fp)if(strcmp(hao,)=0)printf(%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,,boo.nu

13、m,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);fread(&boo,sizeof(bo),1,fp);bian+;)elseif(xuan=2)printf(請(qǐng)輸入圖書(shū)編號(hào)(最多十個(gè)字符):);scanf(%s,hao);printf(序號(hào)書(shū)名編號(hào)作者價(jià)格出版社類別原始庫(kù)存借出n);while(!feof(fp)if(strcmp(hao,boo.num)=0)printf(%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4dn,bian,,boo.num

14、,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);fread(&boo,sizeof(bo),1,fp);)elseif(xuan=3)lendcha();/調(diào)用函數(shù)借閱查詢else(printf(ntt按任意鍵返回!n);system(pause);return;)printf(n查詢圖書(shū)完畢!);system(pause);)修改圖書(shū)voidxiugai()(FILE*p;jijie;intj=0;charnum10;boboo,booq;intxu;charor;charchakan10;printf(ntt

15、是否調(diào)用圖書(shū)瀏覽功能來(lái)查看你要修改的圖書(shū)編號(hào)(Y/N)n);getchar();/吸收換行符scanf(%c,&or);if(or=Y|or=y)(scan();/調(diào)用瀏覽功能rewind(fp);)printf(n請(qǐng)輸入你要修改的圖書(shū)的編號(hào):);scanf(%s,chakan);fseek(fpj,0,0);fread(&jie,sizeof(ji),1,fpj);while(!feof(fpj)/判斷是否該書(shū)已經(jīng)借閱(if(strcmp(jie.bnum,chakan)=0)/已借閱圖書(shū)的編號(hào)與所要修改編號(hào)相同(printf(n這本書(shū)已有人借閱,不能操作!n正在退出);system(pau

16、se);return;)fread(&jie,sizeof(ji),1,fpj);)fread(&boo,sizeof(bo),1,fp);p=fopen(c:books1.txt,wb+);while(!feof(fp)if(strcmp(boo.num,chakan)=0)6-類別printf(nn1-書(shū)名2-編號(hào)3-作者4-價(jià)格5-出版社7-庫(kù)存nn);printf(請(qǐng)選擇要修改的項(xiàng)目:);scanf(%d,&xu);if(xu=1)printf(你要把s改為:,);scanf(%s,);)elseif(xu=2)doi=1;printf(你要把s改為:,

17、boo.num);scanf(%s,num);rewind(fp);fread(&booq,sizeof(bo),1,fp);while(!feof(fp)if(strcmp(booq.num,num)=0)printf(n該編號(hào)已存在t#重新輸入nn);i=0;break;)fread(&booq,sizeof(bo),1,fp);)while(i=0);rewind(fp);for(i=0;i0)printf(n該書(shū)庫(kù)存剩余量為%d,請(qǐng)輸入您要借閱該書(shū)的數(shù)量:,boo.kucun-boo.jiechu);while(scanf(%d,&shu),shu(boo.kucun-boo.jiec

18、hu)printf(nt該書(shū)庫(kù)存不足,借書(shū)失敗,請(qǐng)重新輸入你要接該書(shū)的數(shù)量:n);if(boo.kucun=boo.jiechu)如果圖書(shū)原始庫(kù)存量=圖書(shū)借出量printf(n該冊(cè)圖書(shū)已全部借出!正在退出n);system(pause);return;printf(n請(qǐng)輸入你的學(xué)號(hào):);scanf(%s,xnum);j=0;fseek(fpj,0,0);fread(&jie,sizeof(ji),1,fpj);while(!feof(fpj)if(strcmp(jie.bnum,num)=0)&(strcmp(jie.snum,xnum)=0)/已借閱學(xué)生學(xué)號(hào)與輸入學(xué)號(hào)相同,借閱系統(tǒng)中學(xué)生學(xué)號(hào)

19、存在j=1;/作為標(biāo)記,判斷該書(shū)是否已經(jīng)被該學(xué)生借閱break;fread(&jie,sizeof(ji),1,fpj);if(j=1)printf(n你已經(jīng)借閱過(guò)該書(shū)正在退出n);system(pause);return;fseek(fps,0,0);/移動(dòng)借閱文件指針到開(kāi)端fread(&stu,sizeof(st),1,fps);j=0;while(!feof(fps)/在學(xué)生結(jié)構(gòu)中先判斷是否存在該學(xué)生信息if(strcmp(xnum,stu.num)=0)(j=1;/標(biāo)記為存在該學(xué)生信息break;)fread(&stu,sizeof(st),1,fps);)if(j=0)(printf

20、(n你是第一次借閱圖書(shū),為了方便管理請(qǐng)輸入你的姓名:);scanf(%s,);strcpy(stu.num,xnum);stu.jie=1;/標(biāo)記該學(xué)生已經(jīng)借閱此書(shū)fseek(fps,0,2);/移動(dòng)文件指針到末尾fwrite(&stu,sizeof(st),1,fps);/存入學(xué)生文件)else(if(stu.jie=10)/控制借書(shū)數(shù)量(printf(n你已經(jīng)借了10本書(shū),不能再借n);system(pause);return;)p=fopen(c:jie.txt,wb+);rewind(fps);fread(&stu,sizeof(st),1,fps);while(!fe

21、of(fps)/改變學(xué)生文件中學(xué)生借閱數(shù)量(if(strcmp(xnum,stu.num)=0)/在學(xué)生結(jié)構(gòu)中找到該學(xué)生信息stu.jie+=shu;修改學(xué)生結(jié)構(gòu)中該學(xué)生的借閱數(shù)量fwrite(&stu,sizeof(st),1,p);fread(&stu,sizeof(st),1,fps);)fclose(p);fclose(fps);p=fopen(c:jie.txt,rb+);fps=fopen(c:student.txt,wb+);fread(&stu,sizeof(st),1,p);while(!feof(p)/將學(xué)生信息寫入臨時(shí)文件(fwrite(&stu,sizeof(st),1

22、,fps);fread(&stu,sizeof(st),1,p);)strcpy(jie.bnum,num);/借閱結(jié)構(gòu)中將已借閱圖書(shū)編號(hào)存入strcpy(jie.snum,xnum);/借閱結(jié)構(gòu)中將已經(jīng)借閱圖書(shū)的學(xué)生的學(xué)號(hào)存入fseek(fpj,0,2);/移動(dòng)文件指針到末尾fwrite(&jie,sizeof(ji),1,fpj);/寫入文件末尾rewind(fp);p=fopen(c:jie.txt,wb+);/先存入臨時(shí)文件fread(&boo,sizeof(bo),1,fp);while(!feof(fp)if(strcmp(num,boo.num)=0)boo.jiechu+=sh

23、u;/標(biāo)記該書(shū)借出量fwrite(&boo,sizeof(bo),1,p);/寫入臨時(shí)文件fread(&boo,sizeof(bo),1,fp);)fclose(p);p=fopen(c:jie.txt,rb+);fclose(fp);fp=fopen(c:book.txt,wb+);fread(&boo,sizeof(bo),1,p);while(!feof(p)fwrite(&boo,sizeof(bo),1,fp);/寫入目標(biāo)文件fread(&boo,sizeof(bo),1,p);)printf(n借閱成功!回到主菜單);system(pause);)歸還圖書(shū)voidhuan()FILE*p;boboo;jijie;ststu;intj=0,shu;charsnum10,bnum10;/snum保存學(xué)生學(xué)號(hào),bnum保存歸還圖書(shū)編號(hào)i=0;printf(n請(qǐng)輸入你的學(xué)號(hào):);scanf(%s,snum);printf(n你借閱了以下圖書(shū)n);fseek(fpj,0,0);fseek(fp,0,0);fread(&jie,sizeof(ji),1,fpj);printf(書(shū)名編號(hào)作者價(jià)格出版社類別原始庫(kù)存借出n);while(!feof(fpj)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論