图书馆要设计一个图书借阅系统,其功能包括: 3.2.1 借书:查询库存后,返回有无此书信息给读者,如有书
发布网友
发布时间:2022-04-29 12:41
我来回答
共3个回答
热心网友
时间:2023-10-06 08:06
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#define N 100
struct shu
{
int id;
char name[200];
char name2[200];
char isyes[200];
}shu[N]={{1,"小时代","郭敬明","否"},{2,"三重门","韩寒","否"},{3,"安徒生","安徒生","否"},{4,"C程序","谭浩强","否"}};
static int shuNum=4;//当前书的总数
static int maxid=4;//当前大的编号
void huanying();
void caidan();
void xuanzhe();
void jie();
void huan();
void cha();
void jia();
void shan();
void anid();
int shuIsEmpty(int);
void yanshe();
void xiugai();
void zuozhe();
void she();
int getTime();
int main()
{
char a;
system("color F0");
huanying();
printf("输入Y或y退出");
caidan();
xuanzhe();
a=getch();
if(a=='y'||a=='Y')
{
system("exit");
}
return 0;
}
void caidan()
{
int a;
system("cls");
printf("\n\n\n\t\t★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n");
printf("\t\tΟ Ο\n");
printf("\t\tΟ Ο\n");
printf("\t\tΟ 1.借书 Ο\n");
printf("\t\tΟ 2.还书 Ο\n");
printf("\t\tΟ 3.增加图书 Ο\n");
printf("\t\tΟ 4.删除图书 Ο\n");
printf("\t\tΟ 5.查书 Ο\n");
printf("\t\tΟ 6.修改图书信息 Ο\n");
printf("\t\tΟ 7.系统设置 Ο\n");
printf("\t\tΟ Ο\n");
printf("\t\tΟ Ο\n");
printf("\t\t★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n");
printf("\n\n\n\t\t\t\t\t\t\t请选择_________");
a=getch();
system("cls");
switch (a)
{
case '1':
jie();
break;
case '2':
huan();
break;
case '3':
jia();
break;
case '4':
shan();
break;
case '5':
cha();
break;
case '6':
xiugai();
break;
case'7':
she();
break;
}
}
void xuanzhe()//选择
{
}
void jie()//借书
{
int id=0;
int i;
char is;
do
{
printf("请输入要借图书ID号:\n");
scanf("%d",&id);
fflush(stdin);
for(i=0;i<4;i++)
{
if(shu[i].id==id)
{
strcpy((shu[i].isyes),"是");
printf("借书成功!\n");
break;
}
}
if(id>maxid)
{
printf("借书失败\n");
}
printf("\n\n\n\t\t\t\t\t\t是否继续(Y/N)");
is=getchar();
}while(is=='Y'||is=='y');
system("cls");
cha();
}
void huan()//还书
{
int id=0;
int i;
char is;
char isyes=1;
do
{
id=0;
printf("请输入归还图书的ID号:\n");
scanf("%d",&id) ;
fflush(stdin);
for(i=0;i<maxid;i++)
{
if(shu[i].id==id)
{
strcpy((shu[i].isyes),"否");
isyes=0;
break;
}
}
if (isyes==0)
{
printf("还书成功\n");
}
else
{
printf("还书失败\n");
}
printf("\n\n\n\t\t\t\t\t\t是否继续(Y/N)");
is=getchar();
system("cls");
isyes=1;
}while(is=='Y'||is=='y');
system("cls");
cha();
}
void cha()//查看书
{
int i=0;
int b;
system("cls");
printf("书按ID排序:按任意键进入");
b=getch();
system("cls");
switch (b)
{
case '1':
anid();
break;
}
printf("\n\n\t\t\t\t______图书信息列表______\n\n\n");
printf("\t\t编号\t\t书名\t\t作者\t\t借阅情况\n");
for(;i<shuNum;i++)
{
printf("\n\n\t\t%d\t\t%s\t\t%s\t\t%s\n",shu[i].id,shu[i].name,shu[i].name2,shu[i].isyes);
}
printf("\n\n\t按任意键返回选单");
getch();
system("cls");
caidan();
}
void jia()//增加书
{
int index=0;
char is;
do
{
index=shuNum;
system("cls");
printf("\n\n\t\t---------增加图书---------\n");
printf("\t\t请输入书名:");
scanf("%s",&shu[index].name);
fflush(stdin);
printf("\n\t\t请输入作者:");
scanf("%s",&shu[index].name2);
fflush(stdin);
strcpy((shu[index].isyes),"否");
maxid++;
shu[index].id=maxid;
shuNum++;
printf("\n\n\n\t\t\t\t\t\t是否继续(Y/N)");
is=getchar();
fflush(stdin);
}while(is=='Y'||is=='y');
system("cls");
cha();
}
void shan()//删书
{
int index,i,j;
system("cls");
printf("\n\n\t\t-----------图书删除页面----------\n");
printf("请输入要删除的图书的编号:____");
scanf("%d",&index);
fflush(stdin);
i=shuis(index);
if(i!=-1)
{
for(j=i;j<shuNum;j++)
{
shu[j]=shu[j+1];
}
shuNum--;
}
cha();
}
int shuis(int index)//删书的一点
{
int i=0;
for(;i<shuNum;i++)
{
if(shu[i].id==index)
return i;
}
return -1;
}
void anid()//按id排序
{
int i,j;
struct shu temp;
for(i=0;i<shuNum;i++)
{
for(j=0;j<shuNum-i-1;j++)
{
if(shu[j].id>shu[j+1].id)
{
temp=shu[j];
shu[j]=shu[j+1];
shu[j+1]=temp;
}
}
}cha();
}
void xiugai()//修改书信息
{
int index=0;
int i=0;
char is='n';
do
{
system("cls");
printf("请输入修改图书的ID号:\n");
scanf("%d",&index);
fflush(stdin);
i=shuno(index);
if(i!=-1)
{
printf("\t\t请输入书名:");
scanf("%s",&shu[index-1].name);
fflush(stdin);
printf("\n\t\t请输入作者:");
scanf("%s",&shu[index-1].name2);
fflush(stdin);
strcpy((shu[index-1].isyes),"否");
}
else
{
printf("\n\n\t\t\t编号错误\n");
}
printf("\n\n\n\t\t\t\t\t\t是否继续(Y/N)");
is=getchar();
}while(is=='Y'||is=='y');
system("cls");
cha();
}
int shuno(int index)//改书的一点
{
int i=0;
for(;i<shuNum;i++)
{
if(shu[i].id==index)
return i;
}
return -1;
}
void yanshe()//颜色
{
int a;
system("cls");
printf("\n\n\t\t请选择系统背景及字体颜色\n");
printf("\t\t1.背景:灰色\t字体:白色\n");
printf("\t\t1.背景:浅绿色\t字体:黑色\n");
printf("\t\t3.默认背景:白色\t字体:黑色\n");
printf("\n\n\t\t\t\t\t\t请选择:____");
a=getch();
switch (a)
{
case '3':
system("color F0");
break;
case '1':
system("color 87");
break;
case '2':
system("color B0");
break;
}system("pause");
system("cls");
caidan();
}
void huanying()//欢迎界面
{
printf ("\n\n\n");
printf ("\t\t┏━━━━━━☆☆☆☆☆☆☆☆☆☆☆☆☆━━━━━━┓\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ★★★★★★★★★★★★★★★★★ ┃\n");
printf ("\t\t┃ ★ ★ ┃\n");
printf ("\t\t┃ ★ 图书管理系统 ★ ┃\n");
printf ("\t\t┃ ★ ★ ┃\n");
printf ("\t\t┃ ★★★★★★★★★★★★★ ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ****************** ┃\n");
printf ("\t\t┃ ‖ 欢迎使用 ‖ ┃\n");
printf ("\t\t┃ ****************** ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf ("\n\n\t\t\t\t请按任意键进入操作界面");
getch();
}
void zuozhe()//作者信息
{
int a;
system("cls");
printf ("\n\n\n");
printf ("\t\t┏━━━━━━☆☆☆☆☆☆☆☆☆☆☆☆☆━━━━━━┓\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┃ ★★★ 图书管理系统 ★★★ ┃\n");
printf ("\t\t┃ 作者: ┃\n");
printf ("\t\t┃ 最新开发日期 ┃\n");
printf ("\t\t┃ 特别鸣谢: ┃\n");
printf ("\t\t┃ ┃\n");
printf ("\t\t┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf ("\n\n\t\t\t\t请按任意键进入系统设置界面");
system("pause");
caidan();
}
void she()
{
int a;
printf("\n\n\t\t1.系统颜色设置\n");
printf("\n\n\t\t2.作者信息\n");
printf("\n\n\t\t3.系统当前时间\n");
printf("\n\n\t\t\t\t请选择:_______");
a=getch();
switch(a)
{
case'1':
yanshe();
break;
case '2':
zuozhe();
break;
case '3':
system("cls");
getTime();
system("pause");
caidan();
break;
}
}
int getTime() //加载时间
{
char str[100];
time_t t;
struct tm *lt;
t = time(NULL);
lt = localtime(&t);
strftime(str,100,"%H:%M:%S ",lt);
printf("\n\n\n\n\n\t\t\t当前日期及时间是:%s\n",str);
return 0;
}
热心网友
时间:2023-10-06 08:06
For a description of your 图书借阅系统 ...,
带着你的问题和Email来找我,
请与我们联系进一步需求,
有可能帮你,
使用百度_Hi给我留言,
此回复针对所有来访者和需求者有效,
ES:\\84C1CC070C71738DC48000759777AE96
热心网友
时间:2023-10-06 08:07
你说的公共图书馆是不是指宁波市图书馆,也就是包玉刚图书馆?可以的,我经常用朋友的借书。