




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同書(供以完成一定任務(wù)為期限的市場營銷專員)
- 貨物運(yùn)輸合同糾紛代理合同
- 國際結(jié)算保函抵押外匯借貸合同
- 補(bǔ)償貿(mào)易返銷合同樣本
- 二手車交易流程與手續(xù)辦理考核試卷
- 光電儀器原理與檢測技術(shù)考核試卷
- 農(nóng)產(chǎn)品初加工的農(nóng)產(chǎn)品加工質(zhì)量控制考核試卷
- 文化產(chǎn)業(yè)項(xiàng)目對接會考核試卷
- 健身器材行業(yè)用戶研究與市場細(xì)分考核試卷
- 小學(xué)生作文入門格式課件
- 超分子化學(xué)-杯芳烴課件
- 車標(biāo)識別 課講義件課件
- 一年級下學(xué)期安全教育教案
- 哈薩克斯坦共和國勞動法解讀
- 送達(dá)地址確認(rèn)書(樣本)
- 甘肅省酒泉市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)
- 壓力容器考試審核考試題庫(容標(biāo)委-氣體協(xié)會聯(lián)合)
- 學(xué)校食堂操作流程圖
- DB13 2795-2018 大清河流域水污染物排放標(biāo)準(zhǔn)
- 2022年t-a水性聚氨酯粘合劑項(xiàng)目環(huán)境影響報(bào)告書
- 2022年江蘇農(nóng)林職業(yè)技術(shù)學(xué)院職業(yè)適應(yīng)性測試題庫及答案解析
評論
0/150
提交評論