跪求圖書管理系統,C語言編寫。
- 2021-10-16
#include
#include
#include
struct BOOK
{
int id,usr[10],total,store,days[10];
char name[31],author[21];
}books[100];
/*上面是結構體的定義,用於存放書籍及借書的資訊。*/
void page_title(char *menu_item)
{
clrscr();
printf(“>>> 圖 書 管 理 系 統 <<<\n\n- %s -\n\n”,menu_item);
}
/*上面是列印頁首的函式,同時透過引數menu_item,可以顯示當前的狀態。*/
void return_confirm(void)
{
printf(“\n按任意鍵返回……\n”);
getch();
}
/*上面是返回前請求確認的函式,以便在返回前觀察結果*/
int search_book(void)
{
int n,i;
printf(“請輸入圖書序號:”);
scanf(“%d”,&i);
for(n=0;n<100;n++)
{
if(books[n]。id==i)
{
printf(“書名:%s\n”,books[n]。name);
printf(“作者:%s\n”,books[n]。author);
printf(“存數:%d of ”,books[n]。store);
printf(“%d\n”,books[n]。total);
return n;
}
}
printf(“\n輸入錯誤或無效圖書序號。\n”);
return -1;
}
/*上面的函式是在陣列中找到圖書號匹配的記錄,顯示其資訊並返
回陣列下標,如果找不到相應記錄則提示錯誤並返回-1。*/
void book_out(void)
{
int n,s,l,d;
page_title(“借閱圖書”);
if((n=search_book())!=-1&&books[n]。store>0)
{
printf(“請輸入借書證序號:”);
scanf(“%d”,&s);
printf(“請輸入可借天數:”);
scanf(“%d”,&d);
for(l=0;l<10;l++)
{
if(books[n]。usr[l]==0)
{
books[n]。usr[l]=s;
books[n]。days[l]=d;
break;
}
}
books[n]。store——;
}
if(n!=-1&&books[n]。store==0) printf(“此書已經全部借出。\n”);
return_confirm();
}
/*上面是借書的函式,首先呼叫找書函式*/
void book_in(void)
{
int n,s,l;
page_title(“歸還圖書”);
if((n=search_book())!=-1&&books[n]。store { printf(“借閱者圖書證列表:\n”); for(l=0;l<10;l++) if (books[n]。usr[l]!=0) printf(“[%d] - %d天\n”,books[n]。usr[l],books[n]。days[l]); printf(“請輸入借書證序號:”); scanf(“%d”,&s); for(l=0;l<10;l++) { if(books[n]。usr[l]==s) { books[n]。usr[l]=0; books[n]。days[l]=0; break; } } books[n]。store++; } if(n!=-1&&books[n]。store==books[n]。total) printf(“全部入藏。\n”); return_confirm(); } void book_add(void) { int n; page_title(“註冊新書”); for(n=0;n<100;n++) if(books[n]。id==0) break; printf(“序號:”); scanf(“%d”,&books[n]。id); printf(“書名:”); scanf(“%s”,&books[n]。name); printf(“作者:”); scanf(“%s”,&books[n]。author); printf(“數量:”); scanf(“%d”,&books[n]。total); books[n]。store=books[n]。total; return_confirm(); } void book_del(void) { int n; page_title(“登出舊書”); if((n=search_book())!=-1) books[n]。id=0; printf(“該書已登出。\n”); return_confirm(); } void main(void) { menu: page_title(“操作選單”); printf(“請用數字鍵選擇操作\n\n”); printf(“1 借閱圖書\n2 歸還圖書\n\n”); printf(“3 註冊新書\n4 登出舊書\n\n”); printf(“\n0 退出\n”); switch(getch()) { case ‘1’ : book_out();break; case ‘2’ : book_in();break; case ‘3’ : book_add();break; case ‘4’ : book_del();break; case ‘0’ : exit(0); } goto menu; } { int n; page_title(“廣?症慕”); if((n=search_book())!=-1) books[n]。id=0; printf(“乎慕廝廣?。\n”); return_confirm(); } void main(void) { menu: page_title(“荷恬僉汽”); printf(“萩喘方忖囚僉夲荷恬\n\n”); printf(“1 処堋夕慕\n2 拷珊夕慕\n\n”); printf(“3 廣過仟慕\n4 廣?症慕\n\n”); printf(“\n0 曜竃\n”); switch(getch()) { case ‘1’ : book_out();break; case ‘2’ : book_in();break; case ‘3’ : book_add();break; case ‘4’ : book_del();break; case ‘0’ : exit(0); } goto menu; }