C語言圖書管理_第1頁
C語言圖書管理_第2頁
C語言圖書管理_第3頁
C語言圖書管理_第4頁
C語言圖書管理_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、# include<stdio.h># include<stdlib.h>#include<string.h>struct bookint num;char name80;char writer80;char publish80;char type80;char time20;double price;int reserve;long size;struct student int stunum;char name80;int booknum3; student 100j;long getlongcountl()*文件長度*file * fp;fp=fope

2、n(ufl.txt,rb,');long begin,end,longcount; fseek(fp,0l,0); begin=ftell(fp);fseek(fp,0l,2); end=ftell(fp);longcount=(end-begin)/size; return longcount;fclose(fp);long getlongcount2() /*文件長度* file * fp;size=sizeof(struct student); fp=fopen(,f2.txt,;,rbu);long begin,end,longcount; fseek(fp,0l,0); be

3、gin=ftell(fp);fseek(fp,0l,2);end=ftell(fp);longcount=(end-begin)/size; return longcount; fclose(fp);void add() /*圖書信息錄入*file * fp;fp=fopen(hfl.txth,nabh);struct book log;fseek(fp,0l,2);printfc*請輸入圖書編號書名作者出版社類別出版時(shí)間價(jià)格現(xiàn)有庫存量:n-);scanf("%d %s %s %s %s %s %lf %d",&log.num,,log.writer

4、,log.publish,log. type,log.time,&log.price,&log.reserve);fwrite(&log,size 丄 fp);* 寫入 *fclose(fp);void output()/*圖書信息瀏覽*/file * fp;fp=fopen(ufl.txt,;,rbu);struct book log;size=sizeof(struct book);fseek(fp,0l,0);fread(&log,size, 1 ,fp);printfc圖書編號 書名 作者 出版社 類別 出版時(shí)間 價(jià)格 現(xiàn)有庫存量:n”);while(!

5、 feof(fp)printf("%d%s %s %s %s %s%.21f%dn", jog. writer,log publish,log.type,log.time,log.pricejog.reserve);fwad(&log,size 丄 fp);)fclose(fp);void findl() /*按書名查詢*file * fp;fp=fopen(uf 1 .txt','rb");struct book log;int temp=0;char s80;print”請輸入書名:n”);scanf(&q

6、uot;%s",s);fseek(fp,0l,0);fread(&log,size,l,fp);while(!feof(fp)if(strcmp(,s)=0)printfc*圖書編號 書名 作者 出版社 類別 出版時(shí)間 價(jià)格 現(xiàn) 有庫存量:n“);printf(h%d%s %s %s %s %s%.21f%dn,log.num,jog.wri terjog.publish,log.typejog.timejog.pricejog.reserve);temp=l;fread(&log,sizc, 1 ,fp);)計(jì)(temp=0)prin

7、tf("不好意思,木有你所需要圖書的信息:”);fclose(fp);void find2()/*按作者杏詢*file * fp;fp二fopen(”fl.txt;tb“);struct book log;int temp=0;char n80;print"請輸入作者姓名:n”);scanf("%s",n);fseek(fp,0l,0);fread (&log,size, 1 ,fp);while(!feof(fp)if(strcmp(log. writer,n)=0)printfc1圖書編號 書名 作者出版社 類別 出版時(shí)間 價(jià)格現(xiàn)有庫存量:n

8、*');printf(h%d%s %s %s %s %s%.21f%dnu,,log. writer, log.publish ,log.type,log.time,log.pricejog.reserve); temp= 1;fread(&log,size, 1 ,fp);if(temp=0)printf("不好意思,木有你所需要圖書的信息:”); fclose(fp);void paixul() /*按價(jià)錢由大到小排序*file * fp;fp=fopen(nfl.txth;,rbu);struct book temp;int i,j

9、,index,n;n=getlongcount 1();struct book log100;fseek(fp,0l,0);for(i=0;i<n;i+)fread(&logi,size, 1 ,fp);for(i=0;i<n-l ;i+)index=i;for(j=i+l;j<n;j+)if(logj.price>logindex.price) indexj;temp=logindex;logindex=logi; logi=temp;fp=fopen(,fl.txt,"wb,');fseek(fp,0l,0);for(i=0;i<n;

10、i+)fwrite(&logij,size,l,fp);fseek(fp,0l,0);print”圖書編號 有庫存量:nh); fbr(i=0;i<n;i+) 書名作者出丿阪社類別出版時(shí)間價(jià)格現(xiàn)printf(h%d%s%s%s%s%s%.21f%dnm,logi.num,,logi. writer,logi.publish,logi.type,logi.time,loglij.price,logij.reserve);fclose(fp);void paixu2() /*按出版時(shí)間山先到后排序* file *fp;fjp二fopen(“fl.txt”,lb”);

11、struct book temp;struct book log100;int i,j,index;long n;n=getlongcountl();fseek(fp,0l,0);for(i=0;i<n;i+)fread(&logi, 1 ,size,fp);for(i=0;i<n-l;i+4-)index=i;for(j=i+l;j<n;j+)if(logj.num<logindex.num)index=j;temp=log index;logindex=logi;logi=temp;fp=fopen(,fl.txt,wbm);fseek(fp,0l,0);f

12、or(i=0;i<n;i+)fwrite(&logi,size, 1 ,fp);fseek(fp,0l,0);出版時(shí)間 價(jià)格%dnm,logprintfc圖書編號 書名 作者出版社 類別現(xiàn)有庫存量:n");for(i=0;i<n;i+)printfc'%d%s %s %s %s %s%.21fi.num,,logi. writer,logi.publish,logi.type,logij.time,logi.price,logi.reserve);fclose(fp);void correct() 圖卩信息的修改*file *fp; fp

13、=fopen(mfl.txtu,mrbh);struct book log;stmct book temp 100;int numj;long n;n=getlongcount 1();output();printfc請輸入要修改圖書的原有編號:“);scanf("%d",&num);printfc*請輸入修改后的圖書編號書名 作者 出版社 類別 出版時(shí)間 價(jià)格 現(xiàn)有庫存量:n“);scanf(,l%d%s%s%s%s%s%lf%dt&jog.writerjog.publishjog.typejog.time5&log.p

14、rice,&1 og.re serve);fseek(fp,0l,0);for(i=0;i<n;i+)fread(&temp i ,size, 1 ,fp);for(i=0;i<n;i+)if(num=tempi .num)tempi .num=log.num;strcpy(,);strcpy(tempi. writerjog. writer);strcpy(tempi.publish4og.publish);strcpy(tempitype()gtype);strcpy(tempi.timejog.time);tempil.pr

15、ice=log.price;tempi.reserve=log.reserve;)fp=fopen(',fl.txt,"wb");fseek(fp,0l,0);for(i=0;i<n;i+)fwrite (&lempi,size 丄 fp);for(i=0;i<n;i+)printf(u%d%s %s %s %s %s%.21f%dnm,tenipi.num,,tempi. writer,tempi publish,tempi.type,tempi.ti me,tempi.price,tempi.reserve);fclose

16、(fp);void delet()/*圖書信息的刪除*file * fp;fp=fopen(,lfltxt,;frb,f);struct book logfloo;int num,i,j=l;long n;n=getlongcountl();output();pri ntf( “請輸入要?jiǎng)h除圖書的編號:”);scanf("%d",&num);fseek(fp,0l,0);for(i=0;i<n;i+)fread(&logi,size,l,fp);for(i=0;i<n;i+)if(num=logi.num) j=l;if(fp=fopen(,fl

17、.txt,wb,)=null)printfc文件建立失敗n“);exit(o);)for(i=0;i<n;i+)if(i!二j)f write (&logi,size,l,fp);)for(i=0;i<n;i+)%dnlogprintf(n%d%s %s %s %s %s%.21fij.num, jogij. writer,logi.publish,logi.type,logi.time,logi.price,logi.reserve);fclose(fp);void creatbook()學(xué)牛賬戶創(chuàng)建file * fp;long n;int i;n=g

18、etlongcount2();fp=fopen(,f2.txt,;'abh); printf(“請輸入姓名:”); scanf(°%s,);print”請輸入新賬號:”);scanf(n%dm,&studein|nstimum);for(i=0;i<3;i+)studentn.booknumij=0;size=sizeof(struct student);fseek(fp,n*size,o);fwrite (&studentn,size,l ,ip);fclose(fp);void find3(int j)file * fp;f

19、p=fopen(“fl.txt”,w);struct book log;int temp=0;size=sizeof(struct book);fseek(fp,0l,0);fread(&log,size, l,fp);while(!feof(fp)if(log.num=j)%dnm,log.num,printf(h%d%s %s %s %s %s %.21jog. writer,log.publish,log.type,log.time,log.price,log.reserve);temp=l;break;fread(&log,size, l,fp);if

20、(temp=o)printfc*無n”);fclose(fp);void stuoutput()學(xué)生借入圖書查詢/file * fp;long n;int num,i=0j=-l,k;fp=fopencf2.txt;tb“);n=getlongcount2();fseek(fp,0l,0);printfc請輸入學(xué)生賬號:“);scanf(h%dm,&num);size=sizeof(struct student);fread(&smdenti,size 丄 fp);vhile(! feof(fp)if(num=studenti.stunum)printf(n學(xué)生姓名賬號nh);

21、printf(n%s%dnu,,studenti.stunum,studenti.booknum);printf(n所借閱圖書 n“);print"圖書編號 書名 作者出版社 類別 出版時(shí)間 價(jià)格現(xiàn)有庫存量:nn);for(k=0;k<3;k+) j=studenti .booknumfk;find3(j);i+;fread(&student i ,size, 1 ,fp); if(j=-d printfc* 査無此人!n”); fclose(fp);void borrowbook() 借閱圖書file * fp;long n;int k;n=

22、getlongcount2();int j=-l,i=0,num;output();printf("請輸入所借圖書編號:n ”); scanf(”d”,&j);fp=fopencf2.txt”, ”rb+“); printf(”請輸入學(xué)生登錄賬號:“);scanf(m%d",&num);size=sizeo('(struct student); fseek(fp,ol,o);for(i=0;i<n;i+)fread(&studenti,size,l ,fp);fp=f()pen(“f2.txt”,”wb+“); for(i=0;i<

23、;n;i+) if(num=studenti.stunum) for(k=0;kv3;k+)if(studenti .booknumk=0) studenti.booknumk=j;k=3; fwrite (&studenti,size,l ,fp);卄fclose(fp);void returnbook()歸述圖書/file * fp;long n;int i,j,k;n=getlongcount2();stuoutput();fp=fopen(uf2.txth,'ab+h);printfc1請輸入所還圖書編號:“); scanf(”d”,&j);size=sizeo

24、f(stnact student);fseek(fp,()l,o);for(i=0;i<n;i+)fread(&studenti,size, l,fp);if(fp 二 fopen(” f2 .txt ” wb+”)=nu ll) printf(,errornh);exit(o);fseek(fp,ouo);for(i=0;i<n;i+)for(k=0;kv3;k+)if(j=studenti.booknumk)student i.booknumk=0;for(i=0;i<n;i+)fwrite (&student i,size j,fp);fclose(fp);int main(void)file * fp; int choice=l;/ fp=fopen(,f2.txt,uwb+n); while(choice!=0) size=sizeof(struct book);printf("歡迎來到圖書信息管理系統(tǒng)nh);printf(mnn);pr

溫馨提示

  • 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

提交評論