學生信息管理系統(tǒng)的設計與實現(xiàn)的設計書_第1頁
學生信息管理系統(tǒng)的設計與實現(xiàn)的設計書_第2頁
學生信息管理系統(tǒng)的設計與實現(xiàn)的設計書_第3頁
學生信息管理系統(tǒng)的設計與實現(xiàn)的設計書_第4頁
學生信息管理系統(tǒng)的設計與實現(xiàn)的設計書_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學生信息管理系統(tǒng)的設計與實現(xiàn)的設計方案1 實習目的課程設計是課程學習后的一個綜合性實踐教學環(huán)節(jié),是對課程理論和課程實驗 的綜合和補充。它主要培養(yǎng)綜合運用已學過的理論和技能去分析和解決實際問題的 能力,對加深課程理論的理解和應用、切實加強實踐動手能力和創(chuàng)新能力具有重要 意義。課程設計是我們必不可少的一個綜合性理論實踐環(huán)節(jié)。為了融會貫通本課程所學專業(yè)理論知識,完成一個較完整的程序設計與計算和 程序調(diào)試過程,以加深對所學理論的理解與應用,進一步認識和熟悉C 語言程序設計中的語句的應用和用途,了解解決實際問題的一般過程,培養(yǎng)綜合運用基礎(chǔ)理論 知識和專業(yè)知識去解決實際應用設計問題的能力。通過綜合性課程設

2、計訓練,達到 以下的目的和要求:1結(jié)合該課程中所學的C語言理論知識,設計一個綜合的程序解決具體的實際問題,按要求獨立完成設計方案,培養(yǎng)獨立分析與解決問題的能力;2、學會查閱相關(guān)手冊和資料,通過查閱手冊和資料,進一步熟悉常用方法的用 途和技巧,并掌握這些方法的具體含義和如何使用這些方法解決實際問題;3、掌握綜合性程序設計的基本過程;4、掌握綜合性程序開發(fā)的調(diào)試技術(shù),熟悉常用調(diào)試方法的使用;5、認真撰寫總結(jié)報告,培養(yǎng)嚴謹?shù)淖黠L和科學的態(tài)度。2 需求分析2.1 模塊劃分及功能根據(jù)圖書信息管理的需要,建立一個圖書管理系統(tǒng),可將程序分為以下幾個模 塊:圖書信息錄入、圖書信息瀏覽、圖書信息查詢、圖書信息刪

3、除、圖書信息修改、 退出圖書信息系統(tǒng)。應該實現(xiàn)的主要功能有:1系統(tǒng)以菜單方式工作2圖書信息錄入功能 輸入3圖書信息瀏覽功能一一輸出4查詢和排序功能 算法(1)按書名查詢(2)按作者名查詢5圖書信息的刪除與修改2.2題目分析根據(jù)題目的要求,應當把圖書信息用結(jié)構(gòu)形式輸入,再定義一個全局變量和文 件指針進行整個程序的運行,然后 ,吧圖書信息送到文件中。在程序中需實現(xiàn)圖書 信息錄入、瀏覽、查詢、刪除和修改等功能的操作,所以需要建立相應的模塊來實 現(xiàn),并且還需要提供選擇菜單來實現(xiàn)功能,在運行時達到預定的目的。3概要設計3.1總體設計方案說明:圖1程序功能圖3.2 程序采用的結(jié)構(gòu):typedef stru

4、ctchar number10;char name20;char author20;char publish50;char time20;float price;int count;3.3 各個功能的函數(shù) :void putin()void search_by_name()void search_by_author()void search()void del()void update()4. 詳細設計4.1 主函數(shù)的算法設計定義登錄號定義書名定義作者名 定義出版單位 定義出版時間定義價格定義書的本數(shù)定義錄入函數(shù) 定義按書名查詢 定義按作者名查詢 定義查詢函數(shù) 定義刪除函數(shù) 修改圖書信息首先運

