《C語言程序》課程設(shè)計(jì)方案-圖書管理系統(tǒng)_第1頁
《C語言程序》課程設(shè)計(jì)方案-圖書管理系統(tǒng)_第2頁
《C語言程序》課程設(shè)計(jì)方案-圖書管理系統(tǒng)_第3頁
《C語言程序》課程設(shè)計(jì)方案-圖書管理系統(tǒng)_第4頁
《C語言程序》課程設(shè)計(jì)方案-圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGEPAGE7《C語言程序》課程設(shè)計(jì)報(bào)告書設(shè)計(jì)題目:圖書管理系統(tǒng)專業(yè):軟件工程班級:3班同學(xué)姓名:張欣然?學(xué)號:20105837指導(dǎo)老師:陳莉娜設(shè)計(jì)題目圖書管理系統(tǒng)主要包括管理圖書的庫存信息、每一本書的借閱信息以及每一個人的借書信息。每一種圖書的庫存信息包括編號、書名、作者、出版社、出版日期、金額、類別、總?cè)霂鞌?shù)量、當(dāng)前庫存量、已借出本數(shù)等。每一本被借閱的書都包括如下信息:編號、書名、金額、借書證號、借書日期、到期日期、罰款金額等.每一個人的借書信息包括借書證號、姓名、班級、學(xué)號等。系統(tǒng)功能包括以下方面:A、借閱資料管理要求把書籍、期刊、報(bào)刊分類管理,這樣的話操作會更加靈敏和便利,可以隨時對其相關(guān)資料進(jìn)行添加、刪除、修改、查詢等操作。B、借閱管理

(1)借出操作

(2)還書操作

(3)續(xù)借處理提示:以上處理需要相互協(xié)作以及賠、罰款金額的編輯等操作完成圖書借還業(yè)務(wù)的各種登記。例如:讀者還書時不僅更新圖書的庫存信息,還應(yīng)該自動計(jì)算該書應(yīng)罰款金額。并顯示該讀者全部至當(dāng)日內(nèi)到期未還書信息。C、讀者管理

讀者等級:對借閱讀者進(jìn)行分類處理,例如可分為老師和同學(xué)兩類。并定義每類讀者的可借書數(shù)量和相關(guān)的借閱時間等信息。讀者管理:對讀者信息可以錄入,并且可對讀者進(jìn)行掛失或注銷、查詢等服務(wù)的作業(yè)。D、統(tǒng)計(jì)分析

隨時可以進(jìn)行統(tǒng)計(jì)分析,以便準(zhǔn)時了解當(dāng)前的借閱情況和相關(guān)的資料狀態(tài),統(tǒng)計(jì)分析包括借閱排行榜、資料狀態(tài)統(tǒng)計(jì)和借閱統(tǒng)計(jì)、顯示全部至當(dāng)日內(nèi)到期未還書信息等功能分析。E系統(tǒng)參數(shù)設(shè)置:可以設(shè)置相關(guān)的罰款金額,最多借閱天數(shù)等系統(tǒng)服務(wù)器參數(shù)。依據(jù)題目分析總體作品分為6個模塊圖書數(shù)據(jù)借書人信息借書模塊還書模塊圖書管理查詢模塊第一模塊:書號,書名,作者,出版時間,價格,冊數(shù),頁數(shù)。其次模塊:姓名,單位,所借書目,借閱時間第三模塊:輸入書名,編號,借書證第四模塊:登記借書號,還書操作,罰款處理第五模塊:對書庫中的書進(jìn)行管理,新書入庫,舊書刪除,書庫查詢第六模塊:書的查詢。數(shù)據(jù)測試源代碼漢字菜單的編寫可參照以下代碼:#include”stdio。h"。main(){charc;inti;do{clrscr();for(i=0;i〈80;i++)printf("*");printf(”\t1:addbooks\n");printf("\t2:listbooks\n”);printf("\t3:sreachbooks\n”);printf("\t4:borrowbooks\n");printf("\t5:returnbooks\n");printf(“\t6:exit\n”)printf("\t請選擇輸入選項(xiàng)[1\\2\\3\\4\\5\\6]:\n”);do{c=getchar();}while(c!=’1'&&c!=’2'&&c!=’3'&&c!='4’&&c!='5'&&!=’6’);getchar();switch(c){case'1':input();break;case'2':del();break;case'3':find();break;case’4':arrange();break;case‘5’:right();break;case’6':exit(0);}printf(”按任意鍵返回主菜單:\n");getchar();clrscr();}while(1);}#include<stdio。h>?#include〈stdlib。h>?#include<string.h>?

#defineBORROWED

1?#defineNOBORROW

0??/*定義圖書結(jié)構(gòu)*/

structBook

