跪求圖書管理系統,C語言編寫。

  • 作者:由 匿名使用者 發表于 書法
  • 2021-10-16

跪求圖書管理系統,C語言編寫。 M、 8級 2011-06-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;

}

Top