标签:
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();
}
厂商名称:
腾讯课堂学生版77.1M14316人在玩腾讯课堂学生版pc客户端是一款为中小学生打造的在线学习的工具,由于疫情原因,很多学校都开通了网上教学,腾讯课堂学生版下载后连接到老师端即可网上学习,感兴趣的朋友快来下载体验吧。
下载猿辅导pc客户端140.4M8387人在玩猿辅导电脑客户端是一款专业的在线教学平台,它可以帮助教师来进行远程电脑云教学,用户可以通过这款猿辅导来展示教师的授课教学视频,安排授课计划日程,以及授课价格等,增进师生互动,线上教
下载希沃授课助手电脑版(seewolink)54.2M2737人在玩希沃授课助手电脑版是视睿电子推出的学习办公软件,这是一款课堂内大小屏互动软件,需要移动端和电脑端配合使用,拥有拍照上传、同步桌面和件演示等功能。
下载作业帮直播课电脑版144.6M4501人在玩作业帮直播课学生端电脑版是由本站为您提供,作业帮直播课网页版也为广大用户提供在线直播服务,真正实现了电脑PC端、手机端、平板等多终端设备同步观看作业帮直播课内容,让学习变得更加自在!
下载腾讯课堂电脑版77.1M6663人在玩腾讯课堂电脑版,最便捷的课程入口,最贴心的开课提醒,课堂随Q走。PPT演示、屏幕分享、白板涂鸦等贴心师生交互操作,尽在QQ课堂。丰富的知识,是船;名师的传授,是帆;你的梦想,从这里起航!
下载nb物理实验室下载免费242.5M4104人在玩nb物理实验室是一款十分不错的物理实验模拟软件,它拥有初中物理学科的所有实验教程和素材,学生们可以在这里学习和亲手实验物理实验,学习起来更加具有记忆点,有需要的朋友不要错过了,欢迎下
下载E听说中学学生端432.6M13130人在玩E听说中学(学生端)是一款针对学生的英语学习软件,英语的学习对于学生来说尤为重要,中考高考关乎了命运,E听说中学能够帮助中学生学习英语,音标学习、智能作文、听说模拟、听说同步、课文朗读
下载长江雨课堂教师端72.8M1601人在玩长江雨课堂电脑版是由清华大学和学堂在线共同推出的一款功能强大的网络课堂软件,它是专为教师打造的网络授课平台,帮助用户能够有效的提高教学效率,让教与学更加明了,有需要的朋友不要错过了
下载云视讯同步课堂极速版最新版版58.3M4767人在玩云视讯同步课堂电脑版是一款直播互动教学软件,可以通过云视讯同步课堂电脑版进行在线教学,还支持语音视频互动,共享文档和桌面,让用户得到优质教学体验。有需要的朋友不要错过了,欢迎大家下
下载abc360英语电脑版136.2M2人在玩abc360英语电脑版是一款应用在winows平台上的英语网络课堂学习软件,它可以时随地让孩子与外教面对面,双视角互动课堂,白板练习场景激发孩子想象力,互动课堂更加专注于外教教学场景!欢迎大家
下载