《圖書借閱管理系統(tǒng)》_第1頁
《圖書借閱管理系統(tǒng)》_第2頁
《圖書借閱管理系統(tǒng)》_第3頁
《圖書借閱管理系統(tǒng)》_第4頁
《圖書借閱管理系統(tǒng)》_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

《圖書借閱管理系統(tǒng)》《圖書借閱管理系統(tǒng)》《圖書借閱管理系統(tǒng)》資料僅供參考文件編號:2022年4月《圖書借閱管理系統(tǒng)》版本號:A修改號:1頁次:1.0審核:批準:發(fā)布日期:課程設計報告課程名稱C語言程序設計課題名稱圖書借閱管理系統(tǒng)專業(yè)電子信息工程班級1153班學號1319姓名廖信達指導教師葉曉霞2015年12月24日一、設計內(nèi)容與設計要求1.設計內(nèi)容:根據(jù)系統(tǒng)需求的描述,要求實現(xiàn)的功能包括圖書信息和讀者信息的添加、查詢的功能,以及借書和還書的功能,本系統(tǒng)格外添加了用戶注冊和登錄功能,方便統(tǒng)計和完善讀者信息。(1)、本系統(tǒng)采用一個包含N個數(shù)據(jù)的結構體數(shù)組,每個數(shù)據(jù)的結構應當包括:書號、書名、作者、出版社、出版日期、單價、是否借出等。(2)、本系統(tǒng)顯示這樣的菜單:首先,要進行登錄或者注冊才能進入系統(tǒng),進入后顯示1.全部圖書瀏覽2.新圖書添加3.圖書刪除4.圖書查找5.圖書借閱6圖書歸還7.全部讀者瀏覽8.退出登錄0.退出之后,程序?qū)⒅匦嘛@示菜單。2.設計要求:掌握結構化程序設計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)驗。設計正確,方案合理。界面友好,使用方便。程序精煉,結構清晰。4上機演示。按學號順序選課題號,并在規(guī)定的時間內(nèi)獨自完成相關課題的C源程序編寫、調(diào)整和運行。源程序及編譯生成各文件均保存在軟盤中;按本任務書的要求,按附錄的要求編寫《課程設計報告》(Word文檔格式)。并用A4的復印紙打印并裝訂;目錄課程設計報告.................................4功能模塊的劃分..............................6主要功能的實現(xiàn)..............................8程序代碼清單................................9三、課程設計報告1.程序設計準備做系統(tǒng)前,首先,自己詳細看了《C程序設計》(教科書),基本自學會了文件的相關內(nèi)容,理解了相關函數(shù)的用法和作用;另,上網(wǎng)查詢了很多相關資料,還有找了很多相關的系統(tǒng),都詳細的看了一遍,加深了對C的理解以及對文件的相關內(nèi)容進一步理解。學習了C語言的內(nèi)容,圖書信息管理系統(tǒng)有助于C語言學習的進一步鞏固,在本系統(tǒng)可以增強對指針、文件、函數(shù)、結構體變量等基本知識的進一步理解。另外圖書信息管理系統(tǒng)也是學校常用的基本系統(tǒng)之一,它有助于學校對圖書館書籍的基本管理。2.程序設計說明根據(jù)題目要求,應當把圖書信息用結構體形式輸入,再定義一個全局變量和文件指針進行整個程序的運行,然后把圖書信息送到文件中去,所以應該提供下個結構體和文件的輸入等操作:在程序中需要實現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應的模塊來實現(xiàn):另外還需提供選擇菜單實現(xiàn)功能,在運行時達到所要求的目的。3.程序的主要功能圖書管理在生活中運用非常廣泛,因此需要用許多的程序來對它們進行管理。圖書借閱管理系統(tǒng)是對圖書信息的基本管理,它包括:圖書信息的錄入、圖書信息的顯示、圖書信息的刪除、圖書信息的查詢、讀者信息的錄入、讀者信息的顯示。通過編譯一個C語言函數(shù),其中包含一個主函數(shù),多個子函數(shù),主函數(shù)調(diào)用其余的子函數(shù)實現(xiàn)人們能夠簡易、快捷的了解并找到自己所學要的信息的功能。1、圖書基本信息錄入:對新到圖書館的圖書的信息(編號、書名、出版社、作者、價格)進行錄入。2、圖書基本信息顯示:顯示已被錄入圖書的所有信息。3、圖書基本信息刪除:通過輸入書名,判斷此圖書是否存在,若存在,則刪除該圖書所有信息,若不存在則提示用戶重新輸入圖書書名。4、圖書基本信息查詢:將所有圖書信息包括編號、書名、出版社、作者、價格等顯示在屏幕上。5、讀者信息的錄入:這里采用注冊登錄的方法對讀者信息進行統(tǒng)計。6、讀者信息的顯示:將讀者賬號、姓名等輸出。7、退出登錄:回到一開始的登錄注冊頁面。8、退出系統(tǒng):即退出圖書借閱管理系統(tǒng)。使用模塊化編程的方法每項功能有一個或多個函數(shù)組合來完成,其中菜單選項模塊對應如下:圖書基本信息錄入==>voidadd()圖書基本信息顯示==>voidthrough()圖書基本信息刪除==>voiddel()讀者基本信息顯示==>voidthrough2()圖書基本信息查詢==>voidsearch()讀者注冊==>reg()讀者登錄==>login()退出登錄重來==>restart()這份代碼中各個變量的定義如下:num圖書編號name書名writer作者publish出版社time出版時間price單價具體各個函數(shù)及其功能詳解:structreader*add2(structreader*llast,characcount[max4],charname[max4]);能模塊的劃分1.主函數(shù)模塊根據(jù)圖書館信息管理系統(tǒng)的要求,可設計一個主函數(shù),及定義多個用戶自定義函數(shù)。在主函數(shù)中定義全局變量,即是在函數(shù)外部定義的變量,其不屬于某一個函數(shù),而屬于一個源程序文件,在整個程序內(nèi)可以多次被引用。主函數(shù)主要負責菜單的顯示和各個函數(shù)的調(diào)用,起著最重要的作用。1.圖書基本信息添加模塊添加書號、書名、作者、出版社、出版時間(日期)、單價。2.圖書基本信息顯示模塊當用戶選擇圖書基本信息顯示時,程序會將所有圖書信息一一列出。3.圖書基本信息輸入模塊在程序開始運行,創(chuàng)建文件庫時,調(diào)動此模塊,提示用戶輸入新的圖書編號(編號為0時結束輸入),然后繼續(xù)輸入圖書書名,作者,出版社,出版日期,單價等信息。結束輸入時提示用戶圖書輸入完成4.圖書基本信息刪除模塊用戶輸入所要刪除的圖書書名,先查找該圖書是否存在,若存在,則刪除該圖書所有信息,若不存在則提示無此圖書信息。5.圖書基本信息查詢模塊用戶先選擇圖書查詢方式(按書名查找、按書號查找、按出版社查找、按作者查找)輸入這四個中的任意一個后,查找出該圖書是否存在,若存在,則顯示該圖書信息,若不存在則提示用戶無此圖書信息。若有多本符合該條件,則輸出最先添加的那本書的信息。7.讀者信息瀏覽模塊通過實名注冊登記每個讀者的信息,可統(tǒng)一查詢所有讀者的相關信息。五.主要功能的實現(xiàn)程序運行流程:但每個模塊運行完即會回到主函數(shù),然后選擇其他或退出。1、圖書基本信息錄入:對新到圖書館的圖書的信息(編號、書名、出版社、作者、價格)進行錄入。2、圖書基本信息顯示:顯示已被錄入圖書的所有信息。3、圖書基本信息刪除:通過輸入書名,判斷此圖書是否存在,若存在,則刪除該圖書所有信息,若不存在則提示用戶重新輸入圖書書名。4、圖書基本信息查詢:將所有圖書信息包括編號、書名、出版社、作者、價格等顯示在屏幕上。5、讀者信息的錄入:這里采用注冊登錄的方法對讀者信息進行統(tǒng)計。6、讀者信息的顯示:將讀者賬號、姓名等輸出。7、退出登錄:回到一開始的登錄注冊頁面。8、退出系統(tǒng):即退出圖書借閱管理系統(tǒng)。程序代碼清單如下:.#include<>#include<>#include<>#definemax110#definemax250#definemax3100#definemax420typedefstructbook{ charnum[max1];n讀者賬號:%-12s\n讀者姓名:%-12s\n",cnt2,p->num,p->name); printf("已借書的數(shù)量:%d\n",p->count); if(p->count!=0) printf("最后一本書的書號:%-12s\n",p->shuhao_num); p=p->next; } }}voiddel(){ intj,k; structbook*p,*a; p=link; if(p==NULL) { printf("對不起,現(xiàn)在圖書館一本書還都沒有,建議您先添加圖書^_^\n"); } else { through(); printf("請輸入您要刪除第幾本書吧^_^\n"); scanf("%d",&j); if(j>cnt) { printf("對不起,壓根就沒有那么多的書^_^\n"); } elseif(j<cnt) 書號查找\n"); printf("2.按作者查找\n"); printf("3.按書名查找\n"); printf("4.按出版社查找\n"); scanf("%d",&selete); if(selete==1) { printf("您現(xiàn)在進入書號查找界面,請輸入書號\n"); scanf("%s",a); while(p!=NULL) { m++; if(strcmp(p->num,a)==0) { print(m); break; } else p=p->next; } if(p==NULL) printf("對不起,數(shù)據(jù)庫中沒有您找的書\n"); } elseif(selete==2) { printf("您現(xiàn)在進入作者查找界面,請輸入作者\n"); scanf("%s",a); while(p!=NULL) { m++; if(strcmp(p->writer,a)==0) { print(m); break; } else p=p->next; } if(p==NULL) printf("對不起,數(shù)據(jù)庫中沒有您找的書\n"); } elseif(selete==3) { printf("您現(xiàn)在進入書名查找界面,請輸入書名\n"); scanf("%s",a); while(p!=NULL) { m++; if(strcmp(p->name,a)==0) { print(m); break; } else p=p->next; } if(p==NULL) printf("對不起,數(shù)據(jù)庫中沒有您找的書\n"); } elseif(selete==4) { printf("您現(xiàn)在進入出版社查找界面,請輸入出版社名\n"); scanf("%s",a); while(p!=NULL) { m++; if(strcmp(p->publish,a)==0) { print(m); break; } else p=p->next; } if(p==NULL) printf("對不起,數(shù)據(jù)庫中沒有您找的書\n"); } else { printf("對不起,您的輸入有誤,請重新選擇\n"); } }} voidupdata(charname[max4],charnum[max4]){ structreader*a; a=llink; while(a!=NULL) { if(strcmp(a->name,name)==0) { strcpy(a->num,name); a->count++; strcpy(a->shuhao_num,num); } elsea=a->next; }}voidupdata2(charname[max4],charnum[max4]){ structreader*a; a=llink; while(a!=NULL) { if(strcmp(a->name,name)==0) { a->count--; strcpy(a->shuhao_num,""); } }}voidborrowbook(){ intj,k; structbook*p; p=link; if(p==NULL) { printf("對不起,現(xiàn)在圖書館一本書還都沒有,建議您先添加圖書^_^\n"); } else { through(); printf("請輸入您要借第幾本書吧^_^\n"); scanf("%d",&j); if(j>cnt) { printf("對不起,輸入出錯請重試\n"); } else { for(k=1;k<=j-1;k++) { p=p->next; } if(p->flag==0){ printf("對不起,該書已被借走,請借其他書\n"); } else { p->flag=0; updata(people,p->num); printf("借書成功,請在規(guī)定時間內(nèi)歸還\n"); } } }}voidreturnbook(){ charnum[max4]; structbook*p; p=link; printf("輸入要還的書的書號:\n"); scanf("%s",num); while(p!=NULL) { if(strcmp(p->num,num)==0) { p->flag=1; printf("還書成功哦!\n"); updata2(people,num); break; } p=p->next; } }voidrestart(){ charn; intj,k; printf("1.已有賬號登陸\n2.新用戶注冊\n"); printf("請輸入您的選擇\n"); scanf("%d",&n); if(n==1) { for(j=5;j>=0;j--) { if(j!=0) { k=login(j); if(k==1)break; elsecontinue; flag=0; } else flag=0; } } elseif(n==2) { reg(); } else { printf("對不起,您的輸入有誤,系統(tǒng)自動退出\n"); }}intmain(){ charselete[max1],n;intj,k;printf("歡迎進入圖書管理系統(tǒng)\n");printf("1.已有賬號登陸\n2.新用戶注冊\n"); printf("請輸入您的選擇\n"); scanf("%d",&n); if(n==1) { for(j=5;j>=0;j--) { if(j!=0) { k=login(j); if(k==1)break; elsecontinue; flag=0; } else flag=0; } } elseif(n==2) { reg(); } else { printf("對不起,您的輸入有誤,系統(tǒng)自動退出\n"); } while(flag) { printf("*****************************\n\n"); printf("菜單選擇:\n\n"); printf("1.全部圖書瀏覽\n\n"); printf("2.新圖書添加\n\n"); printf("3.圖書刪除\n\n"); printf("

溫馨提示

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

評論

0/150

提交評論