




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課 程 報(bào) 告課 程 名 稱: 程序設(shè)計(jì)實(shí)踐 專 業(yè) 班 級 : 學(xué) 生 姓 名 : 學(xué) 號 : 任 課 教 師 : 閻娟 學(xué) 期 :2021-2021學(xué)年第二學(xué)期 課程報(bào)告任務(wù)書題 目圖書信息管理系統(tǒng)主要內(nèi)容開發(fā)一個(gè)圖書信息管理系統(tǒng),圖書信息包括:圖書編號、書名、作者、出版社、類別、出版時(shí)間、價(jià)格等根本信息也可以根據(jù)自己情況進(jìn)行擴(kuò)充,比方是否借出、庫存量等。使之能提供以下根本功能:1圖書信息錄入功能(圖書信息用文件保存)輸入2圖書信息瀏覽功能輸出3查詢功能(至少一種查詢方式)、排序功能(至少一種排序方式): 按書名查詢 按作者名查詢 = 3 * GB3 按照價(jià)錢排序 = 4 * GB3 按出
2、版時(shí)間排序等等4圖書信息的刪除與修改擴(kuò)展功能:可以按照自己的程度進(jìn)行擴(kuò)展。比方1簡單的權(quán)限處理 2報(bào)表打印功能3甚至根據(jù)自己情況,可以加上學(xué)生信息,并擴(kuò)充為圖書借閱系統(tǒng)。4模糊查詢 5綜合查詢 6統(tǒng)計(jì)功能 比方統(tǒng)計(jì)處某一類別的圖書信息 或 篩選出小于指定數(shù)量庫存的圖書信息等等,總之,可以根據(jù)自己需求進(jìn)行分析功能。任務(wù)要求一、提交材料應(yīng)包括:1系統(tǒng)源代碼 2課程報(bào)告二、整個(gè)設(shè)計(jì)過程具體要求1需求分析 要求學(xué)生對案例系統(tǒng)進(jìn)行分析,設(shè)計(jì)出需要完成的功能,完善各個(gè)模塊的調(diào)用關(guān)系;2設(shè)計(jì)過程 要求學(xué)生進(jìn)一步明確各模塊調(diào)用關(guān)系,進(jìn)一步完善模塊函數(shù)細(xì)節(jié)函數(shù)名、參數(shù)、返回值等3實(shí)現(xiàn)過程 要求學(xué)生養(yǎng)成良好的編碼
3、習(xí)慣、完成各個(gè)模塊并進(jìn)行測試,最終完成系統(tǒng)整體測試;4總結(jié)階段 按照要求完成系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)報(bào)告,并進(jìn)行總結(jié)、辯論。成績評定報(bào)告撰寫情況30分系統(tǒng)完成情況30分辯論情況40分總分內(nèi)容20分標(biāo)準(zhǔn)程度5分程序測試5分根本功能20分?jǐn)U展功能10分自述情況10分辯論情況30分成績評定教師:1 需求分析 隨著當(dāng)今社會開展,信息化水平逐步提高,對圖書管理有了新的要求,因此,編寫一個(gè)信息管理系統(tǒng)是十分必要的。為了滿足圖書管理的要求,通過計(jì)算機(jī)技術(shù)給圖書管理人員和讀者借、還書帶來便利。使用C語言編寫圖書管理系統(tǒng)。本系統(tǒng)主要實(shí)現(xiàn)圖書信息管理的功能,通過此系統(tǒng)可對圖書館庫存圖書信息進(jìn)行管理和維護(hù)操作。實(shí)現(xiàn)了圖書館內(nèi)
4、管理的一般功能,包括查詢、添加、刪除、修改圖書信息等。所設(shè)計(jì)的系統(tǒng)以菜單方式工作,為用戶提供清晰的使用提示,依據(jù)用戶的選擇來進(jìn)行各種處理,并且在此過程中能夠盡可能的兼容用戶使用過程中可能出現(xiàn)的異常情況。圖書信息包括編號、書名、作者、出版社、出版日期、價(jià)格、庫存數(shù)量等。圖書信息的錄入和顯示要求有一定的標(biāo)準(zhǔn)格式,錄入的圖書信息用文件形式保存,并可以對其進(jìn)行瀏覽、查詢、修改、刪除等根本操作。整個(gè)程序?qū)崿F(xiàn)鏈表操作,對圖書信息的操作逐個(gè)進(jìn)行,一個(gè)圖書信息的更改不應(yīng)影響其他的圖書記錄。 2 概要設(shè)計(jì) 1,設(shè)計(jì)表示:(1)、整個(gè)系統(tǒng)除了主函數(shù)外,另外還有各種功能子函數(shù),利用無限次循環(huán)語句while()和選擇
5、語句swithch()實(shí)現(xiàn)各個(gè)子函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的數(shù)字選項(xiàng)來調(diào)用相應(yīng)的函數(shù),以實(shí)現(xiàn)相應(yīng)的功能。主要實(shí)現(xiàn)了圖書的密碼設(shè)置、錄入、存儲、查詢、添加、刪除、修改、排序等功能。(2) void Main_menu();這是一個(gè)指針函數(shù),它主要實(shí)現(xiàn)了鏈表的創(chuàng)立,并且在創(chuàng)立過程中從文件讀取信息到鏈表中,以用于后面其他函數(shù)的操作。 (3) void mainFind()、void Delete()、void change()、void write()、struct node * read()、void Sorting_order()、#define S 123、#define A 123456這六個(gè)
6、函數(shù)時(shí)整個(gè)圖書管理系統(tǒng)的全部菜單函數(shù)。void Delete()、void change()、void write()、struct node * read()、在此可以選擇刪除、修改、保存,讀取圖書,排序等操作。void mainFind();為查詢系統(tǒng)的菜單,在此可以選擇按書名、編號、作者等方式進(jìn)行查詢圖書。#define S 123、#define A 123456分別是學(xué)生登陸和管理員登陸的密碼。 (4) void Print();這個(gè)函數(shù)為圖書的遍歷,瀏覽所有的圖書。 (5) void Find_booknumber()、void Find_bookname()、void Find_
7、author()、void Find_press();這三個(gè)函數(shù)為查詢圖書信息函數(shù),void Find_booknumber();按書號查詢、; void Find_bookname()按書名查詢、void Find_author() ;按作者查詢、void Find_press();按出版社查找。(6)void Sorting_booknumber(),按書號排序。void Sorting_price(),按價(jià)格排序。void Sorting_publication_date(),按出版日期排序。void Sorting_number(),按館藏?cái)?shù)量排序。 3實(shí)現(xiàn)注釋:這個(gè)實(shí)用的小型圖書管理
8、程序程序以鏈表操作完成,并實(shí)現(xiàn)文件信息的錄入和保存等功能。實(shí)現(xiàn)了圖書管理的根本功能,包括了圖書的錄入、存儲、查詢、添加、刪除、修改、排序等功能。查詢時(shí)可按書名、編號、作者等方式查詢,找到后輸出這本書的所有信息。在添加圖書信息后,還增加了鏈表排序操作,并輸出整個(gè)鏈表,方便用戶檢查信息。系統(tǒng)中主要的數(shù)據(jù)結(jié)構(gòu)就是圖書的信息,包含編號、書名、作者、出版社、出版時(shí)間、價(jià)格、館藏?cái)?shù)量等,在處理過程中各項(xiàng)可以作為一本圖書的不同屬性來進(jìn)行處理。3 詳細(xì)設(shè)計(jì)1-1 定義變量struct nodeint book_number;/書號char book_name25;/書名char press50;/出版社cha
9、r author20;/作者int price;/價(jià)格char publication_date20;/出版日期int number;/館藏?cái)?shù)量struct node * next;struct node * head = NULL;/在此定義一個(gè)全局變量head,其它函數(shù)就不需要再返回head;但這樣做,程序中的函數(shù)的可用性就不是太高int Total = 0; /記錄圖書總數(shù)1-2函數(shù)的定義void Creat();/錄入圖書信息struct node* Insert(struct node* p,struct node* head0);/插入圖書信息void Delete();/刪除圖書
10、信息void change();/修改圖書信息void write();/保存圖書信息struct node * read();/讀取圖書信息void amend(struct node * p);/輔助修改選項(xiàng) void Print();/遍歷圖書信息void Print_by_one(struct node * p);/單項(xiàng)遍歷void Main_menu();/登陸界面void Administrator_menu0();/第一次進(jìn)入系統(tǒng)的管理員菜單void Administrator_menu1();/第n次進(jìn)入系統(tǒng)的管理員菜單void Student_menu();/學(xué)生菜單void
11、 mainFind();/查找菜單void Find();/精確查找圖書void Find0();/模糊查找圖書int str(char a,char b);/模糊查找函數(shù)void Find_booknumber();/按書號查找void Find_booknumber0();/按書號模糊查找void Find_bookname();/按書名查找void Find_bookname0();/按書名模糊查找void Find_author(); /按作者查找void Find_author0(); /按作者模糊查找void Find_press(); /按出版社查找void Find_press
12、0(); /按出版社模糊查找char *transform(char str ,int n);/將整數(shù)轉(zhuǎn)化為字符存入字符數(shù)組返回void Sorting_order();/排序void Sorting_help(struct node* p1,struct node* p2);/輔助排序void Sorting_booknumber();/按書號排序void Sorting_price();/按價(jià)格排序void Sorting_publication_date();/按出版日期排序void Sorting_number();/按館藏?cái)?shù)量排序#define S 123 /學(xué)生密碼#define
13、A 123456/管理員密碼int T = 0;/選擇菜單1-3信息的錄入void Creat()/錄入圖書信息struct node *tail,*p;int book_number;/書號char choice;printf(該操作將去除書庫中所有書目的信息!n);printf(nttt你想繼續(xù)操作嗎?(Y/N)n);while(1)printf(請選擇:);if(scanf(%c,&choice)getchar();if(choice = Y|choice = y)system(cls);break;else if(choice = N|choice = n)system(cls);re
14、turn;elseprintf(請按要求輸入!n);continue;elseprintf(輸入的不是字母,請按照要求重新輸入!n);continue;printf(ttt提示:請輸入你要輸入的數(shù)據(jù),當(dāng)書號為數(shù)字0時(shí)結(jié)束!nn);printf(請輸入書號:);scanf(%d,&book_number);getchar();/吸收回車符,清空緩沖區(qū),這樣才能正常執(zhí)行清屏操作while(book_number != 0)p = (struct node *)malloc(sizeof(struct node);printf(請輸入書名:);scanf(%s,p-book_name);getcha
15、r();printf(請輸入作者:);scanf(%s,p-author);getchar();printf(請輸入出版社:);scanf(%s,p-press);getchar();printf(請輸入價(jià)格:);scanf(%d,&p-price);getchar();printf(請輸入出版時(shí)間:);scanf(%s,p-publication_date);getchar();printf(請輸入館藏?cái)?shù)量:);scanf(%d,&p-number);getchar();putchar(n);p-book_number = book_number;p-next = NULL;if(head
16、= NULL)head = tail = p;elsetail-next = p;tail = p;Total+;printf(請輸入書號:);scanf(%d,&book_number);printf(tttt圖書信息錄入成功!nn);1-4按編號查詢void Find_booknumber()/按書號查找int book_number;struct node *p1,*p2;printf(請輸入你要查找的圖書書號:);scanf(%d,&book_number);printf(ttn你要找的書為:n);printf(tt-n);printf(tt| 書號| 書名| 作者| 出版社| 價(jià)格|
17、 出版時(shí)間| 館藏?cái)?shù)量|n);printf(tt-n);if(head-book_number = book_number)Print_by_one(head);p1 = head;p2 = head-next;while(p2 != NULL)if(p2-book_number = book_number)Print_by_one(p2);p1 = p2;p2 = p2-next;elsep1 = p2;p2 = p2-next;1-5按出版時(shí)間排序void Sorting_publication_date()/按出版日期排序struct node *p1,*p2,*p3,*p4,*p5,*
18、p6,*p7;int x=1;for(p1=head;p1-next!=NULL;p4=p1,p1=p1-next)p3=p1;for(p2=p1-next,p5=p7=p2;p2!=NULL;p7=p2,p2=p2-next)if(strcmp(p3-publication_date , p2-publication_date) 0)p3=p2;p5=p7;if(p3!=p1)if(x&p1=head)p6=p1-next;p1-next=p3-next;p3-next=p6;p5-next=p1;head=p3;p1=p3;x=0;elsep6=p1-next;p1-next=p3-next;p3-next=p6;p4-next=p3;p5-next=p1;p1=p3;4 調(diào)試分析 問題1:對于函數(shù)是否返回函數(shù)值,并怎樣返回指針? 解答:對于void開頭的函數(shù),沒有返回值,在程序中可以直接調(diào)用。有指針返回值的函數(shù),直接返回指針名。問題2:在使用變量前,指針
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度圖書銷售員勞動合同與圖書推廣活動策劃
- 二零二五年度薪資調(diào)整與員工職業(yè)生涯規(guī)劃服務(wù)補(bǔ)充協(xié)議
- 二零二五年度電梯維保與智能運(yùn)維解決方案合同
- 二零二五年度游戲角色設(shè)計(jì)人員勞動合同
- 天全縣公開招聘縣屬國有企業(yè)高級管理人員?筆試參考題庫附帶答案詳解
- 新能源電廠知識培訓(xùn)課件
- 2025新疆交投集團(tuán)所屬子公司招56人筆試參考題庫附帶答案詳解
- 教你成為健身達(dá)人知到智慧樹章節(jié)測試課后答案2024年秋成都師范學(xué)院
- 2025年河南空港數(shù)字城市開發(fā)建設(shè)有限公司第一批社會招聘20人筆試參考題庫附帶答案詳解
- 2025年國網(wǎng)河南省電力公司招聘高校畢業(yè)生950人(第一批)筆試參考題庫附帶答案詳解
- 醫(yī)務(wù)人員手衛(wèi)生規(guī)范培訓(xùn)課件預(yù)防醫(yī)院感染的手衛(wèi)生措施
- 《反竊電技術(shù)》課件
- 學(xué)生宿舍電路負(fù)荷和電線阻燃要求
- 2023年污水處理行業(yè)洞察報(bào)告及未來五至十年預(yù)測分析報(bào)告(修訂版)
- 廚房油煙凈化設(shè)備日常保養(yǎng)與維護(hù)
- 拓?fù)鋽?shù)據(jù)分析理論
- 刺絡(luò)放血療法
- 用人單位錄用職工備案表
- 下肢靜脈曲張的靜脈內(nèi)射頻消融術(shù)
- (完整版)200210號文-工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)(2002年修訂本)
- (完整版)污水管道施工方案
評論
0/150
提交評論