c语言图书管理系统附源码是一款由C语言编写的图书管理系统,它是由吾爱论坛网友分享提供的,对于学习C语言的朋友可以借鉴参考学习代码的编写,这也是在大学里初学C语言经常会遇到的课题,欢迎大家下载学习。
猜测大一的同学只要是学习C语言的应该最后都会有课程设计,我们一组当时分配到的题目是写图书馆管理系统。
系统并不是很完善,只是实现功能,望大佬勿喷。
其中程序的主要贡献者是我舍友范同学(Robin),我是负责了其中一部分函数。
为了在课上方便演示,我们把所有的代码全都放到一个源文件里了。
这里把源代码给大家供大家参考。
大家在查看图书信息之前一定要先导入信息(也就是7号功能),不然是读取不到的,导入之前提前在盘符准备好图书 .txt 文件。
管理员账户密码皆为admin(学习C语言的朋友应该都懂)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
//由506小组编写
struct account
{
char name[10],password[10];
} user[2]= {{"admin","admin"},{"Robin","000000"}};
void gotoxy(int x,int y)
{
COORD pos;
pos.X=x;
pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
int color(int c)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
return 0;
}
struct book //定义结构体类型
{
char no[50]; //书号
char name[50]; //书名
char publishday[50]; //出版日期
char chapt[50]; //类别
char writer[50]; //作者
char index[50]; //借阅标记
int repeat; //借阅次数
char add[50]; //备份
} booknum[100];
struct temp
{
char no[50]; //书号
char name[50]; //书名
char publishday[50]; //出版日期
char chapt[50]; //类别
char writer[50]; //作者
char index[50]; //借阅标记
int repeat; //借阅次数
char add[50];
} tempbook;
int i=0;
void menu();
void menu2();
void log_in() //输入并验证账户名
{
char a[10]= {0},b[10]= {0};
int j=-1;
reput:
printf("账户名:");
color(11);
scanf("%s",a);
if(strcmp(a,user[0].name)==0)
j=0;
else if(strcmp(a,user[1].name)==0)
j=1;
else
{
color(7);
printf("请重新输入!\n");
goto reput;
}
color(7);
reput2:
printf("密码:");
color(11);
for(int k=0; k<10;)
{
b[k]=getch();
if(b[k]!=13&&b[k]!='\b')
{
printf("*");
k++;
}
else if(b[k]=='\b'&&k>0)
{
printf("\b \b");
k--;
}
else if(k<=0)
printf("\a");
else
{
b[k]='\0';
break;
}
}
if(strcmp(b,user[j].password)!=0)
{
color(7);
printf("\n请重新输入!\n");
goto reput2;
}
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("欢迎您,管理员%s"),a);
MessageBox(NULL,szMsg,"登录成功",MB_OK);
}
void enter()
{
system("cls");
if(IDCANCEL==MessageBox(NULL,"您是否想添加新图书信息","新图书信息录入确认",MB_OKCANCEL))
return menu();
color(11);
redo:
system("cls");
printf("请输入新录入的图书数量:");
int n;
if(!scanf("%d",&n))
{
MessageBox(NULL,"输入有误,请重新输入","Error",MB_OK|MB_ICONEXCLAMATION);
fflush(stdin);
goto redo;
}
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("您要新录入的图书数量是%d本"),n);
if(IDNO==MessageBox(NULL,szMsg,"录入图书数量确认",MB_YESNO|MB_ICONQUESTION))
goto redo;
system("cls");
int j=1;
while(n--)
{
color(7);
printf("这是您新添加的第%d本书\n",j);
color(15);
printf("图书总数:%d本\n",i);
color(13);
printf("请输入书号:");
scanf("%s",booknum[i].no);
color(12);
printf("请输入书名:");
scanf("%s",booknum[i].name);
color(14);
printf("请输入出版日期:");
scanf("%s",booknum[i].publishday);
color(10);
printf("请输入类别:");
scanf("%s",booknum[i].chapt);
color(11);
printf("请输入作者:");
scanf("%s",booknum[i].writer);
color(3);
printf("请输入借阅标记:");
scanf("%s",booknum[i].index);
color(9);
printf("请输入借阅次数:");
scanf("%d",&booknum[i].repeat);
color(5);
printf("请输入备份:");
scanf("%s",booknum[i].add);
color(15);
printf("您添加的第%d本书的信息为:\n",j++);
printf("书号:%s\n",booknum[i].no);
printf("书名:%s\n",booknum[i].name);
printf("出版日期:%s\n",booknum[i].publishday);
printf("类别:%s\n",booknum[i].chapt);
printf("作者:%s\n",booknum[i].writer);
printf("借阅标记:%s\n",booknum[i].index);
printf("借阅次数:%d\n",booknum[i].repeat);
printf("备注:%s\n\n",booknum[i].add);
i++;
}
getchar();
system("cls");
return menu();
}
void print()
{
system("cls");
if(i==0)
{
MessageBox(NULL,"您的图书信息为空!","系统信息不足",MB_OK|MB_ICONEXCLAMATION);
goto go;
}
for(int j=0,k=-1; j<i; j++)
{
color(15);
gotoxy(0,++k);
printf("这是您添加的第%d本书\n",j+1);
color(13);
gotoxy(0,++k);
printf("书号:%s",booknum[j].no);
color(12);
gotoxy(20,k);
printf("书名:%s",booknum[j].name);
color(14);
gotoxy(0,++k);
printf("出版日期:%s",booknum[j].publishday);
color(10);
gotoxy(20,k);
printf("类别:%s",booknum[j].chapt);
color(11);
gotoxy(0,++k);
printf("作者:%s",booknum[j].writer);
color(3);
gotoxy(20,k);
printf("借阅标记:%s",booknum[j].index);
color(9);
gotoxy(0,++k);
printf("借阅次数:%d",booknum[j].repeat);
color(5);
gotoxy(20,k);
printf("备注:%s\n",booknum[j].add);
}
getchar();
getchar();
go:
system("cls");
return menu();
}
void print2()
{
system("cls");
if(i==0)
{
MessageBox(NULL,"您的图书信息为空!","系统信息不足",MB_OK|MB_ICONEXCLAMATION);
goto go;
}
for(int j=0,k=-1; j<i; j++)
{
color(15);
gotoxy(0,++k);
printf("这是您添加的第%d本书\n",j+1);
color(13);
gotoxy(0,++k);
printf("书号:%s",booknum[j].no);
color(12);
gotoxy(20,k);
printf("书名:%s",booknum[j].name);
color(14);
gotoxy(0,++k);
printf("出版日期:%s",booknum[j].publishday);
color(10);
gotoxy(20,k);
printf("类别:%s",booknum[j].chapt);
color(11);
gotoxy(0,++k);
printf("作者:%s",booknum[j].writer);
color(3);
gotoxy(20,k);
printf("借阅标记:%s",booknum[j].index);
color(9);
gotoxy(0,++k);
printf("借阅次数:%d",booknum[j].repeat);
color(5);
gotoxy(20,k);
printf("备注:%s\n",booknum[j].add);
}
getchar();
getchar();
go:
system("cls");
return menu2();
}
void search()
{
system("cls");
recheck:
printf("请输入您要查找的书号:");
char no[150];
scanf("%s",no);
if(i==0)
{
MessageBox(NULL,"您尚未输入任何图书信息!","系统信息不足",MB_OK|MB_ICONEXCLAMATION);
goto go;
}
for(int j=0; j<i; j++)
{
if(strcmp(no,booknum[j].no)==0)
{
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("书号:%s 书名:%s\n出版日期:%s 类别:%s\n作者:%s 借阅标记:%s\n借阅次数:%d 备注:%s\n"),booknum[j].no,booknum[j].name,booknum[j].publishday,booknum[j].chapt,booknum[j].writer,booknum[j].index,booknum[j].repeat,booknum[j].add);
MessageBox(NULL,szMsg,"查询结果",MB_OK);
break;
}
else if(j==i-1)
{
MessageBox(NULL,"未查询到该图书!","查询结果",MB_OK);
if(IDNO==MessageBox(NULL,"您是否要重新输入?","重新查询确认",MB_YESNO|MB_ICONQUESTION))
goto recheck;
}
}
go:
system("cls");
return menu();
}
void search2()
{
system("cls");
recheck:
printf("请输入您要查找的书号:");
char no[50];
scanf("%s",no);
if(i==0)
{
MessageBox(NULL,"您尚未输入任何图书信息!","系统信息不足",MB_OK|MB_ICONEXCLAMATION);
goto go;
}
for(int j=0; j<i; j++)
{
if(strcmp(no,booknum[j].no)==0)
{
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("书号:%s 书名:%s\n出版日期:%s 类别:%s\n作者:%s 借阅标记:%s\n借阅次数:%d 备注:%s\n"),booknum[j].no,booknum[j].name,booknum[j].publishday,booknum[j].chapt,booknum[j].writer,booknum[j].index,booknum[j].repeat,booknum[j].add);
MessageBox(NULL,szMsg,"查询结果",MB_OK);
break;
}
else if(j==i-1)
{
MessageBox(NULL,"未查询到该图书!","查询结果",MB_OK);
if(IDNO==MessageBox(NULL,"您是否要重新输入?","重新查询确认",MB_YESNO|MB_ICONQUESTION))
goto recheck;
}
}
go:
system("cls");
return menu2();
}
void insert()
{
int n;
redo:
system("cls");
printf("请输入新图书插入的位置:");
if(!scanf("%d",&n))
{
MessageBox(NULL,"输入有误,请重新输入","Error",MB_OK|MB_ICONEXCLAMATION);
fflush(stdin);
goto redo;
}
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("您是否在%d位置插入新录入的图书数量"),n);
if(IDNO==MessageBox(NULL,szMsg,"插入位置确认",MB_YESNO|MB_ICONQUESTION))
goto redo;
printf("请输入你要插入的图书信息\n");
color(13);
printf("请输入书号:");
scanf("%s",tempbook.no);
color(12);
printf("请输入书名:");
scanf("%s",tempbook.name);
color(14);
printf("请输入出版日期:");
scanf("%s",tempbook.publishday);
color(10);
printf("请输入类别:");
scanf("%s",tempbook.chapt);
color(11);
printf("请输入作者:");
scanf("%s",tempbook.writer);
color(3);
printf("请输入借阅标记:");
scanf("%s",tempbook.index);
color(9);
printf("请输入借阅次数:");
scanf("%d",&tempbook.repeat);
color(5);
printf("请输入备份:");
scanf("%s",tempbook.add);
for(int j=i,k=i+1; j>=n-1; j--,k--)
{
strcpy(booknum[k].no,booknum[j].no);
strcpy(booknum[k].name,booknum[j].name);
strcpy(booknum[k].publishday,booknum[j].publishday);
strcpy(booknum[k].chapt,booknum[j].chapt);
strcpy(booknum[k].writer,booknum[j].writer);
strcpy(booknum[k].index,booknum[j].index);
booknum[k].repeat=booknum[j].repeat;
strcpy(booknum[k].add,booknum[j].add);
}
strcpy(booknum[n-1].no,tempbook.no);
strcpy(booknum[n-1].name,tempbook.name);
strcpy(booknum[n-1].publishday,tempbook.publishday);
strcpy(booknum[n-1].chapt,tempbook.chapt);
strcpy(booknum[n-1].writer,tempbook.writer);
strcpy(booknum[n-1].index,tempbook.index);
booknum[n-1].repeat=tempbook.repeat;
strcpy(booknum[n-1].add,tempbook.add);
i++;
printf("新图书信息插入成功!\n");
system("cls");
return menu();
}
void del()
{
char no[50];
int delname=-1;
redo:
system("cls");
MessageBox(NULL,"返回主菜单,请输入0","特别提示",MB_OK|MB_ICONEXCLAMATION);
printf("请输入要删除的图书书号:");
scanf("%s",no);
if(strcmp(no,"0")==0)
{
system("cls");
return menu();
}
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("您是否要删除书号为%s的图书"),no);
if(IDNO==MessageBox(NULL,szMsg,"删除图书信息确认",MB_YESNO|MB_ICONQUESTION))
goto redo;
if(i==0)
{
MessageBox(NULL,"您的图书信息为空!","系统信息不足",MB_OK|MB_ICONEXCLAMATION);
system("cls");
return menu();
}
for(int j=0; j<i; j++)
{
if(strcmp(no,booknum[j].no)==0)
{
delname=j;
break;
}
else if(j==i-1)
{
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("未找到书号为%s的图书\n请核实后重新输入!"),no);
if(IDOK==MessageBox(NULL,szMsg,"输入信息有误",MB_OKCANCEL|MB_ICONEXCLAMATION))
goto redo;
}
}
if(delname!=-1)
{
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("书号:%s 书名:%s\n出版日期:%s 类别:%s\n作者:%s 借阅标记:%s\n借阅次数:%d 备注:%s\n您确定要删除该图书吗?"),booknum[delname].no,booknum[delname].name,booknum[delname].publishday,booknum[delname].chapt,booknum[delname].writer,booknum[delname].index,booknum[delname].repeat,booknum[delname].add);
if(IDYES==MessageBox(NULL,szMsg,"删除确认",MB_YESNO|MB_ICONEXCLAMATION))
{
for(int j=delname+1,k=delname; j!=i; j++,k++)
{
strcpy(booknum[k].no,booknum[j].no);
strcpy(booknum[k].name,booknum[j].name);
strcpy(booknum[k].publishday,booknum[j].publishday);
strcpy(booknum[k].chapt,booknum[j].chapt);
strcpy(booknum[k].writer,booknum[j].writer);
strcpy(booknum[k].index,booknum[j].index);
booknum[k].repeat=booknum[j].repeat;
strcpy(booknum[k].add,booknum[j].add);
}
if(delname==i)
{
strcpy(booknum[delname].no,0);
strcpy(booknum[delname].name,0);
strcpy(booknum[delname].publishday,0);
strcpy(booknum[delname].chapt,0);
strcpy(booknum[delname].writer,0);
strcpy(booknum[delname].index,0);
booknum[delname].repeat=0;
strcpy(booknum[delname].add,0);
}
i--;
}
else if(IDNO==MessageBox(NULL,szMsg,"删除确认",MB_YESNOCANCEL|MB_ICONEXCLAMATION))
{
goto redo;
}
else
goto finish;
}
finish:
return menu();
}
void save()
{
system("cls");
int n;
FILE *fp;
fp = fopen("D:/Book.txt","w");
for (int j=0; j<i; j++)
{
fprintf(fp,"%s ",booknum[j].no);
fprintf(fp,"%s ",booknum[j].name);
fprintf(fp,"%s ",booknum[j].publishday);
fprintf(fp,"%s ",booknum[j].chapt);
fprintf(fp,"%s ",booknum[j].writer);
fprintf(fp,"%s ",booknum[j].index);
fprintf(fp,"%d ",booknum[j].repeat);
fprintf(fp,"%s ",booknum[j].add);
}
fclose(fp);
MessageBox(NULL,"信息保存成功","Sucessful",MB_OK|MB_ICONEXCLAMATION);
system("cls");
return menu();
}
void load()
{
system("cls");
if(i!=0)
i=0;
FILE *fp;
fp=fopen("D:/Book.txt","r");
while(!feof(fp))
{
fscanf(fp,"%s ",booknum[i].no);
fscanf(fp,"%s ",booknum[i].name);
fscanf(fp,"%s ",booknum[i].publishday);
fscanf(fp,"%s ",booknum[i].chapt);
fscanf(fp,"%s ",booknum[i].writer);
fscanf(fp,"%s ",booknum[i].index);
fscanf(fp,"%d ",&booknum[i].repeat);
fscanf(fp,"%s ",booknum[i].add);
i++;
}
fclose(fp);
MessageBox(NULL,"图书信息读取完毕","图书信息",MB_OK);
system("cls");
return menu();
}
void load2()
{
system("cls");
if(i!=0)
i=0;
FILE *fp;
fp=fopen("D:/Book.txt","r");
while(!feof(fp))
{
fscanf(fp,"%s ",booknum[i].no);
fscanf(fp,"%s ",booknum[i].name);
fscanf(fp,"%s ",booknum[i].publishday);
fscanf(fp,"%s ",booknum[i].chapt);
fscanf(fp,"%s ",booknum[i].writer);
fscanf(fp,"%s ",booknum[i].index);
fscanf(fp,"%d ",&booknum[i].repeat);
fscanf(fp,"%s ",booknum[i].add);
i++;
}
fclose(fp);
MessageBox(NULL,"图书信息读取完毕","图书信息",MB_OK);
system("cls");
return menu2();
}
void sort()
{
MessageBox(NULL,"目前仅支持按照书号和借阅次数两种方式排序\n书号请输入A,借阅次数请输入B","特别提醒",MB_OK|MB_ICONEXCLAMATION);
forward:
system("cls");
printf("请输入图书信息排序依据:");
char a[10];
scanf("%s",a);
if(strcmp(a,"A")==0)
{
redo1:system("cls");
printf("请输入排序方式(升序或降序):");
scanf("%s",a);
if(strcmp(a,"升序")==0)
{
for(int j=0; j<i; j++)
{
for(int k=j+1; k<i; k++)
{
if(strcmp(booknum[j].no,booknum[k].no)>0)
{
strcpy(tempbook.no,booknum[j].no);
strcpy(booknum[j].no,booknum[k].no);
strcpy(booknum[k].no,tempbook.no);
strcpy(tempbook.name,booknum[j].name);
strcpy(booknum[j].name,booknum[k].name);
strcpy(booknum[k].name,tempbook.name);
strcpy(tempbook.publishday,booknum[j].publishday);
strcpy(booknum[j].publishday,booknum[k].publishday);
strcpy(booknum[k].publishday,tempbook.publishday);
strcpy(tempbook.chapt,booknum[j].chapt);
strcpy(booknum[j].chapt,booknum[k].chapt);
strcpy(booknum[k].chapt,tempbook.chapt);
strcpy(tempbook.writer,booknum[j].writer);
strcpy(booknum[j].writer,booknum[k].writer);
strcpy(booknum[k].writer,tempbook.writer);
strcpy(tempbook.index,booknum[j].index);
strcpy(booknum[j].index,booknum[k].index);
strcpy(booknum[k].index,tempbook.index);
tempbook.repeat=booknum[j].repeat;
booknum[j].repeat=booknum[k].repeat;
booknum[k].repeat=tempbook.repeat;
strcpy(tempbook.add,booknum[j].add);
strcpy(booknum[j].add,booknum[k].add);
strcpy(booknum[k].add,tempbook.add);
}
}
}
}
else if(strcmp(a,"降序")==0)
{
for(int j=0; j<i; j++)
{
for(int k=j+1; k<i; k++)
{
if(strcmp(booknum[j].no,booknum[k].no)<0)
{
strcpy(tempbook.no,booknum[j].no);
strcpy(booknum[j].no,booknum[k].no);
strcpy(booknum[k].no,tempbook.no);
strcpy(tempbook.name,booknum[j].name);
strcpy(booknum[j].name,booknum[k].name);
strcpy(booknum[k].name,tempbook.name);
strcpy(tempbook.publishday,booknum[j].publishday);
strcpy(booknum[j].publishday,booknum[k].publishday);
strcpy(booknum[k].publishday,tempbook.publishday);
strcpy(tempbook.chapt,booknum[j].chapt);
strcpy(booknum[j].chapt,booknum[k].chapt);
strcpy(booknum[k].chapt,tempbook.chapt);
strcpy(tempbook.writer,booknum[j].writer);
strcpy(booknum[j].writer,booknum[k].writer);
strcpy(booknum[k].writer,tempbook.writer);
strcpy(tempbook.index,booknum[j].index);
strcpy(booknum[j].index,booknum[k].index);
strcpy(booknum[k].index,tempbook.index);
tempbook.repeat=booknum[j].repeat;
booknum[j].repeat=booknum[k].repeat;
booknum[k].repeat=tempbook.repeat;
strcpy(tempbook.add,booknum[j].add);
strcpy(booknum[j].add,booknum[k].add);
strcpy(booknum[k].add,tempbook.add);
}
}
}
}
else
{
MessageBox(NULL,"您输入的信息有误\n请重新输入","Error",MB_OK|MB_ICONEXCLAMATION);
goto redo1;
}
}
else if(strcmp(a,"B")==0)
{
redo2:system("cls");
printf("请输入排序方式(升序或降序):");
scanf("%s",a);
if(strcmp(a,"升序")==0)
{
for(int j=0; j<i; j++)
{
for(int k=j+1; k<i; k++)
{
if(booknum[j].repeat>booknum[k].repeat)
{
strcpy(tempbook.no,booknum[j].no);
strcpy(booknum[j].no,booknum[k].no);
strcpy(booknum[k].no,tempbook.no);
strcpy(tempbook.name,booknum[j].name);
strcpy(booknum[j].name,booknum[k].name);
strcpy(booknum[k].name,tempbook.name);
strcpy(tempbook.publishday,booknum[j].publishday);
strcpy(booknum[j].publishday,booknum[k].publishday);
strcpy(booknum[k].publishday,tempbook.publishday);
strcpy(tempbook.chapt,booknum[j].chapt);
strcpy(booknum[j].chapt,booknum[k].chapt);
strcpy(booknum[k].chapt,tempbook.chapt);
strcpy(tempbook.writer,booknum[j].writer);
strcpy(booknum[j].writer,booknum[k].writer);
strcpy(booknum[k].writer,tempbook.writer);
strcpy(tempbook.index,booknum[j].index);
strcpy(booknum[j].index,booknum[k].index);
strcpy(booknum[k].index,tempbook.index);
tempbook.repeat=booknum[j].repeat;
booknum[j].repeat=booknum[k].repeat;
booknum[k].repeat=tempbook.repeat;
strcpy(tempbook.add,booknum[j].add);
strcpy(booknum[j].add,booknum[k].add);
strcpy(booknum[k].add,tempbook.add);
}
}
}
}
else if(strcmp(a,"降序")==0)
{
for(int j=0; j<i; j++)
{
for(int k=j+1; k<i; k++)
{
if(booknum[j].repeat<booknum[k].repeat)
{
strcpy(tempbook.no,booknum[j].no);
strcpy(booknum[j].no,booknum[k].no);
strcpy(booknum[k].no,tempbook.no);
strcpy(tempbook.name,booknum[j].name);
strcpy(booknum[j].name,booknum[k].name);
strcpy(booknum[k].name,tempbook.name);
strcpy(tempbook.publishday,booknum[j].publishday);
strcpy(booknum[j].publishday,booknum[k].publishday);
strcpy(booknum[k].publishday,tempbook.publishday);
strcpy(tempbook.chapt,booknum[j].chapt);
strcpy(booknum[j].chapt,booknum[k].chapt);
strcpy(booknum[k].chapt,tempbook.chapt);
strcpy(tempbook.writer,booknum[j].writer);
strcpy(booknum[j].writer,booknum[k].writer);
strcpy(booknum[k].writer,tempbook.writer);
strcpy(tempbook.index,booknum[j].index);
strcpy(booknum[j].index,booknum[k].index);
strcpy(booknum[k].index,tempbook.index);
tempbook.repeat=booknum[j].repeat;
booknum[j].repeat=booknum[k].repeat;
booknum[k].repeat=tempbook.repeat;
strcpy(tempbook.add,booknum[j].add);
strcpy(booknum[j].add,booknum[k].add);
strcpy(booknum[k].add,tempbook.add);
}
}
}
}
else
{
MessageBox(NULL,"您输入的信息有误\n请重新输入","Error",MB_OK|MB_ICONEXCLAMATION);
goto redo2;
}
}
else
{
MessageBox(NULL,"您输入的信息有误\n请重新输入","Error",MB_OK|MB_ICONEXCLAMATION);
goto forward;
}
system("cls");
MessageBox(NULL,"排序成功","Success",MB_OK|MB_ICONEXCLAMATION);
return menu();
}
void modify()
{
redo:
system("cls");
char a[50];
int cc;
printf("请输入你要修改的图书书号:");
scanf("%s",a);
for(int j=0; j<i; j++)
{
if(strcmp(booknum[j].no,a)==0)
{
cc=j;
break;
}
else if(j==i-1)
{
MessageBox(NULL,"您输入的信息有误","Error",MB_OK|MB_ICONEXCLAMATION);
if(IDYES==MessageBox(NULL,"是否重新输入","重新输入确认",MB_YESNO|MB_ICONQUESTION))
goto redo;
else
menu();
}
}
forward:
system("cls");
int k=-1;
color(13);
gotoxy(0,++k);
printf("书号:%s",booknum[cc].no);
color(12);
gotoxy(20,k);
printf("书名:%s",booknum[cc].name);
color(14);
gotoxy(0,++k);
printf("出版日期:%s",booknum[cc].publishday);
color(10);
gotoxy(20,k);
printf("类别:%s",booknum[cc].chapt);
color(11);
gotoxy(0,++k);
printf("作者:%s",booknum[cc].writer);
color(3);
gotoxy(20,k);
printf("借阅标记:%s",booknum[cc].index);
color(9);
gotoxy(0,++k);
printf("借阅次数:%d",booknum[cc].repeat);
color(5);
gotoxy(20,k);
printf("备注:%s\n",booknum[cc].add);
color(15);
MessageBox(NULL,"返回主菜单,请输入0","特别提示",MB_OK|MB_ICONEXCLAMATION);
printf("请输入你要修改的图书信息:");
scanf("%s",a);
if(strcmp(a,"0")==0)
{
system("cls");
return menu();
}
else if(strcmp(a,"书号")==0)
{
printf("请输入新书号:");
scanf("%s",tempbook.no);
strcpy(booknum[cc].no,tempbook.no);
MessageBox(NULL,"图书信息已修改","Success",MB_OK);
}
else if(strcmp(a,"书名")==0)
{
printf("请输入新书名:");
scanf("%s",tempbook.name);
strcpy(booknum[cc].name,tempbook.name);
MessageBox(NULL,"图书信息已修改","Success",MB_OK);
}
else if(strcmp(a,"出版日期")==0)
{
printf("请输入新出版日期:");
scanf("%s",tempbook.publishday);
strcpy(booknum[cc].publishday,tempbook.publishday);
MessageBox(NULL,"图书信息已修改","Success",MB_OK);
}
else if(strcmp(a,"类别")==0)
{
printf("请输入新类别:");
scanf("%s",tempbook.chapt);
strcpy(booknum[cc].chapt,tempbook.chapt);
MessageBox(NULL,"图书信息已修改","Success",MB_OK);
}
else if(strcmp(a,"借阅标记")==0)
{
printf("请输入新借阅标记:");
scanf("%s",tempbook.index);
strcpy(booknum[cc].index,tempbook.index);
MessageBox(NULL,"图书信息已修改","Success",MB_OK);
}
else if(strcmp(a,"借阅次数")==0)
{
printf("请输入新借阅次数:");
scanf("%s",tempbook.repeat);
booknum[cc].repeat=tempbook.repeat;
MessageBox(NULL,"图书信息已修改","Success",MB_OK);
}
else if(strcmp(a,"备注")==0)
{
printf("请输入新备注:");
scanf("%s",tempbook.add);
strcpy(booknum[cc].add,tempbook.add);
MessageBox(NULL,"图书信息已修改","Success",MB_OK);
}
else
{
MessageBox(NULL,"您输入的信息有误\n请重新输入","Error",MB_OK|MB_ICONEXCLAMATION);
goto forward;
}
system("cls");
return menu();
}
void esc2()
{
MessageBox(NULL,"您已安全退出,期待您的下次使用","系统退出成功",MB_OK|MB_ICONEXCLAMATION);
system("cls");
gotoxy(40,10);
color(12);
printf("请按任意键退出\n");
exit(0);
}
void esc1()
{
MessageBox(NULL,"期待你的下次使用","系统退出成功",MB_OK|MB_ICONEXCLAMATION);
system("cls");
gotoxy(40,10);
color(12);
printf("请按任意键退出\n");
exit(0);
}
int num()
{
color(7);
printf("请输入相应数字进行相应操作< >\n");
int b;
gotoxy(27,13);
scanf("%d",&b);
return b;
}
int num2()
{
color(7);
printf("请输入相应数字进行相应操作< >\n");
int b;
gotoxy(27,2);
scanf("%d",&b);
return b;
}
void function(int b)
{
if(b==1)
enter();
else if(b==2)
print();
else if(b==3)
search();
else if(b==4)
insert();
else if(b==5)
del();
else if(b==6)
save();
else if(b==7)
load();
else if(b==8)
sort();
else if(b==9)
modify();
else if(b==0)
esc2();
else
{
MessageBox(NULL,"您的输入有误,请重新输入","输入有误",MB_OK|MB_ICONEXCLAMATION);
system("cls");
menu();
}
}
void menu()
{
gotoxy(24,4);
color(12);
printf("1、添加图书信息 2、查看图书信息");
gotoxy(24,6);
color(14);
printf("3、查找图书信息 4、插入图书信息");
gotoxy(24,8);
color(10);
printf("5、删除图书信息 6、保存图书信息");
gotoxy(24,10);
color(9);
printf("7、读取图书信息 8、图书信息排序");
gotoxy(24,12);
color(5);
printf("9、修改图书信息 0、退出管理系统\n");
function(num());
}
void function2(int b)
{
if(b==1)
load2();
else if(b==2)
print2();
else if(b==3)
search2();
else if(b==4)
esc1();
else
{
MessageBox(NULL,"您的输入有误,请重新输入","输入有误",MB_OK|MB_ICONEXCLAMATION);
system("cls");
menu2();
}
}
void menu2()
{
color(12);
gotoxy(0,0);
printf("1、读取图书信息");
color(14);
gotoxy(20,0);
printf("2、查看图书信息");
color(10);
gotoxy(0,1);
printf("3、查找图书信息");
color(5);
gotoxy(20,1);
printf("4、退出管理系统\n");
function2(num2());
}
void main()
{
if(IDNO==MessageBox(NULL,"您是否拥有管理员权限?","图书管理信息系统",MB_ICONQUESTION|MB_YESNO))
{
if(IDYES==MessageBox(NULL,"您确定以游客身份登录系统吗","登录确认",MB_ICONQUESTION|MB_YESNO))
menu2();
else
esc1();
}
if(IDCANCEL==MessageBox(NULL,"请输入管理员用户名和密码!","图书管理信息系统",MB_ICONEXCLAMATION|MB_OKCANCEL))
esc1();
log_in();
system("cls");
menu();
}
加载全部内容
知识星球网页版【在线登录】2KB4014人在玩知识星球网页版,可以使用微信扫二维码直接登录,也可以采用账号密码登录方式,适合大家在电脑上使用,利用浏览器打开web页面,操作一样便利。
下载牛津高阶英汉双解词典第九版mdx32.8M635人在玩牛津高阶英汉双解词典第九版mdx是一款畅销全球的英语词典,此版本以英文第8版为蓝本,对旧版有所传承,有所革新,更为实用和准确,能够充分满足英语学习者在听、说、读、写方面的需要,是案头必备的英语工具书。
下载金考典20位激活码共享版(含注册机)15.7M356人在玩金考典20位激活码共享版含注册机是一款深受用户欢迎的题库软件,它包含的行业十分广泛,包含:医学考试、公务员考试、建造工程考试以及从业资格考试等,让用户能够大量刷题,从而提高通过率,感兴趣的朋友快来下载体验吧。
下载学习强国电脑版102.8M189人在玩学习强国电脑版是一款是为全国用户倾力打造的一个党建知识文化在线学习平台,用户们可以在此平台中第一时间掌握到最新最热门动态,并且还为用户提供多种多样的视频学习和在线答题,大幅度扩展全国用户的知识储备水平,让用户学习更加有效率,需要的用户赶快来下载使用吧!
下载极课教师网页版在线登录152.8M145人在玩极课教师网页版在线登录,这是一个非常棒的教学学习平台,能够很好的帮助教师与学生直接在互联网上进行教学课程,并且提供了各种资源丰富的教学素材与视频,感兴趣的朋友快来下载吧!
下载云立方智慧教学系统5.4M96人在玩云立方e管理是一款专业的教学管理软件,它的页面简洁,功能强大,是云立方智慧教学系统的管理端,帮助用户掌握教学质量,在学生信息管理,教师信息管理,各学院资源管理,教材管理等各方面进行管理。欢迎大家下载体验。
下载广联达百万人才考试软件235.2M94人在玩广联达百万人才考试软件是广联达为建筑行业打造的职业考试软件,用户能够在这里进行学习,提升你的职业技能,考取相应的职业证书,让你在市场上更具竞争力,提升自己的工作价值,欢迎下载使用!
下载中国大学慕课mooc答题脚本31KB92人在玩中国大学慕课mooc答题脚本是2020年最新推出的中国大学慕课的辅助答题脚本工具。这款脚本可以帮助学生们进行慕课mooc的全自动答题,并且提供开始刷课后自动看视频、看课件、自动讨论的功能,让用户的网课学习简单轻松,需要的用户赶快来下载使用这款脚本吧!
下载MultiGo4围棋棋谱软件1.6M77人在玩MultiGo4围棋棋谱软件是2020年新推出的围棋打谱教学软件工具。可以批量将棋谱转换成SGF格式,也可以由用户打印棋谱,可以显示备注、说明等信息。使用户的围棋棋艺变得更高。需要的用户应该尽快下载...
下载悟空识字永久免费破解版202049.8M71人在玩悟空识字全课程免费版整体的学习环节是游戏闯关的形式,六个学习步骤围绕学习汉字的形、音、义、词,形成了完整的学习闭环。本次为大家带来的,就是这款软件的免费破解版,感兴趣的朋友快来下载体验吧。
下载