![C語言_藥品管理系統(tǒng)_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/62e9ce5b-04c7-47eb-888f-b814fc2e0de2/62e9ce5b-04c7-47eb-888f-b814fc2e0de21.gif)
![C語言_藥品管理系統(tǒng)_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/62e9ce5b-04c7-47eb-888f-b814fc2e0de2/62e9ce5b-04c7-47eb-888f-b814fc2e0de22.gif)
![C語言_藥品管理系統(tǒng)_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/62e9ce5b-04c7-47eb-888f-b814fc2e0de2/62e9ce5b-04c7-47eb-888f-b814fc2e0de23.gif)
![C語言_藥品管理系統(tǒng)_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/62e9ce5b-04c7-47eb-888f-b814fc2e0de2/62e9ce5b-04c7-47eb-888f-b814fc2e0de24.gif)
![C語言_藥品管理系統(tǒng)_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/62e9ce5b-04c7-47eb-888f-b814fc2e0de2/62e9ce5b-04c7-47eb-888f-b814fc2e0de25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、XX大學(xué)信息科學(xué)與工程學(xué)院課程設(shè)計報告書 課 題: 藥品信息管理系統(tǒng) 姓 名: 專 業(yè): 電 子 信 息 工 程 年 級: 2 0 1 3 級 指導(dǎo)老師: 時 間: 目錄引言-1一、系統(tǒng)概述-2二、需求分析-2 1、系統(tǒng)需求-2 2、開發(fā)環(huán)境-3三、詳細(xì)設(shè)計-4四、所遇到的問題和分析解決-10五、系統(tǒng)特色及關(guān)鍵技術(shù)-11六、結(jié)論及心得體會-11七、附錄(源代碼)-12參考文獻(xiàn)-17 引言通過本課程設(shè)計,使自己更加系統(tǒng)地理解和掌握數(shù)據(jù)結(jié)構(gòu)的基本概念;能自如地根據(jù)實際要求,設(shè)計相應(yīng)的數(shù)據(jù)結(jié)構(gòu),并運(yùn)用C或C+語言實現(xiàn)所設(shè)計的算法,編寫較大型的程序,分析和解決實際應(yīng)用問題,進(jìn)一步加深、鞏固所學(xué)專業(yè)課程
2、的基本理論知識,理論聯(lián)系實際,進(jìn)一步培養(yǎng)自己綜合分析問題和解決問題的能力。掌握C語言或C+語言獨(dú)立的編寫、調(diào)試應(yīng)用程序和進(jìn)行其它相關(guān)設(shè)計的技能。此項目主要是考察我們對結(jié)構(gòu)體、數(shù)組、文件等具體操作,以及對C語言語法的掌握,所以做成此項目要求比較高的設(shè)計要求,對整體有很熟悉的概括,同時調(diào)試過程也是很重要的,對程序界面的要求也比較高,要設(shè)計的合理同時也要美觀一點(diǎn),能夠人性化的描述清楚你的各個功能,一目了然,對其他用戶使用本程序簡單易懂,這才能成本程序或本系統(tǒng)是成功的。這個設(shè)計能夠練習(xí)我們的理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計的思想和方法,掌握開發(fā)一個小型實用系統(tǒng)的基本方法,學(xué)會調(diào)試一個比較長的程序的基本方法,同
3、時掌握書寫程序設(shè)計開發(fā)文檔的能力。 1、 系統(tǒng)概述 1、課程設(shè)計應(yīng)完成的工作 (1)編寫算法 (2)算法測試,并有具體的測試結(jié)果和結(jié)果分析 (3)撰寫課程報告,內(nèi)容包括: 封面 目錄 課程設(shè)計報告正文 使用說明 參考文獻(xiàn) 2、總體設(shè)計工作(包含幾大功能模塊) (1)按藥品編號查詢 (2)按藥品名稱查詢 (3)按藥品價格查詢(4)按數(shù)據(jù)結(jié)構(gòu)降序(冒泡)排序 (5)按總分降序(選擇)排序 (6)退出2、 需求分析 1、系統(tǒng)需求(1) 問題描述: 該系統(tǒng)實現(xiàn)對若干個大藥品的種類進(jìn)行管理。至少包括以下信息: 藥品編號、名稱、價格、功效。 (2)功能要求:1使用中文菜單,界面設(shè)計和用戶輸入輸出要人性化些
4、;2具有數(shù)據(jù)刪除功能,能最終從文件中刪除;3排序功能,根據(jù)自己設(shè)計的數(shù)據(jù)結(jié)構(gòu),設(shè)計排序算法4具有多種查詢(如按編號查詢、按名稱查詢、按價格查詢等)及輸出功能;5藥品信息的修改(比如修改藥品名稱,修改藥品的編號) (3)說明: 功能各方面越完善越好 自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹等,然后根據(jù)不同的數(shù)據(jù)結(jié)構(gòu),設(shè)計不同的排序,查找算法。其中,排序算法至少有兩種,可以使用多種數(shù)據(jù)結(jié)構(gòu)來存放數(shù)據(jù),然后在其上使用不同的排序算法。 若用數(shù)組,必須動態(tài)分配空間。(4)、輸入輸出的形式本系統(tǒng)是一個藥品成績管理系統(tǒng),采用VC+6.0 編譯器作為開 發(fā)環(huán)境,這個環(huán)境是我們在學(xué)習(xí)C+的平臺。輸入數(shù)據(jù)類型主要是
5、char、int、float等數(shù)據(jù)類型,輸入內(nèi)容包括:藥品編號、藥品名稱、藥品價格、藥品功效。用戶在輸入藥品數(shù)據(jù)時要保證輸入數(shù)據(jù)格式的正確性,系統(tǒng)不會自動檢測輸入的數(shù)據(jù)是否正確,輸出形式與輸入形式類似,根據(jù)需要可以選擇顯示輸入的各項內(nèi)容。顯示內(nèi)容包括:藥品編號、藥品名稱、藥品價格、藥品功效。2、 開發(fā)環(huán)境Visual C+不僅僅是是一個C+編譯器,而是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境,這種環(huán)境開發(fā)出來的軟件穩(wěn)定性好、可移植性強(qiáng),可以編制各種各樣的Windows應(yīng)用程序。三、詳細(xì)設(shè)計1、大概設(shè)計模塊(1)先編入系統(tǒng)所需的庫函數(shù),從而使程序可運(yùn)行。#include #includ
6、e #include #include #include /文件和標(biāo)準(zhǔn)控制臺的輸入輸出(2) Main()函數(shù)的設(shè)計 在main()函數(shù)中主要運(yùn)用switch()-case選擇判斷語句來調(diào)用相關(guān)功能模塊。系統(tǒng)的運(yùn)行是在一個永真的循環(huán)里進(jìn)行的,只有在主界面并選擇“退出”時,才會跳出永真循環(huán),并退出程序。(3) 主界面的設(shè)計 在主界面中包括“輸入藥品信息并保存到文件 讀取文件并輸出藥品信息 插入新藥品信息 修改藥品信息 刪除藥品信息。之所以設(shè)計這麼一個主界面,一是因為能使用戶對程序操作的流程更加清晰簡明,二是保證了用戶同時只能對一個文件進(jìn)行操作系統(tǒng)的要求,保證了系統(tǒng)不會打開文件紊亂或者出現(xiàn)致命的錯
7、誤。再加上相應(yīng)的顏色函數(shù):system(“color 3F”)從而成功使系統(tǒng)界面背景顏色與字體分別變成藍(lán)色與白色。每個函數(shù)體如下:int main() /主函數(shù)system(color 3F);int c;printf(ttt*nn);printf(ttt 歡迎使用藥品信息管理系統(tǒng)!nn);printf(ttt*nn);doprintf(ttt 1-輸入信息n);printf(ttt 2-刪除信息n);printf(ttt 3-查找信息n);printf(ttt 4-瀏覽信息n);printf(ttt 5-退出系統(tǒng)n);printf(請選擇您的操作n);scanf(%d,&c);switch(
8、c)case 1:add();break;case 2:del();break;case 3:search();break;case 4:traverse();break;case 5:break;default:printf(錯誤選擇,請重選!n);break;while(c!=5);return 0; 主界面:void add() /錄入藥品int i=0,k,N;printf(t歡迎進(jìn)入藥品信息的錄入!n);printf(t請輸入要錄入信息的藥品的數(shù)量!n);scanf(%d,&N);for(i=1;i=M;i+) if(stui.flag!=1) k=i;break;for(i=k;i
9、k+N;i+)stui.flag=1;printf(請輸入第%d個藥品的編號:,i);scanf(%s,stui-1.bnum);printf(請輸入第%d個藥品的名稱:,i);scanf(%s,);printf(請輸入第%d個藥品的價格:,i);scanf(%s,stui-1.price);printf(請輸入第%d個藥品的功效:,i);scanf(%s,stui-1.function); void del() /刪除操作int i,j;char str12;printf(t歡迎進(jìn)入藥品信息的刪除!n);printf(請輸入要刪除信息的編號:);scanf(%s,str
10、); for(i=0;i=M;i+) if(strcmp(str,stui.bnum)=0) for(j=i;j=M;j+) stuj=stuj+1; printf(刪除成功!n);for(int n=M;n-) if(stun.flag=1) stun.flag=0; break; break; if(i=M) printf(無此編號!n); void search() /查找操作char str10;int k,i;printf(請輸入要查找藥品的編號:);scanf(%s,str);for(i=0;iM;i+)if(strcmp(str,stui.bnum)=0)k=i;break;pr
11、intf(編號:%st名稱:%st價格:%st功效:%sn,stuk.bnum,,stuk.price,stuk.function); void traverse() /瀏覽操作int k,i;for(i=1;i=M;i+)if(stui.flag=0)k=i-1;break;for(i=0;ik;i+)printf(編號:%st名稱:%st價格:%st功效:%sn,stui.bnum,,stui.price,stui.function); 2、設(shè)計思想(1)確定語言算法 由于之前都沒有做過類似的設(shè)計,所以一時間不能夠確定到底使用何種語言來設(shè)計本系統(tǒng),所以在
12、網(wǎng)上看了一些其他人設(shè)計的程序,鏈表的、數(shù)組的,C+的,各種各樣的,也不知如何選擇,但是仔細(xì)地看了其中的設(shè)計思想,最終還是用C和指針數(shù)組的來做,一是覺得本人對鏈表掌握的不是很熟練,那么在設(shè)計過程中容易產(chǎn)生不能理解的錯誤,耽誤時間,二是想運(yùn)用C,可以鞏固一下所學(xué)的數(shù)據(jù)結(jié)構(gòu)的知識,之前做實驗的時候一直用C來做,都沒怎么用所學(xué)的知識,這時候想練練。就這樣確定了整體的結(jié)構(gòu)算法。(2) 確定程序主要功能模塊 這個就比較簡單了,主要是根據(jù)系統(tǒng)設(shè)計的說明及要求來設(shè)計,從而設(shè)計了十大功能模塊,有文件操作,有系統(tǒng)維護(hù)功能,排序和統(tǒng)計功能,有輸入輸出等基本功能,比較人性化,添加了較多的提示語。這個程序的主要功能時輸
13、入藥品的功效,名稱,價格和編號。(3) 系統(tǒng)結(jié)構(gòu)體的設(shè)計struct studentchar bnum12; /編號char name12; /藥品名稱char price8; /價格char function100; /功效int flag;stuM;4、 所遇到的問題和分析解決1、 存在的不足本藥品信息管理系統(tǒng)由十大模塊組成,每個模塊相互聯(lián)系又相互獨(dú)立。這個藥品信息管理系統(tǒng)存在著很多不足之處,由于自己本身編程能力的問題,這個系統(tǒng)可以實現(xiàn)的功能非常有限。只能實現(xiàn)藥品信息管理系統(tǒng)最基本的功能,可以進(jìn)行簡單的輸入、輸出藥品信息,查詢和修改藥品信息。而且在每個模塊也有不足的地方,比如在輸入藥品資料
14、時,對每個信息項沒有嚴(yán)格的規(guī)定,可以輸入任何的字符。這有待以后努力,更詳盡的實現(xiàn)模塊的功能。2、 指針數(shù)組的使用就是在插入藥品記錄模塊中,另一個指針數(shù)組的定義,之前做的時候沒有注意到這點(diǎn),結(jié)果所做的修改不能夠保存到文件,之后操作的時候也沒有顯示所做修改的記錄,之后找了資料看了之后才知道,是變量的問題,所以最后作了修改,加了一個另外的指針數(shù)組。3、 細(xì)節(jié)方面其實在有些細(xì)節(jié)方面還是要特別注意啊,比如分號的添加,函數(shù)的返回值等問題,雖然容易改掉,但是很容易養(yǎng)成不好的習(xí)慣,而且還會浪費(fèi)時間,所以在一開始寫的時候就要很仔細(xì),這樣才能保證程序編的精細(xì),同時若出現(xiàn)很多這樣的錯誤的話,在編寫程序的時候也會心里
15、煩的,所以在編程的時候要認(rèn)真仔細(xì)。4、 內(nèi)存的分配問題 對于初學(xué)者的話對內(nèi)存的分配和釋放問題是比較抽象的和模糊的問題,在排序是之前就出現(xiàn)了交換數(shù)據(jù)困難的問題,以及內(nèi)存分配空間繁瑣釋放空間不及時的問題,造成空間的浪費(fèi),使得程序運(yùn)行時效率較低,因此最后采用了順序存儲記錄的方式,這就能改變前面所出現(xiàn)的問題。5、 較小的問題方面 其余的就沒什么比較大的問題了,基本上只要細(xì)心一點(diǎn)的話就可以正確調(diào)試了。5、 系統(tǒng)特色及關(guān)鍵技術(shù) 其實在本程序的設(shè)計過程當(dāng)中,沒有很吸引人的關(guān)鍵技術(shù),因為我們小組的C語言或C+語言都不是學(xué)的很好,所以當(dāng)初設(shè)計的時候就只是想把功能都實現(xiàn)就好了,盡可能的把所要求的功能都編進(jìn)程序,這
16、樣就覺得很滿足了。所以都是設(shè)計的比較簡單易懂的語言,這樣能夠使人更明白一些,所以就沒有時間去細(xì)細(xì)地去設(shè)計程序。本程序要說有什么值得說的,那就只有人性化這點(diǎn)了,在設(shè)計成學(xué)的時候,因為我們怕弄混了,所以添加了很詳盡的提示,這樣在編程的過程中或調(diào)試的時候都能夠比較快的運(yùn)行。還有就是盡可能的應(yīng)用了while語句和switch-case語句,這兩個語句在之前不是很常用,所以在這個程序中試煉了一下,雖然在編寫的過程中總是出錯,但還是成功的用好了,也使程序有條理一些。我們也知道可能別人設(shè)計的程序比我們弄得還要好,但是在我們所學(xué)的知識中成功的應(yīng)用了這些,我們覺得這就是好事,就是進(jìn)步。6、 結(jié)論及心得體會組員分
17、工:負(fù)責(zé)查找有關(guān)設(shè)計藥品管理設(shè)計程序的資料,并進(jìn)行篩選,并負(fù)責(zé)撰寫課程設(shè)計模板。組員分工:對篩選后得到的資料,運(yùn)用C語言在Microsoft Visual C+ 6.0環(huán)境中進(jìn)行編寫一個藥品管理系統(tǒng)程序,和對程序進(jìn)行調(diào)試,作出修改,最后對程序進(jìn)行測試,得出運(yùn)行結(jié)果,和對課程設(shè)計的內(nèi)容進(jìn)行修改和補(bǔ)充。 程序設(shè)計時所面臨的問題:在藥品刪除的程序的實現(xiàn)中,當(dāng)輸入多組藥品信息后,在多組藥品進(jìn)行刪除時,程序只能正確刪除第一組藥品信息,而不能正確刪除第二組及之后的藥品信息。最后正確的解決是通過修改for(j=i;j=M;j+) stuj=stuj+1;printf(刪除成功!n);for(int n=M;
18、n-) if(stun.flag=1)stun.flag=0;break;break;中的for(j=i;j=M;j+) stuj=stuj+1;才使刪除操作可以正常實現(xiàn)了。 經(jīng)過幾天多次的程序修改,程序終于可以正確運(yùn)行了,雖然有些疲憊,但還是有很多的收獲的,像計算機(jī)組成原理的課設(shè)一樣,讓我們我又一次鞏固了所學(xué)到的知識,之前的學(xué)習(xí)只是停留在理論基礎(chǔ)上,現(xiàn)在通過我們自己動手操作試驗后,才是真正的理解及體會。C也學(xué)了近一年,有很多知識都是似懂非懂,通過平時上機(jī)操作,也了解了一些,但讓我們有了更深的理解和更好的認(rèn)識,則是在這次的課設(shè)上,之前的困惑也通過這次的課設(shè)解決了一些,雖然還是不能夠全面的理解,
19、但是有進(jìn)步就很高興。 在課程設(shè)計之前,因為有了綜合實驗的經(jīng)驗與教訓(xùn),明白了寫代碼這一步是非常重要的,因為當(dāng)你把代碼輸進(jìn)去之后,并編譯讓其運(yùn)行,發(fā)現(xiàn)通過不了,再來檢查出問題,是很費(fèi)費(fèi)力的事情,因此分析和規(guī)劃代碼是很重要的,最重要的是要把邏輯結(jié)構(gòu)寫好,這樣就不會出現(xiàn)大問題,寫代碼就要先找出核心的內(nèi)容,用多種方法來實現(xiàn)核心部分,這樣可以盡可能的避免發(fā)現(xiàn)邏輯或編譯不支持的錯誤。 7、 附錄(源代碼)#include#include#include#define M 100struct studentchar bnum12;char name12;char price8;char function100
20、;int flag;stuM;void add();void del();void search();void traverse();int main()system(color 3F);int c;printf(ttt*nn);printf(ttt 歡迎使用藥品信息管理系統(tǒng)!nn);printf(ttt*nn);doprintf(ttt 1-輸入信息n);printf(ttt 2-刪除信息n);printf(ttt 3-查找信息n);printf(ttt 4-瀏覽信息n);printf(ttt 5-退出系統(tǒng)n);printf(請選擇您的操作n);scanf(%d,&c);switch(c)c
21、ase 1:add();break;case 2:del();break;case 3:search();break;case 4:traverse();break;case 5:break;default:printf(錯誤選擇,請重選!n);break;while(c!=5);return 0;void add()int i=0,k,N;printf(t歡迎進(jìn)入藥品信息的錄入!n);printf(t請輸入要錄入信息的藥品的數(shù)量!n);scanf(%d,&N);for(i=1;i=M;i+) if(stui.flag!=1) k=i;break;for(i=k;ik+N;i+)stui.flag=1;printf(請輸入第%d個藥品的編號:,i);scanf(%s,stui-1.bnum);printf(請輸入第%d個藥品的名稱:,i);scanf(%s,);printf(請輸入第%d個藥品的價格:,i);scanf(%s,stui-1.price);printf(請輸入第%d個藥品的功效:,i);scanf(%s,stui-1.function); void del()int i,j;char str12;printf
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電子廚房秤項目立項申請報告
- 2025年試用策劃平臺標(biāo)準(zhǔn)協(xié)議書樣本
- 2025年公交運(yùn)營協(xié)議綜合概述
- 2025年單組元肼、雙組元液體推力器項目規(guī)劃申請報告模板
- 2025年毒素類診斷抗原項目申請報告模板
- 2025年全球創(chuàng)新資源共享協(xié)議
- 2025年端子機(jī)項目提案報告
- 2025年企業(yè)臨時文員雇傭合同
- 2025年度婚紗禮服租賃策劃協(xié)議
- 2025年指定購買化工材料中介服務(wù)合同樣本
- 計算機(jī)文化基礎(chǔ)單元設(shè)計-windows
- 創(chuàng)建動物保護(hù)家園-完整精講版課件
- 廣東省保安服務(wù)監(jiān)管信息系統(tǒng)用戶手冊(操作手冊)
- DNA 親子鑒定手冊 模板
- DB33T 1233-2021 基坑工程地下連續(xù)墻技術(shù)規(guī)程
- 天津 建設(shè)工程委托監(jiān)理合同(示范文本)
- 廣東中小學(xué)教師職稱評審申報表初稿樣表
- 部編一年級語文下冊教材分析
- 火炬及火炬氣回收系統(tǒng)操作手冊
- 北師大七年級數(shù)學(xué)下冊教學(xué)工作計劃及教學(xué)進(jìn)表
- 菜肴成本核算(課堂PPT)
評論
0/150
提交評論