5、行程序,進入菜單,然后選擇操作(運用 swith 語句),調(diào)用各子函數(shù) 在返回操作中運用 while 語句進行控制返回菜單開始輸入選擇+退出圖書信息系統(tǒng)結(jié)束IJ圖2程序總體運行功能示意圖4.2各子函數(shù)的算法設計4.2.1圖書信息錄入函數(shù)程序運行后輸入數(shù)字“1”進行圖書信息錄入功能圖3 圖書信息錄入函數(shù)示意圖4.2.2 圖書信息瀏覽函數(shù)在主菜單進行操作,輸入 2 進入圖書信息瀏覽界面,圖書信息進行顯示,按任 意鍵返回;4.2.3 圖書信息的查詢函數(shù)void search ()選擇查詢方式, 1 按書號查詢, 2 按書名查詢,然后定位,在 調(diào)用輸出函數(shù);圖 4 圖書信息查詢函數(shù)示意圖4.2.4 圖

6、書信息的刪除函數(shù)在主菜單進行操作,輸入 4 進入圖書信息刪除界面,圖書信息提示輸入要刪除信息的編號,按要求輸入索要刪除圖書信息的編號,按回車鍵進行返回;圖5圖書信息刪除函數(shù)示意圖4.2.5 圖書信息的修改函數(shù)在主界面進行操作,輸入 5 進入圖書信息修改界面,按顯示信息的提示,輸入 要修改圖書信息的編號,進行修改,繼續(xù)按顯示信息的提示依次修改,修改完成后 按回車鍵返回,可輸入 2 進入圖書信息瀏覽進行檢驗;圖6 圖書信息修改函數(shù)示意圖5. 調(diào)試與測試結(jié)果分析在 vc 的環(huán)境下調(diào)試程序,進入菜單界面。 (如圖 7 所示)圖7菜單界面5.1圖書信息錄入從菜單界面輸入“ 1”進入圖書信息管理系統(tǒng)的主界

7、面。(如圖8、圖9所示)a : Docaaents and Settings jLdi&istratr書音澤11屯1叱11111111:12.述芒| I圖書信息管理禺統(tǒng)12 3 4 5 0書書書書書Hr -E-E-E-E-E細需杳刪韜 自3自亠自?自小自心-f 宦ft.ft.ft.沖 汁忙才忡計圖圖8圖書信息錄入iaj x號即 n o z 2&UJffaA弓; 穡iw:h:d間價 書苕社需 旳名您書擊岀該 AAAAAA Iswis詩W.Whom入入小人人人 求請U音請請管箱en5:d間價 書沖名社 的茗UMJL a 退的htuL11 2 0A:0蚤是否纟也續(xù)錄人.繼續(xù)汕,區(qū)出錄入趴圖9錄入圖書

8、信息5.2圖書信息瀏覽輸入” 0”返回菜單主界面,再輸入“ 2”進行圖書信息瀏覽功能;(如圖10、圖11所示)g *r - IlnrTiMPTitc: a nJ Stt 1 B5:ilidfll DI Etr*t tA 魚L 由iS 捍謖計圖書背春、Jalxi門出塔息官逹手欽n1-sgI 一番沓刪修 十息B嘗置息 Q-庖宦意.piEnter Chnase:3圖10圖書信息瀏覽圖11瀏覽圖書信息5.3圖書信息查詢按回車返回菜單界面并輸入“ 3”進行圖書信息查詢功能;(如圖12所示)圖12圖書信息查詢界面顯示1通過查詢2通過作者查詢3退出 (如圖13、圖14所示)c:f -Dorweiit5 an

9、d Sett incsVAidBi ni stratoirSllSir|-E4,SflPDebialwskiiiiBii2. exe* I |:36 arcli _j3y_namc ac ir,iiuBMit e -oiiiid Sclti ThfcAkidMi ai t raLEBr39*。雷*艷匚人9031$廠妬查詢二1HJN1-1請圈酗S yi dine p amwrit t? r-exit請選揺你想要的査詢方武:2 入要查詢的書的莊香hfit* 號圖書生件古點出版社出版口期siUAng Jiaodezliou 2U13_5_4圏書價梧2MM.MU圖14按作者名進行查詢?nèi)绻斎胄畔⒉环麑?/p>

10、出現(xiàn)如下界面(如圖 15所示):ocv.eaei肝始杳詢s e e f請選擇你悒曼的直詢方式=1噩汽聽書磊器獵社出版日期narnnt found?_圖書價格圖15查詢結(jié)果錯誤5.4圖書信息刪除返回并輸入4進行圖書信息刪除功能;(如圖16、圖17所示)圖16圖書信息刪除Pl&ase type in the nunher of the book you &2圈書號圈書名作考茗岀版社出版目期&2uenhua uudezliou 2013-5.5want to delete:番韋價蒂360.00人人入入入入 si薊SJ圖17顯示刪除后的信息5.5圖書信息修改返回菜單界面并輸“ 5”進行圖書信息修改功能

11、;(如圖18所示)SiA改后此圏書妁信息 001名:dan艸塔:qu.lu:dezhou吋間:2ftl3;.S.fi圖18圖書信息修改返回并查詢“圖書信息瀏覽”(如圖19所示)圖19圖書信息瀏覽5.6退出圖書信息管理系統(tǒng)輸入數(shù)字“0”退出圖書信息管理系統(tǒng)5.7上機調(diào)試感想在調(diào)試過程中出現(xiàn)了許多錯誤!特別是查詢,修改和刪除這三個函數(shù)的調(diào)試花 了很多時間,主要是文件的寫入與讀出以及菜單調(diào)試的問題,還有建立新的也出現(xiàn) 問題,說明自己對程序的執(zhí)行過程理解不夠深刻。6總結(jié)通過這次課程設計,使我們更加熟練的使用C語言進行編程,并且復習并鞏固 了以前學到的知識。編程能力也有提高,尤其是在使用函數(shù)、指針、數(shù)組

12、、結(jié)構(gòu)體、 文件等方面有了很大進步,而且還學到了課本中沒有的知識。只有經(jīng)過實際操作, 進行實際編程訓練才能更好地發(fā)現(xiàn)問題,運用課本知識,在解決實際的問題中發(fā)現(xiàn) 不足。在程序中的函數(shù)是實現(xiàn)模塊化編程的基礎(chǔ),它使程序變得方面易懂,對修改起 了很大作用,降低了編程的難度。一個函數(shù)就是一個功能,它使各個功能之間有了 一定的獨立性,但也有了一定的聯(lián)系性。在程序的調(diào)試過程中,也加深了對函數(shù)的 理解,并更好的運用了函數(shù)。結(jié)構(gòu)體的使用,為本程序提供了很大方便,也提高了 程序的可讀性,結(jié)構(gòu)數(shù)組方便了對數(shù)據(jù)的管理。并且,在課程設計的過程中,也加深了我們的團隊意識,同學間通過討論,并 運用所學的知識,為了我們共同的

13、目的而努力,收獲了很多。參考文獻1 延紅,王付山.C語言程序設計教程M.:國防工業(yè),2010.152-171.2 石柱,何新貴.優(yōu)序法在軟件評價中的應用J.計算機工程與設計,2002,23 ( 2):45-46.3 路明.C語言程序設計(第 2版)M.:郵電大學,2005-12-01.4 譚浩強.C程序設計(第二版)M.清華大學,1998.5 王新,雷.C語言課程設計I.清華大學,2009-12-01.武子.C程序設計輔導與實訓M.清華大學,2004.附錄#in clude#i nclude#i ncludetypedef struct char number10;書號char n ame20

14、;書名char author20; 作者char publish50;char time20; 出版時間float price;mbook;typedef struct in t cou nt;書的本數(shù)mbook book100; 最大可有 100 本書 mlibrary; mlibrary library; void save()/ 保存圖書信息。FILE *fp;if(fp=fopen(library.doc,w)=NULL)printf(n 不能保存圖書信息 n);return;fwrite(&library.count,sizeof(int),1,fp); fwrite(library

15、.book,sizeof(library.book0),library.count,fp);void putin() /* 定義錄入函數(shù) */int y=1;system(cls);while(y)printf(t 請輸入您的書籍的書號 :); scanf(%s,library.booklibrary.count.number); printf(t 請輸入書名 :); scanf(%s,); printf(t 請輸入作者名 :); scanf(%s,library.booklibrary.count.author); printf(t

16、 請輸入 :); scanf(%s,library.booklibrary.count.publish); printf(t 請輸入出版時間 :); scanf(%s,library.booklibrary.count.time);printf(t 請輸入該書的價格 :); fflush(stdin); scanf(%f,&library.booklibrary.count.price);library.count+;printf(n 是否繼續(xù)錄入 (1. 繼續(xù);0, 退出錄入 ):);fflush(stdin);scanf(%d,&y);if (y!=1)y=0;break;save();v

17、oid lookup()system(cls);printf(圖書號t圖書名t作者名tt出版日期t圖書價格n);for (int i=0;ilibrary.count;i+)printf(%st%st%st%st%st%6.2fn,library.booki.number,library.b ,library.booki.author,library.booki.publish,library.book i.time,library.booki.price);fflush(stdin);getchar();void search_by_name() /*定義按書名查詢 */c

18、har s220;int flag=1;printf(n 請輸入要查詢的書名 : );fflush(stdin);scanf(%s,s2);printf(圖書號t圖書名t作者名tt出版日期t圖書價格n);for(int i=0;ilibrary.count;i+ )if(strcmp(s2,)=0)flag=0;printf(%st%st%st%st%st%6.2fn,library.booki.number,library.b ,library.booki.author,library.booki.publish,library.book

19、 i.time,library.booki.price);if (flag)printf(cannot found!);fflush(stdin);getchar();void search_by_author() /*定義按作者名查詢 */char s320;int flag=1;printf( 請輸入要查詢的書的作者 : );fflush(stdin);scanf(%s,s3);printf(圖書號t圖書名t作者名tt出版日期t圖書價格n);for(int i=0;ilibrary.count;i+ )if(strcmp(s3,library.booki.author)=0)flag=0;

20、printf(%st%st%st%st%st%6.2fn,library.booki.number,library.b ,library.booki.author,library.booki.publish,library.book i.time,library.booki.price);if (flag)printf(cannot found!);fflush(stdin);getchar();void search()/*定義查詢函數(shù) */int a;system(cls);/*進行清屏 */printf(tt*n);printf( 開始查詢 n);printf(ttt1

21、search_by_namen);printf(ttt2search_by_writern);printf(ttt0exitn);printf(tt*n) ;printf(tt 請選擇你想要的查詢方式 :);fflush(stdin); scanf(%d,&a);switch(a)case 1: search_by_name();break;case 2:search_by_author();break;case 0:return;void del() /* 定義刪除函數(shù) */char number10;system(cls); /*清屏 */printf(n Please type in t

22、he number of the book you want to delete:); fflush(stdin);scanf(%s,number);int i;for (i=0;ilibrary.count;i+)if(strcmp(number,library.booki.number)=0)break;if (i!=library.count)for(;ilibrary.count-1;i+)strcpy(,library.booki+1.name);strcpy(library.booki.number,library.booki+1.number)

23、;strcpy(library.booki.publish,library.booki+1.publish);strcpy(library.booki.author,library.booki+1.author);strcpy(library.booki.time,library.booki+1.time);library.booki.price=library.booki+1.price;library.count-;elseprintf(n cannot found!n);save();fflush(stdin); getchar();void update()/ 修改圖書信息char n

24、umber10;system(cls); /*清屏 */printf(n Please type in the number of the book you want to delete:); fflush(stdin);scanf(%s,number);int i;for (i=0;ilibrary.count;i+) if(strcmp(number,library.booki.number)=0)printf( 圖書號 t 圖書名 t 作者名 tt 出版日期 t 圖書價格 n); printf(%st%st%st%st%st%6.2fn,library.booki.number,libr

25、ary.book ,library.booki.author,library.booki.publish,library.booki. time,library.booki.price);break;if (i!=library.count)mbook book;printf(ntt 請輸入修改后此圖書的信息 n); printf(t 請輸入圖書號 :);scanf(%s,book.number);printf(t 請輸入圖書名 :);scanf(%s,);printf(t 請輸入作者名 :);scanf(%s,book.author);printf(t 請輸入

26、:);scanf(%s,book.publish);printf(t 請輸入出版時間 :);scanf(%s,book.time);printf(t 請輸入該書的價格 :);fflush(stdin);scanf(%f,&book.price); strcpy(,); strcpy(library.booki.number,book.number); strcpy(library.booki.publish,book.publish); strcpy(library.booki.author,book.author); strcpy(library.booki.time,book.time); library.booki.price=book.price;save();elseprintf(n cannot found!n);fflush(stdin);ge

溫馨提示

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

評論

0/150

提交評論