




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課 程 設(shè) 計(jì)課設(shè)報(bào)告打印須知:在打印之前,先在打印對(duì)話框的屬性打印內(nèi)容中,選擇文檔,不要選顯示標(biāo)記的文檔,否則打印出來的報(bào)告包含標(biāo)注。 課程名稱 高級(jí)語言程序課程設(shè)計(jì) 題目名稱 圖書信息管理系統(tǒng)設(shè)計(jì) 學(xué)生學(xué)院 自動(dòng)化學(xué)院 專業(yè)班級(jí) 自動(dòng)化06級(jí)( )班 學(xué) 號(hào) 3106000861 學(xué)生姓名 藍(lán)源熾 指導(dǎo)教師 楊其宇 2007年6月18日廣東工業(yè)大學(xué)課程設(shè)計(jì)任務(wù)書題目名稱填入你所選擇的題目,小四,宋體加粗圖書信息管理系統(tǒng)設(shè)計(jì)學(xué)生學(xué)院自動(dòng)化學(xué)院專業(yè)班級(jí)自動(dòng)化06級(jí)( )班姓 名你的姓名藍(lán)源熾學(xué) 號(hào)學(xué)號(hào)3106000861一、課程設(shè)計(jì)的內(nèi)容將所選的題目的內(nèi)容copy過來,包括功能要求等等。不記得可以看附錄。字體是楷體,注意排版,不要讓下一頁(老師簽名那頁)跨頁!C題目二:圖書信息管理系統(tǒng)設(shè)計(jì)圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:系統(tǒng)以菜單方式工作v圖書信息錄入功能(圖書信息用文件保存)輸入v圖書信息瀏覽功能輸出v查詢和排序功能:(至少一種查詢方式)算法vl 按書名查詢l 按作者名查詢圖書信息的刪除與修改(可選項(xiàng))v 二、課程設(shè)計(jì)的要求與數(shù)據(jù)1、進(jìn)一步掌握和利用C語言進(jìn)行程設(shè)計(jì)的能力;2、進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法;3、初步掌握開發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法;4、學(xué)會(huì)調(diào)試一個(gè)較長程序的基本方法;5、學(xué)會(huì)利用流程圖或N-S圖表示算法;6、掌握書寫程序設(shè)計(jì)開發(fā)文檔的能力。三、課程設(shè)計(jì)應(yīng)完成的工作1、編寫完成相應(yīng)題目的程序;2、編寫課程設(shè)計(jì)報(bào)告,課程設(shè)計(jì)報(bào)告的內(nèi)容應(yīng)包括以下6個(gè)部分:1) 需求分析:包括設(shè)計(jì)題目、設(shè)計(jì)要求以及系統(tǒng)功能需求分析;2) 總體設(shè)計(jì):包括系統(tǒng)總體設(shè)計(jì)框架和系統(tǒng)功能模塊圖;3) 詳細(xì)設(shè)計(jì):包括主要功能模塊的算法設(shè)計(jì)思路以及對(duì)應(yīng)的工作流程圖;4) 調(diào)試分析過程描述:包括測(cè)試數(shù)據(jù)、測(cè)試輸出結(jié)果,以及對(duì)程序調(diào)試過程中存在問題的思考(列出主要問題的出錯(cuò)現(xiàn)象、出錯(cuò)原因、解決方法及效果等,適當(dāng)?shù)陌Y(jié)果截圖);5) 總結(jié):課程設(shè)計(jì)完成了哪些功能,有沒有什么擴(kuò)展功能?還有哪些地方需要改進(jìn)?課程設(shè)計(jì)過程中的學(xué)習(xí)體會(huì)與收獲、對(duì)本次課程設(shè)計(jì)的認(rèn)識(shí)以及自己的建議等內(nèi)容; 6) 附錄:主要源程序代碼,含必要的注釋。3、答辯:在實(shí)驗(yàn)室建立程序運(yùn)行的環(huán)境,并在指導(dǎo)教師的監(jiān)督下,獨(dú)立解 決問題、運(yùn)行程序和回答教師提出的問題。四、課程設(shè)計(jì)進(jìn)程安排序號(hào)設(shè)計(jì)各階段內(nèi)容地點(diǎn)起止日期1下達(dá)任務(wù)書,說明設(shè)計(jì)要求;收集資料實(shí)驗(yàn)3#5176.182總體方案設(shè)計(jì)、詳細(xì)設(shè)計(jì)實(shí)驗(yàn)3#5176.193編寫程序,調(diào)試分析實(shí)驗(yàn)3#5176.204撰寫報(bào)告并上交,答辯實(shí)驗(yàn)3#5176.21五、應(yīng)收集的資料及主要參考文獻(xiàn)注意參考文獻(xiàn)的格式要求,依照下面的兩個(gè)的格式填寫,可以是網(wǎng)頁,書,雜志, 合計(jì)最少3本(已有的兩個(gè)譚老師的算2本).1 譚浩強(qiáng).C程序設(shè)計(jì)(第三版)M,北京:清華大學(xué)出版社,2005.92 譚浩強(qiáng). C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第三版)M,北京:清華大學(xué)出版社,2005.7發(fā)出任務(wù)書日期: 2007年 6 月 18 日 指導(dǎo)教師簽名:計(jì)劃完成日期: 2007年 6 月 22 日 基層教學(xué)單位責(zé)任人簽章:主管院長簽章:前面的排版注意不要使這頁跨頁!切記切記!目 錄1 設(shè)計(jì)目的與要求頁碼2 總體設(shè)計(jì)頁碼3 詳細(xì)設(shè)計(jì)頁碼3.1功能模塊設(shè)計(jì)頁碼3.1.1 XX功能模塊(可選) 頁碼3.1.1 YY功能模塊(可選) 頁碼3.1.1 ZZ功能模塊(可選)頁碼3.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)頁碼4調(diào)試分析 頁碼5 總結(jié)頁碼6 附錄頁碼6 答辯記錄(正文處請(qǐng)留出適當(dāng)空白) 頁碼7 指導(dǎo)教師意見(正文處請(qǐng)留出十行空白) 頁碼1 目的與要求正文內(nèi)容采用5號(hào)宋體寫.題目:圖書信息管理系統(tǒng)設(shè)計(jì)圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:系統(tǒng)以菜單方式工作v圖書信息錄入功能(圖書信息用文件保存)輸入v圖書信息瀏覽功能輸出v查詢和排序功能:(至少一種查詢方式)算法vl 按書名查詢l 按作者名查詢圖書信息的刪除與修改(可選項(xiàng))v需求說明:圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等并且要求職工號(hào)不重復(fù);錄入的圖書信息要求用文件形式保存,并可以對(duì)其進(jìn)行瀏覽、查詢、修改、刪除等基本操作;對(duì)圖書信息查詢應(yīng)能夠分別按書名及作者名兩種方式進(jìn)行,要求能返回所有符合條件的職工的信息;對(duì)職工信息的修改應(yīng)逐個(gè)地進(jìn)行,一個(gè)職工信息的更改不應(yīng)影響其他的職工記錄;系統(tǒng)應(yīng)以菜單方式工作,應(yīng)為用戶提供清晰的使用提示,依據(jù)用戶的選擇來進(jìn)行各種處理。 2 總體設(shè)計(jì)文件保存圖書信息管理系統(tǒng)按作者名查詢刪除按書名查詢按登陸號(hào)排序 菜單選擇輸入修改輸出查詢菜單選擇模塊完成用戶命令的接收,此模塊也是圖書信息管理系統(tǒng)的入口,用戶所要進(jìn)行的各種操作均需在此模塊中進(jìn)行選擇并進(jìn)而調(diào)用其他模塊實(shí)現(xiàn)相應(yīng)的功能;輸入模塊完成圖書信息的輸入功能,輸入信息包括登陸號(hào)、書名、作者名、分類號(hào)、出版社、出版日期、價(jià)錢等;輸出模塊完成已錄入圖書信息的顯示;查詢模塊完圖書信息的查詢,查詢時(shí)對(duì)應(yīng)有按書名查詢和按作者名查詢兩種方式;修改模塊完成圖書信息的修改功能;刪除模塊完成圖書信息的刪除功能;按登陸號(hào)排序模塊完成對(duì)信息的排序;文件保存模塊完成文件的保存。3 詳細(xì)設(shè)計(jì)(內(nèi)容可以適當(dāng)調(diào)整,清晰的有條理的把你的設(shè)計(jì)思路表達(dá)出來)3.1功能模塊設(shè)計(jì)3.1.1 XX功能模塊(可選)3.1.2 YY功能模塊(可選)3.1.3 ZZ功能模塊(可選)3.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)(可選) 菜單選擇模塊:(給出信息提示;繪制菜單(包含輸入、顯示、查詢、修改、刪除、退出、排序);提示菜單選擇并讀入到變量;根據(jù)讀入變量的值調(diào)用不同的模塊函數(shù);) 信息輸入模塊:(打開職工信息文件;發(fā)出輸入提示信息; 輸入職工信息;提示是否繼續(xù)輸入;讀入到變量;根據(jù)讀入變量的值進(jìn)入菜單或輸入函數(shù)模塊;) 信息輸出模塊:(輸出所有圖書的所有信息。) 信息查詢模塊:(調(diào)用switch函數(shù); 給出信息提示;提示菜單選擇并讀入到變量;根據(jù)讀入變量的值進(jìn)入不同的case;Case 1 給出信息提示;提示菜單選擇并讀入到變量;Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息;否則,提示出錯(cuò)。Case 2 給出信息提示;提示菜單選擇并讀入到變量;Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息;否則,提示出錯(cuò)。)5 信息修改模塊:(給出信息提示;提示菜單選擇并讀入到變量;Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息,并提示輸入新的圖書信息;否則,提示出錯(cuò)。)6信息刪除模塊:(給出信息提示;提示菜單選擇并讀入到變量;Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息,并刪除該圖書的圖書信息;否則,提示出錯(cuò)。)7排序模塊(看能不能打開程序;如能,則用冒泡法排序;輸出排序后的所有信息)8 文件保存模塊(看文件能不能讀;否則提示出錯(cuò)??次募拈L度符不符合要求;否則提示出錯(cuò)。保存文件)4 調(diào)試分析一實(shí)現(xiàn)程序:首先進(jìn)入如下界面: 1:input 2:output 3:save 4:search 5:xiugai 6:del7:sort 0:exit;二輸入“1”,后按“num登陸號(hào)”, book_name書名,writer作者名,sort。name分類號(hào),出版社pubconpany,出版時(shí)間pubtime,價(jià)錢price順序輸入兩組數(shù)據(jù):“1,we,er,1,as,1234,34”“2,ew,re,2,sa,4321,43”三輸入“3”保存。四輸入“2”輸出數(shù)據(jù):“1,we,er,1,as,1234,34”“2,ew,re,2,sa,4321,43”五輸入“4”查找,“請(qǐng)選擇按書名或作者名查詢: 1:書名。 2作者名 “輸入“1“或”2“分別查詢。輸入“1“和“we“,輸出“1,we,er,1,as,1234,34”;輸入2和“re“,輸出“2,ew,re,2,sa,4321,43” 符合要求六 輸入”5”或“6“進(jìn)行修改或刪除。輸入修改的書名“we”顯示“1,we,er,1,as,1234,34”及“please input xiugais the informations”,后輸入新信息,再輸入“3”保存。七輸入7按登陸號(hào)排序。運(yùn)行正常,輸入0退出。調(diào)試過程中,問題很多比如說編寫排序和文件保存函數(shù)時(shí),對(duì)fopen函數(shù)認(rèn)識(shí)不夠,一開始是用if(fp=fopen(f:c,rb)=NULL)這個(gè)語句,調(diào)試的時(shí)候一直都最少都是一個(gè)錯(cuò)誤:后來怎么弄都糾正不了。后來慢慢的查書,逐行檢查。才終于改正為 if(fp=fopen(file.c,wb)=NULL)。程序終于可以運(yùn)行。通過這我懂得:寫程序時(shí)一定要嚴(yán)謹(jǐn),盡可能寫下的每一行不出錯(cuò)。否則調(diào)試時(shí)會(huì)很麻煩。5 總 結(jié) 本次課程設(shè)計(jì)是我這學(xué)期編寫的第一個(gè)大程序,從花費(fèi)的過去三天總計(jì)十七個(gè)小時(shí)中,我得到如下收獲:1 用好C語言某種程度上關(guān)鍵就是用好所需的各種函數(shù)的調(diào)用,c語言的確是一種結(jié)構(gòu)化的語言。2 學(xué)會(huì)和加深了對(duì)于結(jié)構(gòu)體和共用體的理解,以及在程序中怎樣實(shí)現(xiàn)文件函數(shù)的輸入輸出和文件的定位。3 只有上機(jī)實(shí)踐才能檢驗(yàn)自己寫的程序,看是看不出來的。4 深深懂得調(diào)試、書寫規(guī)范和檢錯(cuò)的重要性。5 連續(xù)三天每天六小時(shí)端坐在電腦前動(dòng)都不能動(dòng),絞盡腦汁艱苦奮斗的經(jīng)歷告訴我:程序員這種工作,真的不是人干的.7.附錄#include #include #include #define N 10struct library int num; char book_name30; char writer30; char sort_num3; char pub_company30; char pub_time30; char prise30;typedef struct library LIB;LIB libN;FILE *fp;int all=0;int menu(void);void input(void);void output(void);void save(void);void del(void);void search(void);void xiugai(void);void sort(void);main() for(;) switch(menu() case 1:input();break; case 2:output();break; case 3:save();break; case 4:search();break; case 5:xiugai();break; case 6:del();break;case 7:sort();break; case 0:exit(1);break; int menu(void) /*顯示主菜單*/ char m3; int n; printf(tt1:inputn); printf(tt2:outputn); printf(tt3:saven); printf(tt4:searchn); printf(tt5:xiugain); printf(tt6:deln); printf(tt7:sortn); printf(tt0:exitn); printf(ttplease choose a operation(0-6):n); scanf(%s,m); n=atoi(m); return(n);void input(void) /*顯示輸入函數(shù)*/ int i; char m3; for(i=all;iN;i+) all+; printf(please input informations:n); printf(ttnum:n); scanf(%d,&libi.num); printf(ttbook_name:n); scanf(%s,libi.book_name); printf(ttwriter:n); scanf(%s,libi.writer); printf(ttsort_num:n); scanf(%s,libi.sort_num); printf(ttpub_company:n); scanf(%s,libi.pub_company); printf(ttpub_time:n); scanf(%s,libi.pub_time); printf(ttprise:n); scanf(%s,libi.prise);a: printf(ttyes/no continue input?n); printf(tt1:yesn); printf(tt2:non); scanf(%s,m); if(atoi(m)=1) continue; else if(atoi(m)=2) return; else printf(ttinput error!n); goto a; void output(void) /*顯示輸出函數(shù)*/ int i; for(i=0;iall;i+) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); void sort(void)/*從登陸號(hào)從大到小排序的函數(shù)*/int b,i;struct library flash;if(fp=fopen(file.c,wb)=NULL) printf(cannot open filen); return; for(b=0;bN;b+)for(i=b+1;iN;i+)if(strcmp(libb.sort_num,libi.sort_num)0)flash=libb;libb=libi;libi=flash;printf(the down object is:n);printf( num bookname writer sort_num pub_company pub_time prisen);for(b=0;bN;b+)if(libb.sort_num0!=0)printf(%d %s %s %s %s %s %sn,libb.num,libb.book_name,libb.writer,libb.sort_num,libb.pub_company,libb.pub_time,libb.prise);else break;void save(void) /*文件保存*/ int i;if(fp=fopen(file.c,wb)=NULL) printf(can not open the file); exit(1); for(i=0;iall;i+) if(fwrite(&libi,sizeof(LIB),1,fp)!=1) printf(can not write!); exit(1); fclose(fp);void search(void) /*書名和作者名查找*/ int i,flag; char m3; char name30; printf(tt請(qǐng)選擇按書名或作者名查詢:n); printf(tt1:書名n); printf(tt2:作者名n); scanf(%s,m); i=atoi(m); switch(i) case 1: printf(ttplease input the book_name:n); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.book_name)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); flag=1;break; if(flag=0) printf(ttnot find the book!n); break; case 2: printf(ttplease input the writer:n); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.writer)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); flag=1;break; if(flag=0) printf(ttnot find the wtiter!n); break; void xiugai(void) /*顯示修改函數(shù)*/ int i,flag; char name30,n3; printf(ttplease input the book_name of xiugai :n); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.book_name)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); printf(ttplease input xiugais the informations:n); printf(ttnum:n); scanf(%d,&libi.num); printf(ttbook_name:n); scanf(%s,libi.book_name); printf(ttwriter:n); scanf(%s,libi.writer); printf(ttsort_num:n); scanf(%s,libi.sort_num); printf(ttpub_company:n); scanf(%s,libi.pub_compan
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 禮儀用品行業(yè)品牌形象塑造與品牌傳播策略研究考核試卷
- 電機(jī)運(yùn)行與維護(hù)管理考核試卷
- 耐火土石礦山開采對(duì)地形地貌的影響考核試卷
- 抗疫“心”能量-生命主題教育課程
- 水電工程建設(shè)項(xiàng)目后評(píng)價(jià)方法與案例考核試卷
- 肉類罐頭銷售渠道拓展與管理考核試卷
- 體育用品租賃業(yè)務(wù)中的用戶體驗(yàn)優(yōu)化考核試卷
- 糖果的食品安全突發(fā)事件應(yīng)對(duì)考核試卷
- 少兒美術(shù)教育課程
- 幼兒園的法制教育課件
- 青馬工程筆試試題及答案
- 豆粕交易合同協(xié)議
- 項(xiàng)目設(shè)計(jì)安全管理制度
- 電子化采購招投標(biāo)平臺(tái)系統(tǒng)建設(shè)項(xiàng)目解決方案
- 小學(xué)京劇知識(shí)
- (2025)漢字聽寫大會(huì)競(jìng)賽題庫(含答案)
- 鐵塔土建施工方案
- 2025年演出經(jīng)紀(jì)人《演出市場(chǎng)政策與經(jīng)紀(jì)實(shí)務(wù)》考前點(diǎn)題卷一
- GB/T 45235-2025電子電氣產(chǎn)品中雙酚A的測(cè)定高效液相色譜法
- 消防管線施工方案
- 2025年度祠堂宗教用品銷售承包合同3篇
評(píng)論
0/150
提交評(píng)論