![《C語(yǔ)言程序》課程設(shè)計(jì)圖書管理系統(tǒng)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/300c799e-3840-4452-812e-8946c7826a61/300c799e-3840-4452-812e-8946c7826a611.gif)
![《C語(yǔ)言程序》課程設(shè)計(jì)圖書管理系統(tǒng)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/300c799e-3840-4452-812e-8946c7826a61/300c799e-3840-4452-812e-8946c7826a612.gif)
![《C語(yǔ)言程序》課程設(shè)計(jì)圖書管理系統(tǒng)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/300c799e-3840-4452-812e-8946c7826a61/300c799e-3840-4452-812e-8946c7826a613.gif)
![《C語(yǔ)言程序》課程設(shè)計(jì)圖書管理系統(tǒng)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/300c799e-3840-4452-812e-8946c7826a61/300c799e-3840-4452-812e-8946c7826a614.gif)
![《C語(yǔ)言程序》課程設(shè)計(jì)圖書管理系統(tǒng)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/300c799e-3840-4452-812e-8946c7826a61/300c799e-3840-4452-812e-8946c7826a615.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、c語(yǔ)言程序課程設(shè)計(jì)報(bào)告書設(shè)計(jì)題目: 圖書管理 專業(yè):電子信息工程 班級(jí): 學(xué)生姓名: 學(xué)號(hào): 指導(dǎo)教師: 2010年5月 信息工程學(xué)院目 錄摘 要 -02第一章 緒論 -04第二章 問題定義(或系統(tǒng)分析) -05第三章 總體設(shè)計(jì)與詳細(xì)設(shè)計(jì) -07第四章 編碼實(shí)現(xiàn)-09第五章 調(diào)試與測(cè)試 -11總結(jié)與心得 -12附錄:1源代碼-132參考資料-23摘 要當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)是無(wú)處不在,因此作為二十一世紀(jì)的大學(xué)生來(lái)說(shuō)掌握程序開發(fā)技術(shù)是十分重要的.而c語(yǔ)言又是最常見的,功能最強(qiáng)大的一種語(yǔ)言.因此,做好c語(yǔ)言課程設(shè)計(jì)是非常必要的.課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問
2、題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們的實(shí)際工作能力的具體訓(xùn)練和考察過程。從拿到題目到完成整個(gè)編輯的幾個(gè)星期里,不僅鞏固了以前學(xué)過的知識(shí),還可以學(xué)到很多新的東西。我做的圖書資料管理系統(tǒng),雖然是一個(gè)小程序,但對(duì)我這樣一初學(xué)者來(lái)說(shuō)確實(shí)是一個(gè)很大的困難,以至于好幾節(jié)課程設(shè)計(jì)下來(lái)還是沒什么太大的進(jìn)展。在圖書管理系統(tǒng)中,要為每一個(gè)借閱者建立一個(gè)帳戶,并給借閱者發(fā)放借閱卡,帳戶中存儲(chǔ)借閱者的個(gè)人信息,借閱信息,以及預(yù)定信息。持有借閱卡的借閱者可以借閱書刊,反還書刊,查詢書刊信息,預(yù)定書刊并取消預(yù)定,但這些操作都是通過圖書管理員進(jìn)行的,即借閱者不直接與系統(tǒng)交互,而是圖書管理員充當(dāng)借閱者的代理與系統(tǒng)交互。在借閱
3、書刊時(shí),需要輸入所借閱的書刊的名字,書刊的isbn/issn號(hào),然后輸入借閱者的圖書卡號(hào)和借閱者名,完成后提交所添表格,系統(tǒng)驗(yàn)證借閱者是否有效,若有效,借閱請(qǐng)求被接受,系統(tǒng)查詢數(shù)據(jù)庫(kù)系統(tǒng),看借閱者所借閱書刊是否存在,若存在,則借閱者可以借閱書刊,建立并在系統(tǒng)中存儲(chǔ)借閱記錄。借閱者還書后,刪除關(guān)于所還書刊的借閱記錄。如果借閱者所借閱的書刊已被借出,借閱者還可以預(yù)定該書,一旦借閱者預(yù)定的書刊可以獲得,就將書刊直接寄給預(yù)定人。 這個(gè)程序主要考察了學(xué)生對(duì)結(jié)構(gòu)體,指針,文件的操作,以及c語(yǔ)言算法的掌握,所以完成此道題目要求較強(qiáng)的設(shè)計(jì)能力,尤其是一種大局意識(shí)。如何調(diào)試程序也非常重要,通過這個(gè)程序可以學(xué)到以
4、前調(diào)試短程序沒有的的經(jīng)驗(yàn)?!娟P(guān)鍵字】1圖書管理 2圖書查找 3圖書借還 4圖書的新增與修改第一章 緒論1.1選題背景隨著社會(huì)的發(fā)展及知識(shí)經(jīng)濟(jì)時(shí)代的到來(lái),管理信息系統(tǒng)在各行各業(yè)發(fā)揮著越來(lái)越重要的作用。但在高校的圖書管理中,避免了手工操作而帶來(lái)的一些不必要的問題。1.2系統(tǒng)目標(biāo)本系統(tǒng)的目標(biāo)是將高校圖書管理工作實(shí)現(xiàn)計(jì)算機(jī)管理,從而大幅度提高工效率,提高實(shí)施管理的準(zhǔn)確性、科學(xué)性;使擔(dān)負(fù)管理的工作人員從繁雜的手工勞作中解脫出來(lái),更好實(shí)施針對(duì)圖書借閱管理在手工操作遇到的問題。1.3系統(tǒng)目的 通過本項(xiàng)課程設(shè)計(jì),可以培養(yǎng)獨(dú)立思考、 綜合運(yùn)用所學(xué)有關(guān)相應(yīng)知識(shí)的能力,能更好的鞏固c語(yǔ)言程序設(shè)計(jì)課程學(xué)習(xí)的內(nèi)容,掌握
5、工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)動(dòng)手編程能力,闖過理論與實(shí)踐相結(jié)合的難關(guān)!更加了解了c語(yǔ)言的好處和其可用性!同時(shí)增加了同學(xué)之間的團(tuán)隊(duì)合作精神!更加也體會(huì)到以后在工作中團(tuán)隊(duì)合作的重要性和必要性!第二章 問題定義(或系統(tǒng)分析)2.1題目分析 一、目的要求 本課程設(shè)計(jì)任務(wù)的目的是要求學(xué)生按照分析、設(shè)計(jì)、編碼、調(diào)試和測(cè)試的軟件開發(fā)過程獨(dú)立完成管理系統(tǒng)設(shè)計(jì),以及c語(yǔ)言算法的掌握,并能最終實(shí)現(xiàn)本系統(tǒng)的功能要求,通過這個(gè)程序可以學(xué)習(xí)到以前調(diào)試短程序沒有的的經(jīng)驗(yàn)?!绢}目要求】 (1)為各項(xiàng)操作功能設(shè)計(jì)一個(gè)菜單。應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目; (2)要求以上功能分別用
6、函數(shù)實(shí)現(xiàn)。并要求用c語(yǔ)言的文件操作語(yǔ)句將以上所有結(jié)果保存在文件xx.out?!据斎?輸出要求】 (1)應(yīng)用程序運(yùn)行后,先顯示一個(gè)菜單,然后用戶根據(jù)需要選擇相應(yīng)的操作項(xiàng)目。進(jìn)入每個(gè)操作后,根據(jù)程序的提示輸入相應(yīng)的信息; (2)要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。菜單中的每一個(gè)選項(xiàng)都對(duì)應(yīng)一個(gè)子程序,子程序的算法幾乎囊獲了所有c語(yǔ)言學(xué)過的技巧。目前社會(huì)管理系統(tǒng)發(fā)展飛快,教務(wù)管理信息系統(tǒng)也是有了很大的發(fā)展。本系統(tǒng)完全獨(dú)立開發(fā),力求使系統(tǒng)功能簡(jiǎn)明,但功能全易操作。它適應(yīng)了時(shí)代發(fā)展,適應(yīng)了我國(guó)教育深化改革、全面實(shí)施素質(zhì)教育的需要;從技術(shù)角度分析,這項(xiàng)開發(fā)工
7、作所涉及的專業(yè)技術(shù)如下:操作系統(tǒng)采用windows 2000以上的版本;在數(shù)據(jù)管理系統(tǒng)上,我們可采用了microsoft office access,開發(fā)工具選用microsoft visual basic .net2003;從經(jīng)濟(jì)角度分析, 采用計(jì)算機(jī)管理不但可以提高工作效率,而且還可以節(jié)省人力、物力、財(cái)力,降低了人工處理產(chǎn)生的錯(cuò)誤第三章 總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)圖書數(shù)據(jù):書號(hào),書名,作者,出版時(shí)間,價(jià)格,冊(cè)數(shù),頁(yè)數(shù)借書人信息:姓名,單位,所借書目,借閱時(shí)間等1.借書模塊:輸入書名編號(hào)借書證號(hào)(如書庫(kù)中有書并且冊(cè)數(shù)大于0,則進(jìn)行借書,借書日期由系統(tǒng)時(shí)間提供)2.還書模塊:登記借書證號(hào)進(jìn)行還書操作同
8、時(shí)提供有無(wú)超時(shí)有則給予罰款處理。3.圖書管理:對(duì)書庫(kù)中書進(jìn)行管理 新書入庫(kù) 舊書刪除 對(duì)庫(kù)存量進(jìn)行統(tǒng)計(jì)和查詢4.查詢模塊:對(duì)書庫(kù)中書進(jìn)行查詢 根據(jù)書名進(jìn)行查詢 根據(jù)書號(hào)進(jìn)行查詢 根據(jù)出版社進(jìn)行查詢 對(duì)借閱書進(jìn)行查詢 對(duì)一段時(shí)間或某書進(jìn)行查詢和統(tǒng)計(jì)第四章 編碼實(shí)現(xiàn)增加圖書功能,id自動(dòng)排號(hào) 根據(jù)圖書類型和圖書狀態(tài),顯示用戶信息int add_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; b
9、ook_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; return 0;查找書名稱,返回查找到的數(shù)量,書名可能有重復(fù)的,一本書可能也有很多本,但是id卻是唯一的 int search_books_by_name(book* book_head, char* name) int count = 0; book* p = book_head; while (p) if (strcmp(p-_nam
10、e, name) = 0) print_book(p); +count; p = p-_next; return count; 借書,返回該書的指針,否則就返回null,可能不存在圖書,或者已經(jīng)被借走了 book* borrow_books(book* book_head, int id) book* p = book_head; while (p) if (p-_id = id) break; p = p-_next; if (!p)/* 不存在 */ return null; 還書,正常歸還就返回該書的指針,否則就返回null還書要登記 book* return_books(book* b
11、ook_head, int id) book* p = book_head; while (p) if (p-_id = id & p-_status != 0) p-_status = 0; 第五章 調(diào)試與測(cè)試運(yùn)行的結(jié)果說(shuō)明: 在visual c+ 6.0 在此環(huán)境下運(yùn)行比較好,其界面十分友好并且能正常運(yùn)行。第六章 總結(jié)與心得首先我覺得,用到的程序段不必太高級(jí),因?yàn)樘煜率陆杂懈叩椭?,決定優(yōu)劣的不是集體中的某部分的強(qiáng)弱,起決定作用的是組合內(nèi)各元素的和諧,要能在一個(gè)集體中各盡其用,每個(gè)人都能發(fā)揮自己的長(zhǎng)處,避免自己的短處,那么這個(gè)集體的組合能量是最優(yōu)的。選擇什么等級(jí)的c語(yǔ)言就是關(guān)鍵,最后我決定
12、運(yùn)用文件,我的理解是;必須建立一個(gè)文件,它能夠保存新的錄入文擋,又能在提示語(yǔ)的要求下讀出文檔。然而,這只是萬(wàn)里長(zhǎng)征的第一步,后面的路還很長(zhǎng),困難還有很多,可是我能成功的編譯一個(gè)程序,能夠在思路卡殼的情況下,繼續(xù)前進(jìn),我在此很感謝給予我耐心解答的老師和同學(xué),是他們?yōu)槲倚〕绦虻某晒ζ鸬搅岁P(guān)鍵性的作用,那么多個(gè)日夜,如此多的困難,同學(xué)們勤懇塌實(shí),從開始到結(jié)束,始終熱情高漲,我感謝這種氛圍,感謝學(xué)校提供的良好條件。在課程設(shè)計(jì)過程中,我學(xué)到了很多人生哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)踐計(jì)劃,并掌握了在執(zhí)行過程中附錄 源代碼漢字菜單的編寫可參照以下代碼:#include stdio.h. main()
13、 char c; int i; do clrscr(); for(i=0;i80;i+) printf(*); printf(t 1: add booksn); printf(t 2: list booksn); printf(t 3: sreach booksn); printf(t 4: borrow booksn); printf(t 5: return booksn); printf(“t6: exitn”) printf(t請(qǐng)選擇輸入選項(xiàng)123456:n); do c=getchar(); while(c!=1&c!=2&c!=3&c!=4&c!=5&!=6); getchar();
14、 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 #include #include #define borrowed 1#define noborrow 0/* 定義圖書結(jié)構(gòu) */struct book int _id; / 編號(hào),
15、唯一 char _name32; / 圖書的名稱,不唯一 int _type; / 圖書的類型,不唯一 int _status; / 圖書的狀態(tài),借出/沒有借出 int _count; / 圖書借出的次數(shù) struct book* _next; / 下一本書 struct book* _prev; / 上一本書;/* 定義圖書類型 */typedef struct book book;/* 操作的目錄提示 */char book_menu32 = add books, list books, search books, borrow books, return books, exit, ,;/
16、* 操作的目錄提示1 */char book_menu_sub32 = search books by name, search books by type, ,;/* 添加圖書類型,用戶信息顯示 */char book_types32 = type0, type1, type2, ,;/* 添加圖書狀態(tài),用戶信息顯示 */char book_status32 = noborrow, borrowed, ,;/* 增加圖書,id自動(dòng)排號(hào) */int add_books(book* head, book* book_for_add) book* p = head; if (!p) return
17、-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; return 0;/* 建立圖書管理鏈表 */book* create_list(book* book_head) if (book_head) book_head-_prev = book_head; book_head
18、-_next = null; book_head-_id = 1; book_head-_count = 0; book_head-_status = 0; return book_head;/* 釋放鏈表 */void free_list(book* book_head) book *p, *p1; p = book_head; while(p) p1 = p-_next; free(p); p = p1; /* 打印圖書信息 */void print_book(book* book) printf(id:%d, name:%s, type:%s, status:%s, times:%d n
19、, book-_id, book-_name, book_typesbook-_type, book_statusbook-_status, book-_count);/* 列出所有登記的圖書 */void list_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, int id) book* p = book_head; w
20、hile (p) if (p-_id = id) break; p = p-_next; if (!p)/* 不存在 */ return null; if (p-_status != 0) /* 已經(jīng)被借走 */ return null; p-_status = 1; /* 借書登記 */ p-_count+; /* 被借閱次數(shù)+1 */ return p;/* 查找書名稱,返回查找到的數(shù)量,書名可能有重復(fù)的,一本書可能也有很多本,但是id卻是唯一的 */int search_books_by_name(book* book_head, char* name) int count = 0; b
21、ook* p = book_head; while (p) if (strcmp(p-_name, name) = 0) print_book(p); +count; p = p-_next; return count;/* 查找書類型,返回查找到的數(shù)量,一個(gè)類型會(huì)有很多書 */int search_books_by_type(book* book_head, int type) int count = 0; book* p = book_head; while (p) if (p-_type = type) print_book(p); +count; p = p-_next; return
22、 count;/* 還書,正常歸還就返回該書的指針,否則就返回null */book* return_books(book* book_head, int id) book* p = book_head; while (p) if (p-_id = id & p-_status != 0) p-_status = 0; /* 還書登記 */ break; p = p-_next; return p;/* 打印操作選項(xiàng) */void print_menu(char menus32) int no = 0; printf(nplease select id like 1 or 2 .n); whi
23、le (strlen(menusno) printf(%d t%sn, no+1, menusno); +no; printf(option(); while (no) printf(/%d, no-); printf():);/* 主函數(shù) */int main(void) char key = 0; char ss128; int loop = 1; book first_book, *pbooks, *ptmp; strcpy(first_book._name, nihao); first_book._type = 0; pbooks = create_list(&first_book);
24、 while (loop) print_menu(book_menu); gets(ss); key = ss0 - 48; if(key 6) printf(error input !n); else printf(input:%dn, key); switch (key) case 1: / add books ptmp = (book*)malloc(sizeof(book); if(ptmp) printf(add_book input name:); gets(ss); strncpy(ptmp-_name, ss, 31); print_menu(book_types); gets
25、(ss); key = ss0 - 48; if(key (sizeof(book_types)/32) ) key = 1; ptmp-_type = key - 1; add_books(pbooks, ptmp); break; case 2: / list books list_books(pbooks); break; case 3: / search books print_menu(book_menu_sub); gets(ss); key = ss0 - 48; printf(input:%dn, key); switch (key) case 1: / search books by name printf(input book name:); gets(ss); key = search_books_by_name(pbooks, ss); if(key = 0) printf(no
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)冷加工噴丸機(jī)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)生物基三環(huán)癸烷醇二甲醇行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025鋼筋制安分項(xiàng)工程分包合同
- 2025包機(jī)運(yùn)輸合同
- 杭州工業(yè)園區(qū)合作開發(fā)合同
- 勞動(dòng)合同終止協(xié)議
- 商業(yè)銀行流動(dòng)資金借款合同
- 管理合同協(xié)議
- 臨時(shí)工聘用合同
- 建筑施工項(xiàng)目管理規(guī)范
- 蘇教版四年級(jí)數(shù)學(xué)下冊(cè)第三單元第二課時(shí)《常見的數(shù)量關(guān)系》課件
- 浙江省臺(tái)州市2021-2022學(xué)年高一上學(xué)期期末質(zhì)量評(píng)估政治試題 含解析
- 中國(guó)高血壓防治指南(2024年修訂版)解讀課件
- 2024年浙江省中考科學(xué)試卷
- 初三科目綜合模擬卷
- 2024年全國(guó)高考新課標(biāo)卷物理真題(含答案)
- 勞動(dòng)合同薪酬與績(jī)效約定書
- 足療店?duì)I銷策劃方案
- 學(xué)校安全一崗雙責(zé)
- 2024年全國(guó)版圖知識(shí)競(jìng)賽(小學(xué)組)考試題庫(kù)大全(含答案)
- 產(chǎn)后修復(fù)學(xué)習(xí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論