C语言图书馆管理系统源代码

2020-04-14 22:23

#include #include #include #include #include

typedef int BOOL;

typedef struct bookinfo {

char number[15];/*产品编号*/ char name[30];/*产品名称*/ float price;/*单价*/

char auther[20];/*作者*/ BOOL isExit;/*存在状态*/

char lendername[20];/*借书人姓名*/ char lendersex[2];/*借书人性别*/ char lendernum[15];/*借书人学号*/ }BOOKINFO;

void menu() {

printf(\

printf(\图书管理系统\\n\

printf(\新进图书基本信息的输入\\n\ printf(\显示全部记录\\n\

printf(\根据图书名称查询图书基本信息\\n\

printf(\根据图书名称对撤销的图书信息进行删除\\n\ printf(\按照图书名称从小大到排序\\n\ printf(\统计某价格以上的图书数量\\n\ printf(\列出所有未借出去的图书信息\\n\ printf(\退出\\n\ }

void choice_1_input_new()/*输入新进的图书信息*/ {

char choice; FILE *p;

BOOKINFO newbook;

system(\ while(1) {

printf(\输入图书编号:\

gets(newbook.number);

printf(\输入图书名称:\ gets(newbook.name);

printf(\输入图书单价:\ scanf(\ while(getchar()!='\\n');

printf(\输入图书的作者:\ gets(newbook.auther);

printf(\输入借书人姓名:\

gets(newbook.lendername);

printf(\输入借书人性别:\ gets(newbook.lendersex);

printf(\输入借书人学号:\ gets(newbook.lendernum);

printf(\是否保存该条书目?(Y/N)\\n\ choice=getch();

while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') choice=getch();

if(choice=='Y'||choice=='y') {

newbook.isExit=1;/*将图书状态设置成1,表示没有借出*/

p=fopen(\

fwrite(&newbook,sizeof(BOOKINFO),1,p); fclose(p);

printf(\该条书目已添加到c:\\\\bookinfo.data文件中!\\n\ } else {

printf(\本条书目未保存!\\n\ }

printf(\是否继续添加书目?(Y/N)\\n\ choice=getch();

while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') choice=getch();

if(choice=='Y'||choice=='y')

continue; else

break; } }

void choice_2_display_all()/*显示全部图书信息*/ {

FILE *p; int n;

BOOKINFO bookinfo[100]; int booknumber=0;

system(\

p=fopen(\ while(!feof(p)) {

fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; }

/*booknumber--;使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/ fclose(p); booknumber--; if(booknumber==0) {

printf(\没有任何图书信息!\\n\\n\ } else { n=0;

printf(\ 图书信息如下\\n\

printf(\ 图书信息 | 借书人信息 \\n\

printf(\编号 名称 单价 作者 图书状态 | 姓名 性别 学号\\n\

while(n

printf(\

bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,

bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,

bookinfo[n].lendersex,bookinfo[n].lendernum); n++;

} }

printf(\按任意键回到主菜单!\\n\ getch(); }

void choice_3_search_according_name()/*根据图书名称显示图书的信息*/ {

char search[20]=\用来存放要查询的书名*/ int n; FILE *p; char choice;

BOOKINFO bookinfo[100]; int booknumber=0;

system(\

p=fopen(\ while(!feof(p)) {

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\

printf(\

bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,

bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,

bookinfo[n].lendersex,bookinfo[n].lendernum); break; }

if(n>=booknumber)

printf(\没有查找该书的任何信息!\\n\ printf(\是否继续查询?(Y/N)\\n\ choice=getch();

while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') choice=getch();

if(choice=='Y'||choice=='y') continue; else

break;

}/*else结束*/ }/*while(1)结束*/ }

void choice_4_delete_according_name()/*根据图书名称对图书信息进行删除*/ {

char search[20]=\用来存放要删除的书名*/ int n,i; FILE *p; char choice;

BOOKINFO bookinfo[100]; int booknumber;

system(\ while(1) {

printf(\输入要删除的书本名称:\ gets(search);

p=fopen(\ booknumber=0; while(!feof(p)) {

fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; }


C语言图书馆管理系统源代码.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:幼儿教育学练习题1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: