# include & ltstdlib.h & gt
# include & ltconio.h & gt
結構書
{
int id,usr【10】,總計,商店,天數【10】;
字符名稱【31】,作者【21】;
}書籍【100】;
/*以上是結構的定義,用於藏書和借書。*/
void page _ title(char * menu _ item)
{
clrscr();
printf(“》;& gt& gt圖書館管理系統
}
/*以上是打印表頭的功能,同時可以通過參數menu_item顯示當前狀態。*/
void return _ confirm(void)
{
printf(“\ n按任意鍵返回...\ n“);
getch();
}
/*以上是返回前請求確認的功能,以便在返回前觀察結果*/
int search _ book(void)
{
int n,I;
Printf(“請輸入圖書序列號:“);
scanf(“% d“,& amp我);
for(n = 0;n & lt100;n++)
{
如果(書籍。id==i)
{
Printf(“標題:%s\n“,書籍【n】。姓名);
Printf(“作者:%s\n“,books【n】。作者);
Printf(“存款數:%d of“,books【n】。商店);
printf(“% d \ n“,books【n】。合計);
返回n;
}
}
printf(“\ n錯誤或無效的圖書序列號。\ n“);
返回-1;
}
/*上面的函數是在數組中查找書號匹配的記錄,顯示其信息並返回。
返回數組下標。如果找不到相應的記錄,將提示錯誤並返回-1。*/
void book_out(無效)
{
int n,s,l,d;
Page_title(“借書”);
if((n = search _ book())!=-1 & amp;& amp書籍。商店& gt0)
{
Printf(“請輸入圖書證的序列號:“);
scanf(“% d“,& amps);
Printf(“請輸入可借天數:“);
scanf(“% d“,& ampd);
for(l = 0;l & lt10;l++)
{
如果(書籍。usr【l】= = 0)
{
書籍。usr【l】= s;
書籍。days【l】= d;
打破;
}
}
書籍。store-;
}
如果(n!=-1 & amp;& amp書籍。所有的書都借出去了。\ n ");
return _ confirm();
}
/*以上是借書功能。首先調用查找書籍的函數*/
void book _ in(void)
{
int n,s,l;
Page_title(“還書“);
if((n = search _ book())!=-1 & amp;& amp書籍。商店& lt書籍。總計)
{
Printf(“借書證列表:\ n“);
for(l = 0;l & lt10;l++)
如果(書籍。usr【l】!=0)
printf(“【% d】-% d天\ n“,books【n】。usr【l】,書籍【n】。days【l】);
Printf(“請輸入圖書證的序列號:“);
scanf(“% d“,& amps);
for(l = 0;l & lt10;l++)
{
如果(書籍。usr【l】= = s)
{
書籍。usr【l】= 0;
書籍。days【l】= 0;
打破;
}
}
書籍。store++;
}
如果(n!=-1 & amp;& amp書籍。商店=書籍。總計)
全在西藏。\ n ");
return _ confirm();
}
void book _ add(void)
{
int n;
Page_title(“註冊壹本新書“);
for(n = 0;n & lt100;n++)
如果(書籍。id = = 0)break;
Printf(“序列號:“);
scanf(“% d“,& amp書籍。id);
printf(“Title:“);
scanf(“% s“,& amp書籍。姓名);
Printf(“作者:“);
scanf(“% s“,& amp書籍。作者);
Printf(“數量:“);
scanf(“% d“,& amp書籍。合計);
書籍。商店=書籍。總計;
return _ confirm();
}
void book _ del(void)
{
int n;
Page_title(“舊書註銷”);
if((n = search _ book())!=-1)書籍【n】。id = 0;
Printf(“該書已被取消。\ n ");
return _ confirm();
}
無效總管(無效)
{
Menu: page_title(“操作菜單”);
Printf(“請使用數字鍵選擇操作\ n \ n“);
printf(“1借書\n2還書\ n \ n“);
printf(“3註冊新書\n4取消舊書\ n \ n“);
printf(“\ n0退出\ n“);
開關(getch())
{
case“1”:book _ out();打破;
案例“2”:book _ in();打破;
案例“3”:book _ add();打破;
案例“4”:book _ del();打破;
案例“0”:退出(0);
}
轉到菜單;
}
{
int n;
Page_title(“廣?同情“);
if((n = search _ book())!=-1)書籍【n】。id = 0;
Printf(“妳喜歡對方嗎?。\ n ");
return _ confirm();
}
無效總管(無效)
{
菜單:page_title(“和田汽車”);
Printf(“我擔心監獄\ n \ n“);
printf(“1 \ N2 \ n \ n“);
printf(“3比壹千畝寬\n4更寬?\ n \ n“);
printf(“\ n0 \ n“);
開關(getch())
{
case“1”:book _ out();打破;
案例“2”:book _ in();打破;
案例“3”:book _ add();打破;
案例“4”:book _ del();打破;
案例“0”:退出(0);
}
轉到菜單;
}