{?

int

_id;

//編號,唯一?

char_name[32];

//圖書的名稱,不唯一?

int

_type;

//圖書的類型,不唯一?

int

_status;

//圖書的狀態(tài),借出/沒有借出?

int

_count;

//圖書借出的次數(shù)?

structBook*_next;//下一本書?

structBook*_prev;//上一本書?};??/*定義圖書類型*/?typedefstructBookBook;

?/*操作的名目提示*/?charbook_menu[][32]=?{?

"addbooks",

"listbooks",?

"searchbooks",

”borrowbooks”,

”returnbooks”,

"exit”,?

"”,?};

/*操作的名目提示1*/?charbook_menu_sub[][32]=

{?

"searchbooksbyname",?

”searchbooksbytype",?

"",

};??/*添加圖書類型,用戶信息顯示*/?charbook_types[][32]=?{?

"type0",?

”type1",?

”type2",?

"",?};?/*添加圖書狀態(tài),用戶信息顯示*/

charbook_status[][32]=?{?

”noborrow",?

"borrowed”,

"",?};??/*增加圖書,id自動排號*/

intadd_books(Book*head,Book*book_for_add)?{?

Book*p=head;?

if(!p)?

return-1;?

while(p->_next)?

{?

p=p->_next;?

};?

p—〉_next=book_for_add;?

book_for_add—>_id=p—〉_id+1;

book_for_add—>_prev=p;?

book_for_add->_next=NULL;?

book_for_add—〉_count=0;?

book_for_add->_status=0;?

return0;?};??/*建立圖書管理鏈表*/

Book*create_list(Book*book_head)?{

if(book_head)?

{?

book_head->_prev=book_head;?

book_head-〉_next=NULL;

book_head-〉_id=1;?

book_head-〉_count=0;?

book_head->_status=0;?

}?

returnbook_head;?}?

/*釋放鏈表*/?voidfree_list(Book*book_h(yuǎn)ead)

{?

Book*p,*p1;?

p=book_h(yuǎn)ead;

while(p)

{?

p1=p->_next;?

free(p);

p=p1;?

}

}?

/*打印圖書信息*/?voidprint_book(Book*book)

printf(”id:%d,name:%s,type:%s,stat(yī)us:%s,times:%d\n”,?

book-〉_id,book->_name,book_types[book—>_type],

book_stat(yī)us[book-〉_status],book—〉_count);?}???/*列出全部登記的圖書*/

voidlist_books(Book*book_head)?{?

Book*p=book_head;?

while(p)?

print_book(p);?

p=p—>_next;?

}?}??/*借書,返回該書的指針,否則就返回NULL,可能不存在圖書,或者已經(jīng)被借走了*/

Book*borrow_books(Book*book_head,intid)?{?

Book*p=book_head;?

while(p)?

{?

if(p->_id==id)?

break;

p=p->_next;?

}??

if(!p)/*不存在*/?

returnNULL;??

if(p—>_status!=0)/*已經(jīng)被借走*/?

returnNULL;??

p->_status=1;/*借書登記*/?

p->_count++;

/*被借閱次數(shù)+1*/?

returnp;

}??/*查找書名稱,返回查找到的數(shù)量,書名可能有重復(fù)的,一本書可能也有很多本,但是ID卻是唯一的*/?intsearch_books_by_name(Book*book_head,char*name)?{?

intcount=0;

Book*p=book_h(yuǎn)ead;?

while(p)?

{?

if(strcmp(p->_name,name)==0)?

{?

print_book(p);

++count;?

}?

p=p->_next;?

}

?

returncount;

}

?/*查找書類型,返回查找到的數(shù)量,一個類型會有很多書*/

intsearch_books_by_type(Book*book_head,inttype)?{?

intcount=0;

Book*p=book_h(yuǎn)ead;?

while(p)

{

if(p—〉_type==type)?

{?

print_book(p);?

++count;

}?

p=p—>_next;?

}?

returncount;?}

/*還書,正常歸還就返回該書的指針,否則就返回NULL*/?Book*return_books(Book*book_head,intid)

{?

Book*p=book_head;?

while(p)?

{?

if(p-〉_id==id&&p—>_status!=0)?

{?

p—>_status=0;/*還書登記*/?

break;?

}?

p=p->_next;?

}?

returnp;

}??/*打印操作選項(xiàng)*/?

voidprint_menu(charmenus[][32])?{?

intno=0;?

printf(”\nPLEASESELECTIDLIKE1or2.。\n”);?

while(strlen(menus[no]))?

{

printf(”%d

\t%s\n",no+1,menus[no]);

++no;?

}?

printf(”O(jiān)PTION(");?

while(no)?

{?

printf("/%d”,no-—);?

printf("):");?}

/*主函數(shù)*/?intmain(void)?{?

charkey=0;?

charss[128];?

intloop=1;?

Bookfirst_book,*pBooks,*pTmp;?

strcpy(first_book。_name,"nihao");?

first_book._type=0;?

pBooks=create_list(&first_book);?

while(loop)?

{

print_menu(book_menu);?

gets(ss);?

key=ss[0]—48;?

if(key<0||key>6)

printf("Errorinput!\n");?

else?

printf(”INPUT:%d\n",key);?

switch(key)

{?

case1://addbooks?

pTmp=(Book*)malloc(sizeof(Book));?

if(pTmp)?

{?

printf(”Add_Bookinputname:");?

gets(ss);

strncpy(pTmp—>_name,ss,31);?

print_menu(book_types);?

gets(ss);

key=ss[0]-48;?

if(key〈=0||key>(sizeof(book_types)/32))?

key=1;?

pTmp->_type=key—1;

add_books(pBooks,pTmp);?

}?

break;?

case2://listbooks?

list_books(pBooks);

break;?

case3://searchbooks

print_menu(book_menu_sub);?

gets(ss);?

key=ss[0]-48;?

printf("INPUT:%d\n",key);?

switch(key)

{?

case1://searchbooksbyname?

printf("inputbookname:”);?

gets(ss);?

key=search_books_by_name(pBooks,ss);?

if(key==0)?

printf("nofound!\n”);?

case2://searchbooksbytype?

print_menu(book_types);

gets(ss);?

key=ss[0]-48;?

key=search_books_by_type(pB(yǎng)ooks,key-1);?

if(key==0)?

printf("nofound!\n”);?

default:?

break;

break;?

case4://borrowbooks

printf("Borrowbooks,inputbookid:”);?

gets(ss);?

key=atoi(ss);?

pTmp=borrow_books(pBooks,key);?

if(!pTm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論