图书管理系统程序设计 图书管理系统程序设计报告
2025-01-23 11:25 - 立有生活网
小周今天给分享图书管理系统程序设计的知识,其中也会对图书管理系统程序设计报告进行解释,希望能解决你的问题,请看下面的文章阅读吧!
图书管理系统程序设计 图书管理系统程序设计报告
图书管理系统程序设计 图书管理系统程序设计报告
图书管理系统程序设计 图书管理系统程序设计报告
1、#include#include#include#include#includestruct book{char number[100];char tittle[100];char writer[100];char publisher[100];char date[100];char pr[100];char status[100];char reader[100];};void search_book();void borrow_book();void return_book();void add_book();void delete_book();void modify_book();void scan_book();int main(){int c1=0,c2,c3;int l,x,z;while(1){("color 2C");printf("ttt ^^^^^^^^^^^^^^^^^^ n");printf("ttt| - - -图书管理系统 - - |n");printf("ttt [1] 用户登录 n");printf("ttt [2] 登录 n");printf("ttt^^^^^^^^^^^^^^^^^^ n");printf("n");printf("请选择你的作 :");scanf("%d",&c1);("cls");break;}if(c1==1){while(1){("color 2C");printf("ttt ^^^^^^^^^^^^^^^^^^ n");printf("ttt| - - -图书管理系统 - - |n");printf("ttt [1] 查询图书 n");printf("ttt| [2] 借阅图书 |n");printf("ttt [3] 借还图书 n");printf("ttt [4] 浏览图书信息 n");printf("ttt| [5] 退出图书管理系统 |n");printf("ttt^^^^^^^^^^^^^^^^^^ n");printf("n");printf("请选择你的作 :");scanf("%d",&c2);getchar();switch(c2){case 1:search_book(); break;case 2:borrow_book(); break;case 3:return_book(); break;case 4:scan_book(); break;case 5:("cls"); return 0;}}}if(c1==2){while(1){("color 2C");printf("ttt ^^^^^^^^^^^^^^^^^^ n");printf("ttt| - - -图书管理系统 - - |n");printf("ttt| [1] 添加图书 |n");printf("ttt [2] 删减图书 n");printf("ttt| [3] 修改图书信息 |n");printf("ttt [4] 浏览图书信息 n");printf("ttt| [5] 退出图书管理系统 |n");printf("ttt^^^^^^^^^^^^^^^^^^ n");printf("n");printf("请选择你的作 :");scanf("%d",&c3);getchar();switch(c3){case 1:add_book(); break;case 2:delete_book(); break;case 3:modify_book(); break;case 4:scan_book(); break;case 5:("cls"); return 0;}}}}/查询图书/void search_book(){FILEfp;struct book n;struct book nn;int l,r;char x,z;fp=fopen("F:课程设计图书管理系统.txt","rb");while(1){l=0;("cls");printf("请输入图书名称:");scanf("%s",n.tittle);fflush(stdin);rewind(fp);while(1){fread(&nn,sizeof(nn),1,fp);if(feof(fp))break;r=strcmp(n.tittle,nn.tittle );if(r==0){l=1;break;}}if(l==0){printf("没有要查询的图书!!!nn ");}else{printf("查询的图书为:");printf("n");printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");printf("n");printf("%s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.pr,nn.status,nn.reader);printf("nnn");}printf("是否继续查询图书 ? [是(y)/否(n)] ? nn");do{x=getche();}while(x!='n'&&x!='y');if(x=='n')break;}fclose(fp);("cls");}//添加void add_book(){FILE fp;struct book n;struct book nn;char x,z;int l,r;fp=fopen("F:课程设计图书管理系统.txt","ab+");do{("cls");do{l=0;printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");fflush(stdin);scanf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.pr,n.status,n.reader);("cls");rewind(fp);while(!feof(fp)){fread(&nn,sizeof(nn),1,fp);r=strcmp(n.tittle,nn.tittle);if(r==0){l=1;printf(" 该图书已存在,请输入新的图书信息: nn");break;}}}while(l);fwrite(&n,sizeof(n),1,fp);printf("n");printf("是否继续输入新的图书信息[y/n] nn");do{x=getche();}while(x!='n'&&x!='y');}while(x=='y');fclose(fp);("cls");}//删除图书void delete_book(){FILE fp,fp1;char x,z;struct book n;struct book nn;int l,r;fp=fopen("F:课程设计图书管理系统.txt","ab+");while(1){l=0;("cls");printf("n");printf("请输入需要删除的图书名: nn");fflush(stdin);scanf("%s",&n.tittle);rewind(fp);while(1){fread(&nn,sizeof(nn),1,fp);if(feof(fp))break;r=strcmp(n.tittle,nn.tittle);if(r==0){l=1;break;}}if(l==0){printf("n");printf("对不起,未找到该图书 n");}else{printf("n");printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");printf("n");printf("%s %s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.pr,nn.status,nn.reader);printf("n");printf("确认删除图书信息? [是(y)/否(n)]nn");do{z=getche();}while(z!='n'&&z!='y');if(z=='n')break;else{fp1=fopen("F:课程设计图书管理系统new.txt","wb");rewind(fp);while(1){fread(&nn,sizeof(nn),1,fp);if(feof(fp))break;r=strcmp(n.tittle,nn.tittle);if(r!=0)fwrite(&nn,sizeof(nn),1,fp1);}fclose(fp);fclose(fp1);fp=fopen("F:课程设计图书管理系统.txt","wb");fp1=fopen("F:课程设计图书管理系统new.txt","rb");while(1){fread(&nn,sizeof(nn),1,fp1);if(feof(fp1))break;fwrite(&nn,sizeof(nn),1,fp);}fclose(fp);fclose(fp1);}}printf("n");printf("是否继续删除图书信息? [是(y)/否(n)] n");do{x=getche();}while(x!='n'&&x!='y');if(x=='n')break;}fclose(fp);("cls");}//修改图书信息void modify_book(){FILE fp;struct book n;struct book nn;int l,r;char x,z;fp=fopen("F:课程设计图书管理系统.txt","rb+");while(1){l=0;printf("n");("cls");printf("请输入需要修改的图书名: nn");fflush(stdin);scanf("%s",&n.tittle);("cls");rewind(fp);while(1){fread(&nn,sizeof(nn),1,fp);if(feof(fp))break;r=strcmp(n.tittle,nn.tittle);if(r==0){l=1;break;}}if(l==0){printf("n");printf("对不起,未找到该图书信息 nn");}else{printf("n");printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");printf("n");printf("%s %s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.pr,nn.status,nn.reader);printf("请依次修改图书信息nnn");fflush(stdin);scanf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.pr,n.status,n.reader);fseek(fp,sizeof(nn),1);fwrite(&n,sizeof(nn),1,fp);}printf("n");printf(" 是否继续修改用户信息[y/n]? nn");do{x=getch();}while(x!='n'&&x!='y');if(x=='n')break;}fclose(fp);("cls");}//借书void borrow_book(){FILEfp;struct book n;struct book nn;char x,z;int l,r;fp=fopen("F:课程设计图书管理系统.txt","rb+");while(1){l=0;("cls");printf("n");printf("请输入需要借阅的图书名: n");fflush(stdin);scanf("%s",&n.tittle);rewind(fp);while(1){fread(&nn,sizeof(nn),1,fp);if(feof(fp))break;r=strcmp(n.tittle,nn.tittle);if(r==0){l=1;break;}}if(l==0){printf("n");printf("对不起,未找到该图书。
2、 n");}else{ printf("n");printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");printf("n");printf("%s %s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.pr,nn.status,nn.reader);printf("n");fflush(stdin);printf("请输入图书信息并修改在库状态及借阅者信息");printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");printf("n");scanf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.pr,n.status,n.reader);fseek(fp,sizeof(nn),1);fwrite(&n,sizeof(nn),1,fp);}printf("n");printf(" 是否继续借书? [是(y)/否(n)] nn");do{x=getch();}while(x!='n'&&x!='y');if(x=='n')break;}fclose(fp);("cls");}//还书void return_book(){FILEfp;struct book n;struct book nn;char x,z;int l,r;fp=fopen("F:课程设计图书管理系统.txt","rb+");while(1){l=0;("cls");printf("n");printf("请输入需要借还的图书名: n");fflush(stdin);scanf("%s",&n.tittle);rewind(fp);while(1){fread(&nn,sizeof(nn),1,fp);if(feof(fp))break;r=strcmp(n.tittle,nn.tittle);if(r==0){l=1;break;}}if(l==0){printf("n");printf("对不起,未找到该图书。
3、 n");}else{printf("n");printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");printf("n");printf("%s %s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.pr,nn.status,nn.reader);printf("n");fflush(stdin);printf("请输入图书信息并修改在库状态 nn");printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");printf("n");scanf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.pr,n.status,n.reader);fseek(fp,-(int)sizeof(nn),1);fwrite(&n,sizeof(nn),1,fp);}printf("n");printf("是否继续还书? [是(y)/否(n)] n");do{x=getche();}while(x!='n'&&x!='y');if(x=='n')break;}fclose(fp);("cls");}//浏览void scan_book(){FILEfp;char x,z;struct book n;fp=fopen("F:课程设计图书管理系统.txt","rb");rewind(fp);("cls");while(1){fread(&n,sizeof(n),1,fp);if(feof(fp))break;else{printf("n");printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者n");printf("n");printf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.pr,n.status,n.reader);printf("n");}}printf("n");printf("回到主菜单请按回车");do{x=getche();}while(x!='r');if(x=='r'){fclose(fp);("cls");}}这是我在网上搜索的,你自己修改一下就行了,别说你不会修改.#include#include#include#include//输入/输出文件流类usingnamespacestd;constintMaxr=100;//多的读者constintMaxb=100;//多的图书constintMaxbor=5;//每位读者多借五本书//读者类,实现对读者的信息的描述classReader{private:inttag;//删除标记1:已删0:未删intno;//读者编号charname[10];//读者姓名intborbook[Maxbor];//所借图书public:Reader(){}chargetname()//获取姓名intgettag()//获取删除标记intgetno()//获取读者编号voidsetname(charna[])//设置姓名{strcpy(name,na);}voiddelbook()//设置删除标记1:已删0:未删voidaddreader(intn,charna)//增加读者{tag=0;no=n;strcpy(name,na);for(inti=0;i>cho;switch(cho){case'1':cout>readerid;cout>rname;addreader(readerid,rname);break;case'2':cout>readerid;r=query(readerid);if(r==NULL){cout>rname;r->setname(rname);break;case'3':cout>readerid;r=query(readerid);if(r==NULL){coutdelbook();break;case'4':cout>readerid;r=query(readerid);if(r==NULL){coutdisp();break;case'5':disp();break;case'6':clear();break;default:cout>cho;switch(cho){case'1':cout>bookid;cout>bname;addbook(bookid,bname);break;case'2':cout>bookid;b=query(bookid);if(b==NULL){cout>bname;b->setname(bname);break;case'3':cout>bookid;b=query(bookid);if(b==NULL){coutdelbook();break;case'4':cout>bookid;b=query(bookid);if(b==NULL){coutdisp();break;case'5':disp();break;case'6':clear();break;default:cout>cho;switch(cho){case'1':cout>readerid;cout>bookid;r=ReaderDB.query(readerid);//按编号查找if(NULL==r){coutborrowbook()==0){coutborrowbook(b->getno());break;case'2':cout>readerid;cout>bookid;r=ReaderDB.query(readerid);if(r==NULL){coutretbook();r->retbook(b->getno());break;case'3':BookDB.bookdata();break;case'4':ReaderDB.readerdata();break;default:cout。
本文到这结束,希望上面文章对大家有所帮助。
linux删除文件夹_linux删除文件夹后如何恢复
Linux删除文件夹命令? 作方法如下:rm -rf 目录名字 在Linux中有很多方法可以删除目录,在图形化界面可以利用文件管理器,或者通过终端删除。本文将介绍在文本界面使用命令删除目录。 linux删除文···
女神漫画登录页面免费漫画入口网页_女神漫画
歪歪漫画登录页面入口弹窗在哪? 5. 悬浮窗弹窗:当用2、其次在3d漫画登陆页面免费入口弹窗弹出后,直接点击右上角的关闭图标。户开启了悬浮窗,并且勾选了3. 悬浮窗弹窗:当用户开启了悬浮···
秦奋king新浪微博 秦奋king微博的超话
秦奋king微信多少 如果真的是放不下他,告诉你,那是因为你还没有痛,真痛了你就放手了。看过一个小故事。某人问高僧,放不下。高僧让他用手一直握住杯子,然后高僧往里倒热水,溢出了也不···