C语言图书管理_第1页
C语言图书管理_第2页
C语言图书管理_第3页
C语言图书管理_第4页
C语言图书管理_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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*请输入图书编号书名作者出版社类別出版时间价格现有库存量: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图书编号 书名 作者 出版社 类别 出版时间 价格 现有库存量: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*图书编号 书名 作者 出版社 类别 出版时间 价格 现 有库存量: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);)计(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图书编号 书名 作者出版社 类别 出版时间 价格现有库存量: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() /*按价钱由大到小排序*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+) 书名作者出丿阪社类别出版时间价格现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() /*按出版时间山先到后排序* 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);出版时间 价格%dnm,logprintfc图书编号 书名 作者出版社 类别现有库存量: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*请输入修改后的图书编号书名 作者 出版社 类别 出版时间 价格 现有库存量: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( “请输入要删除图书的编号:”);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()学牛账户创建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()学生借入图书查询/file * fp;long n;int num,i=0j=-l,k;fp=fopencf2.txt;tb“);n=getlongcount2();fseek(fp,0l,0);printfc请输入学生账号:“);scanf(h%dm,&num);size=sizeof(struct student);fread(&smdenti,size 丄 fp);vhile(! feof(fp)if(num=studenti.stunum)printf(n学生姓名账号nh);

21、printf(n%s%dnu,,studenti.stunum,studenti.booknum);printf(n所借阅图书 n“);print"图书编号 书名 作者出版社 类别 出版时间 价格现有库存量: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(”请输入学生登录账号:“);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("欢迎来到图书信息管理系统nh);printf(mnn);pr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论