/***********************************************************
我的信息: *
姓名: 汪建林 生日:1985年2月26日 *
毕业学校: 2007年于成都理工大学 *
家乡地址: 四川渠县望溪乡包山村5组 *
联系QQ: 287307421 联系电话: 13558690869 *
联系Email: wangjianlin1985@126.com 287307421 *
双鱼林程序淘宝店: http://shop34864101.taobao.com *
双鱼林程序拍拍店: http://287307421.paipai.com *
网站: http://www.shuangyulin.com *
*
需要更多程序可以联系我,保证运行! *
***********************************************************/
# include "stdio.h"
# include "stdlib.h"
# include "string.h"
# define size 100
typedef struct
{
long booknumber;
char bookname[15];
char auther[20];
char press[20];
float price;
int nownum;
}book;
typedef struct
{
long cardnumber;
char name[20];
char sex[10];
long tel;
char clas[20];
char condition[20];
}Member;
void Bookfound();
void Bookdel();
void Bookadd();
void Booklook();
void Booksearch();
void Memberadd();
void Memberchange();
void Bookborrow();
void Bookreturn();
//***********************************************//
int login(char password[])
{
static char key[10]="123";
if(strcmp(password,key)==0)
return 1;
else
return 0;
}
void main()
{
int choice;
do
{
printf("|==========================================|\n");
printf("| 欢迎使用图书管理系统 |\n");
printf("|******************************************|\n");
printf("| 图书管理 |\n");
printf("|==========================================|\n");
printf("| 1,创建图书信息 |\n");
printf("| 2,删除图书 |\n");
printf("| 3,增添图书 |\n");
printf("| 4,按名称查询图书 |\n");
printf("| 5,按作者查询图书 |\n");
printf("| 6,创建读者信息 |\n");
printf("| 7,修改读者信息 |\n");
printf("|==========================================|\n");
printf("| 借书和还书管理 |\n");
printf("|******************************************|\n");
printf("| 8,借书 |\n");
printf("| 9,还书 |\n");
printf("| 0,退出系统 |\n");
printf("============================================\n");
printf("\n您好!请输您的选择(1,2,3,4,5,6,7,8,9,0):\n");
scanf("%d",&choice);
switch(choice)
{
case 1:Bookfound();break;
case 2:Bookdel();break;
case 3:Bookadd();break;
case 4:Booklook();break;
case 5:Booksearch();break;
case 6: Memberadd();break;
case 7: Memberchange();break;
case 8:Bookborrow();break;
case 9:Bookreturn();break;
case 0:exit(0);break;
}
}while(1);
}
//************************1输入图书信息***********************//
void Bookfound()
{
FILE *fp=NULL;
book a;
char filename[20]="";
int h=1;
printf("\n为了存储图书信息请输入一个文件名.\n");
scanf("%s",filename);
if((fp=fopen(filename,"wb+"))==NULL)
{
printf("\ncan not open this file");
return;
}
printf("请输入书的信息\n");
printf("如过你输入的书号为0则表示输入结束了\n");
while(h<=size)
{
printf("请输入书号:\n");
scanf("%ld",&a.booknumber);
if(a.booknumber==0)
break;
printf("请输入书名:\n");
scanf("%s",a.bookname);
printf("请输入作者:\n");
scanf("%s",a.auther);
printf("请输入出版社:\n");
scanf("%s",a.press );
printf("请输入价格:\n");
scanf("%f",&a.price );
printf("请输入当前的数量:\n");
scanf("%d",&a.nownum);
printf("==================================\n");
if(fwrite(&a,sizeof(book),1,fp)!=1)
{
printf("write file %s fail",filename);
return;
}
h++;
}
fclose(fp);
printf("你输入书的信息已经成功存储在文件里了\n");
printf("输入文件的内容如下:\n");
if((fp=fopen(filename,"rb+"))==NULL)
{
printf("can not open the file.\n");
return;
}
printf("\n书号\t书名\t作者\t出版社\t价格\t数量\n");
while(fread(&a,sizeof(book),1,fp)!=0)
{
printf("\n%ld\t%s\t%s\t%s\t%f\t%d\n",a.booknumber,a.bookname,a.auther,a.press,a.price ,a.nownum );
}
fclose(fp);
}
//************************删除图书信息***********************//
void Bookdel()
{
int i;
long No;
book a;
book s[size];
int R;
char filename[30];
FILE *fp;
printf("\n请输入存放书的文件名.\n");
scanf("%s",filename);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("\ncan not open this file");
return;
}
printf("请输入你要删除的书号:\n");
scanf("%ld",&No);
printf("你要删除的书号为:%ld\n",No);
R=0;
while(fread(&a,sizeof(book),1,fp)!=0)
{
if(a.booknumber!=No)
{
s[R].booknumber=a.booknumber;
strcpy(s[R].bookname,a.bookname);
strcpy(s[R].auther,a.auther);
strcpy(s[R].press,a.press);
s[R].price =a.price;
s[R].nownum =a.nownum ;
R++;
}
}
fclose(fp);
if((fp=fopen(filename,"wb+"))==NULL)
{
printf("\ncan not open this file");
return;
}
for(i=0;i<R;i++)
{
if(fwrite(&s[i],sizeof(book),1,fp)!=1)
{
printf("write file %s fail",filename);
return;
}
}
fclose(fp);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("\ncan not open this file");
return;
}
printf("删除以后文件里的内容如下:\n");
printf("\n书号r\t书名\t作者\t出版社\t价格\t数量\n");
while(fread(&a,sizeof(book),1,fp)!=0)
{
if(a.booknumber!=0)
printf("\n%ld\t%s\t%s\t%s\t%f\t%d\n",a.booknumber,a.bookname,a.auther,a.press,a.price,a.nownum);
}
fclose(fp);
}
//************************增加图书信息***********************//
void Bookadd()
{
FILE *fp=NULL;
book a;
char filename[30];
int h=1;
printf("\n请输入存放书的文件名.\n");
scanf("%s",filename);
if((fp=fopen(filename,"a+"))==NULL)
{
printf("\ncan not open this file");
return;
}
printf("请输入你要添加的书的信息\n");
printf("如果你输入的书号为0,这表示输入结束\n");
while(h<=size)
{
printf("请输入书号\n");
scanf("%ld",&a.booknumber);
if(a.booknumber==0)
break;
printf("请输入书名:\n");
scanf("%s",a.bookname);
printf("请输入作者:\n");
scanf("%s",a.auther);
printf("请输入出版社:\n");
scanf("%s",a.press);
printf("请输入价格\n");
scanf("%f",&a.price);
printf("请输入当前的数量:\n");
scanf("%d",&a.nownum);
printf("==================================\n");
if(fwrite(&a,sizeof(book),1,fp)!=1)
{
printf("write file %s fail",filename);
return;
}
h++;
}
if(h>size)
printf("\n对不起,您的输入超量了");
fclose(fp);
printf("您输入的内容成功存储在文件中\n");
printf("内容如下:\n");
if((fp=fopen(filename,"rb"))==NULL)
{
printf("cannot open the file\n");
return;
}
printf("\n书号\t书名\t作者\t出版社\t价格\t数量\n");
while(fread(&a,sizeof(book),1,fp)!=0)
{
printf("\n%ld\t%s\t%s\t%s\t%f\t%d\n",a.booknumber,a.bookname,a.auther,a.press ,a.price,a.nownum );
}
fclose(fp);
}
//***********************按书名查询图书信息************************//
void Booklook()
{
FILE *fp;
book a;
char shum[20];
int result=0;
char filename[20];
printf("请输入您要查询的书名:\n");
scanf("%s",shum);
result=0;
printf("\n请输入存储书的文件名.\n");
scanf("%s",filename);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("\ncan not open this file.");
return;
}
while(feof(fp)==0)
{
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于c和c++课程设计-图书管理系统.rar (17个子文件)
Office礼包.png 309KB
c&c++课程设计-图书管理系统
图书管理系统.plg 1KB
图书管理系统.cpp 15KB
图书管理系统.ncb 33KB
图书管理系统.dsw 532B
Debug
图书管理系统.exe 220KB
vc60.pdb 44KB
图书管理系统.ilk 224KB
图书管理系统.pch 221KB
图书管理系统.obj 45KB
vc60.idb 33KB
图书管理系统.pdb 409KB
图书管理系统.opt 48KB
图书管理系统.dsp 3KB
更多资源免费获取.jpg 160KB
会声会影礼包.jpg 145KB
PS资源.jpg 175KB
共 17 条
- 1
资源评论
CyMylive.
- 粉丝: 7509
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 电气类117、变电站真实巡检电力设备检测数据集(7500多张+15类+YOLO格式txt标签)-第二部分
- 电气类、117.变电站真实巡检电力设备检测数据集(7500多张+15类+YOLO格式txt标签)-第一部分
- IMG_20180720_124347_01.jpg
- IMG20240621095811.jpg
- jQuery 库.docx
- 基于 C 实现的图像处理(BMP)课程设计
- ST MCSDK 6.3.0
- 基于 C++实现的虚拟航班订票系统【C++课程设计】
- 111111111111111111
- 海信智能电视刷机数据 LED43K5100U(0000) 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功