C语言图书管理系统代码.docx
- 文档编号:2219414
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:29
- 大小:27.22KB
C语言图书管理系统代码.docx
《C语言图书管理系统代码.docx》由会员分享,可在线阅读,更多相关《C语言图书管理系统代码.docx(29页珍藏版)》请在冰豆网上搜索。
#include
#include
#include
#include
#include
#include
typedefintBOOL;
typedefstructbookinfo//将bookinfo类型定义为BOOKINFO
{
charnumber[15];/*产品编号*/
charname[30];/*产品名称*/
floatprice;/*单价*/
charauther[20];/*作者*/
BOOLisExit;/*存在状态*/
charsort[20];/*书籍类别*/
charpublished[30];/*出版社*/
intbookcount;/*剩余书籍数量*/
}BOOKINFO;
structbookinfobook[1000];
typedefstructstudent/*借书卡的数据类型*/
{
intstudentnum;//学号
intcardnum;//卡号
charstudentname[10];//会员姓名
charstudentclass[10];//会员班级
charlendbook[10];
intcount;//借书数组最多借书十本
charbookname[11][10];//存放书名
}student;
studentcard[1000];//定义借书卡数组
charaa[6]={"123456"},kk[6]={"654321"};//初始化密码
voidinput_newp()/*输入新用户信息*/
{
inti;
charchoice;
FILE*a;
studentnewp;
system("cls");
while
(1)
{
newp.count=0;//初始化计数器
for(i=0;i<11;i++)//初始化借书名称
newp.bookname[i][0]='\0';
printf("输入学号:
");
scanf("%d",&newp.studentnum);
fflush(stdin);
printf("输入卡号:
");
scanf("%d",&newp.cardnum);
fflush(stdin);
printf("输入学员姓名:
");
gets(newp.studentname);
fflush(stdin);
printf("输入学员班级:
");
gets(newp.studentclass);
fflush(stdin);
printf("是否保存该条信息?
(Y/N)\n");
choice=getch();
while(choice!
='Y'&&choice!
='y'&&choice!
='N'&&choice!
='n')
{
printf("请输入Y或y或N或n\n");
choice=getch();
}
if(choice=='Y'||choice=='y')
{
a=fopen("c:
\\card.txt","ab");
fwrite(&newp,sizeof(student),1,a);
fclose(a);
printf("\n该用户已添加到c:
\\card.txt文件中!
\n");
}
else
{
printf("\n改用户资料未保存!
\n");
}
printf("\n是否继续添加用户?
(Y/N)\n");
choice=getch();
while(choice!
='Y'&&choice!
='y'&&choice!
='N'&&choice!
='n')
{
printf("请输入Y或y或N或n\n");
choice=getch();
}
if(choice=='Y'||choice=='y')
continue;
else
break;
}
}
voidinput_new()/*输入新进的图书信息*/
{
charchoice;
FILE*a;
BOOKINFOnewbook;
system("cls");
while
(1)
{
fflush(stdin);//清除文件缓冲区
printf("输入书籍编号:
");
gets(newbook.number);
printf("输入书籍名称:
");
gets(newbook.name);
printf("输入书籍单价:
");
scanf("%f",&newbook.price);
while(getchar()!
='\n');
printf("输入书籍的作者:
");
gets(newbook.auther);
printf("输入书籍的出版社:
");
gets(newbook.published);
printf("输入书籍的类别:
");
gets(newbook.sort);
printf("输入书籍的数量:
");
scanf("%d",&newbook.bookcount);
printf("是否保存该条书目?
(Y/N)\n");
choice=getch();
while(choice!
='Y'&&choice!
='y'&&choice!
='N'&&choice!
='n')
{
printf("请输入Y或y或N或n\n");
choice=getch();
}
if(choice=='Y'||choice=='y')
{
newbook.isExit=1;/*将图书状态设置成1,表示没有借出*/
a=fopen("c:
\\bookinfo.data","ab");
fwrite(&newbook,sizeof(BOOKINFO),1,a);
fclose(a);
printf("\n该条书目已添加到c:
\\bookinfo.data文件中!
\n");
}
else
{
printf("\n本条书目未保存!
\n");
}
printf("\n是否继续添加书目?
(Y/N)\n");
choice=getch();
while(choice!
='Y'&&choice!
='y'&&choice!
='N'&&choice!
='n')
{
printf("请输入Y或y或N或n\n");
choice=getch();
}
if(choice=='Y'||choice=='y')
continue;
else
break;
}
}
voidsearch_according_name()/*根据图书名称显示图书的信息*/
{
charsearch[20]="";/*search用来存放要查询的书名*/
intn;
FILE*p;
charchoice;
BOOKINFObookinfo[100];
intbooknumber=0;
system("cls");
p=fopen("c:
\\bookinfo.data","rb");
while(!
feof(p))
{
fflush(stdin);//清除文件缓冲区
fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);
booknumber++;
}
booknumber--;/*使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/
fclose(p);
while
(1)
{
printf("输入要查询的书本名称:
");
gets(search);
if(booknumber==0)
{
printf("书库中没有任何信息!
\n\n");
printf("按任意键回到主菜单!
\n\n");
getch();
break;
}/*if结束*/
else
{
for(n=0;n if(strcmp(bookinfo[n].name,search)==0) { printf("该书的详细信息如下: \n"); printf("图书信息\n"); printf("编号名称单价作者图书状态出版社类别剩余书籍\n"); break; } for(n=0;n if(strcmp(bookinfo[n].name,search)==0) { printf("%-6s%-12s%-8.1f%-8s%-8d%-16s%-8s%-6d\n", bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, bookinfo[n].sort,bookinfo[n].bookcount); } if(n>=booknumber) printf("没有查找该书的任何信息! \n"); printf("\n\n是否继续查询? (Y/N)\n"); choice=getch(); while(choice! ='Y'&&choice! ='y'&&choice! ='N'&&choice! ='n') { printf("请输入Y或y或N或n\n"); choice=getch(); } if(choice=='Y'||choi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 图书 管理 系统 代码