您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C语言图书管理系统代码
#includestdio.h#includestdlib.h/*清屏函数*/#includetime.h#includestring.h#includeconio.h#includewindows.htypedefintBOOL;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;i11;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;elsebreak;}}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;elsebreak;}}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;nbooknumber;n++)if(strcmp(bookinfo[n].name,search)==0){printf(该书的详细信息如下:\n);printf(图书信息\n);printf(编号名称单价作者图书状态出版社类别剩余书籍\n);break;}for(n=0;nbooknumber;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'||choice=='y')continue;elsebreak;}/*else结束*/}/*while(1)结束*/}voidsearch_according_auther()/*根据图书作者显示图书的信息*/{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;nbooknumber;n++)if(strcmp(bookinfo[n].name,search)==0){printf(该书的详细信息如下:\n);printf(图书信息\n);printf(编号名称单价作者图书状态出版社类别剩余书籍\n);break;}for(n=0;nbooknumber;n++)if(strcmp(bookinfo[n].auther,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'||choice=='y')continue;elsebreak;}/*else结束*/}/*while(1)结束*/}voidsearch_according_sort()/*根据图书类别显示图书的信息*/{charsearch[20]=;/*search用来存放要查询的类别*/intn;FILE*p;charchoice;BOOKINFObookinfo[100];intbooknumber=0;system(cls);p=fopen(c:\\bookinfo.data,rb);while(!feof(p)){fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);booknumber++;}bookn
本文标题:C语言图书管理系统代码
链接地址:https://www.777doc.com/doc-3203185 .html