《C語(yǔ)言程序設(shè)計(jì)》藥房管理系統(tǒng)[文書(shū)借鑒]_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》藥房管理系統(tǒng)[文書(shū)借鑒]_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》藥房管理系統(tǒng)[文書(shū)借鑒]_第3頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告 (201 201 學(xué)年 第 學(xué)期)課 程: 高級(jí)語(yǔ)言程序設(shè)計(jì) 題 目: 藥房管理系統(tǒng) 姓 名: 專(zhuān) 業(yè): 班 級(jí): 學(xué) 號(hào): 指導(dǎo)教師: 完成時(shí)間: 一、課程設(shè)計(jì)的內(nèi)容(課程設(shè)計(jì)題目,正式報(bào)告需將括號(hào)內(nèi)文字刪除)藥房管理系統(tǒng)功能:設(shè)計(jì)藥房管理系統(tǒng),輸入藥品基本信息(藥品編號(hào)、名稱、單價(jià)、庫(kù)存數(shù)量、品牌),并實(shí)現(xiàn)以下功能:1、修改、刪除指定藥品的信息2、按單價(jià)或庫(kù)存數(shù)量排序并顯示藥品信息3、統(tǒng)計(jì)指定品牌藥品數(shù)量分步實(shí)施: 1、初步完成總體設(shè)計(jì),搭好框架,確定人機(jī)對(duì)話的界面,確定函數(shù)個(gè)數(shù); 2、完成最低要求:實(shí)現(xiàn)藥品的添加、修改、刪除等功能; 3、進(jìn)一步要求:實(shí)現(xiàn)排序及統(tǒng)計(jì)功能。要求

2、:1、用C語(yǔ)言實(shí)現(xiàn)程序設(shè)計(jì);2、 系統(tǒng)的各個(gè)功能模塊要求用函數(shù)實(shí)現(xiàn); 3、界面友好(良好的人機(jī)交互),程序加必要的注釋。2、 功能描述(對(duì)系統(tǒng)要實(shí)現(xiàn)的功能進(jìn)行描述,正式報(bào)告需將括號(hào)內(nèi)文字刪除)1、能正確地錄入藥品信息并保存下來(lái)。2、能夠有效、快速地查看全部藥品的信息。3、可以查看某一藥品的信息(按藥品的默認(rèn)序號(hào)查看)4、可以查看某一藥品的信息(按藥品的編號(hào)進(jìn)行查看)5、能夠按照管理人員的意愿修改任意藥品的信息6、能修改藥品信息7、此系統(tǒng)還能對(duì)藥品的單價(jià)進(jìn)行排序三、概要設(shè)計(jì)(根據(jù)功能描述建立系統(tǒng)的體系結(jié)構(gòu),即將整個(gè)系統(tǒng)分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關(guān)系,并簡(jiǎn)要說(shuō)明各模塊的

3、功能,正式報(bào)告需將括號(hào)內(nèi)文字刪除)主界面輸入藥品信息修改藥品信息刪除藥品信息保存退出統(tǒng)計(jì)藥品數(shù)量藥品排序藥品編號(hào)庫(kù)存數(shù)量單價(jià)名稱品牌修改名稱單價(jià)庫(kù)存數(shù)量全部刪除刪除單個(gè)庫(kù)存數(shù)量排序單價(jià)排序輸入藥品信息主界面添加藥品輸入名稱輸入品牌輸入數(shù)量輸入單價(jià)輸入編號(hào)是否繼續(xù)是否刪除藥品主界面全部刪除單個(gè)刪除確認(rèn)取消按名稱刪除確認(rèn)是否刪除是否刪除成功四、詳細(xì)設(shè)計(jì)(詳細(xì)說(shuō)明各功能模塊的實(shí)現(xiàn)過(guò)程,包括用流程圖對(duì)算法進(jìn)行描述、所用到的數(shù)據(jù)結(jié)構(gòu)、算法實(shí)現(xiàn)的主要源代碼等,正式報(bào)告需將括號(hào)內(nèi)文字刪除)#include#include#include#includestruct medicinechar name20;

4、/藥品名稱char number50; /藥品編號(hào)char price50; /單價(jià)char inventory50; /庫(kù)存數(shù)量char brand20; /品牌 medicine100; /假設(shè)最大數(shù)為100. /定義全局變量numint num; int menu_select() char s80; int a;/*定義整形變量*/ system(cls); printf(tt-您好!您已進(jìn)入藥房管理系統(tǒng)-nn); printf(ttt1. 輸入藥品信息n); printf(ttt2. 查看藥品信息n); printf(ttt3. 修改藥品信息n); printf(ttt4. 按編號(hào)查

5、找藥品n); printf(ttt5. 按價(jià)格排序 n); printf(ttt6. 刪除藥品信息n); printf(ttt7. 退出n); printf(tt-nn);doprintf(Enter you choice(17):); scanf(%s,s); a=atoi(s); while (a7); return a;int addmedicine() printf(ttt-請(qǐng)輸入您要保存的信息 -n); printf(ttt輸入藥品名稱:n); scanf(%s,); printf(ttt輸入藥品編號(hào):n); scanf(%s,medicinenum.

6、number); printf(ttt單價(jià):n); scanf(%s,medicinenum.price); printf(ttt品牌:n); scanf(%s,medicinenum.brand); printf(ttt庫(kù)存數(shù)量 :n); scanf(%s,medicinenum.inventory); num+; printf(ttt是否繼續(xù)添加?(Y/N):n); if(getch()=y | getch()=Y) addmedicine(); return(0);void modifybyname() /按藥品名稱修改char c;int i,mark=0;char name20;pr

7、intf(ntt請(qǐng)輸入要修改的藥品名稱:); scanf(%s,name);if(num=0)printf(ntt文件中無(wú)相關(guān)藥品);printf(ntt按任意鍵返回主菜單);getch(); mark+;return; for(i=0;inum;i+)if(strcmp(,name)=0) printf(ntt以下是您要修改的藥品信息); printf(ntt藥品名稱: %s,); printf(ntt藥品編號(hào): %s,medicinei.number); printf(ntt單價(jià): %s,medicinei.price); print

8、f(ntt品牌: %s,medicinei.brand); printf(ntt庫(kù)存數(shù)量: %s,medicinei.inventory); printf(ntt是否修改(y/n); if(getch()=y) printf(nt-請(qǐng)選擇修改信息-);printf(nt 1-修改藥品名稱 );printf(nt 2-修改藥品編號(hào) );printf(nt 3-修改單價(jià) ); printf(nt 4-修改品牌 );printf(nt 5-修改庫(kù)存數(shù)量 );printf(nt-);printf(nt請(qǐng)選擇您所要的服務(wù):); scanf(%s,&c);switch(c) case 1: printf(

9、nt請(qǐng)輸入新藥品名稱: ); scanf(%s,);break; case2:printf(nt請(qǐng)輸入新藥品編號(hào): %s); scanf(%s,medicinei.number);break; case3:printf(nt請(qǐng)輸入新單價(jià): ); scanf(%s,medicinei.price);break; case4:printf(nt請(qǐng)輸入新品牌: ); scanf(%s,medicinei.brand);break; case5:printf(nt請(qǐng)輸入新庫(kù)存數(shù)量: ); scanf(%s,medicinei.inventory);break; if(mar

10、k=0)printf(ntt藥品信息修改完畢);printf(nt是否繼續(xù)修改?(Y/N):);if(getch()=y)modifybyname();return; void list() int i; system(cls); if(num!=0) printf(ttt-已為您顯示所有藥品信息-n); for (i=0;inum;i+) printf(ttt藥品名稱:%sn,);printf(ttt藥品編號(hào):%sn,medicinei.number);printf(ttt單價(jià):%sn,medicinei.price); printf(ntt品牌: %sn,med

11、icinei.brand);printf(ttt庫(kù)存數(shù)量:%sn,medicinei.inventory); if(i+1num) system(pause); printf(ttt-n); else printf(ttt系統(tǒng)中無(wú)任何記錄n); printf(ttt按任意鍵返回主菜單:n); getch(); return;int searchbyname() int mark=0; int i; printf(ttt- 按藥品名稱查找 -n); char name20; printf(ttt請(qǐng)輸入藥品名稱:n); scanf(%s,name); for(i=0;inum;i+) if (st

12、rcmp(,name)=0) printf(ttt- 以下是您查找的藥品信息 -n);printf(ttt藥品名稱: %s,);printf(ttt藥品編號(hào): %s,medicinei.number);printf(ttt單價(jià): %s,medicinei.price); printf(ntt品牌: %s,medicinei.brand);printf(ttt庫(kù)存數(shù)量:%sn,medicinei.inventory);printf(ttt-n);mark+; if(i+1)num) printf(ttt是否繼續(xù)查找相同名稱的藥品信息:(y/

13、n)n); if(getch()=y | getch()=Y) continue; else return(0); else printf(ttt請(qǐng)按任意鍵返回主菜單); getch(); return(0); if(mark = 0) printf(ttt沒(méi)有您要查找的藥品記錄n); printf(ttt請(qǐng)按任意鍵返回主菜單n); getch(); return(0); return 0;int searchbynumber()int mark=0;int i;printf(ttt-按藥品編號(hào)查找 -n);char number10;printf(ttt請(qǐng)輸入藥品編號(hào):n);scanf(%s

14、,number);for(i=0;inum;i+) if (strcmp(medicinei.number,number)=0) printf(ttt-以下是您查找的藥品信息 -n); printf(ttt藥品名稱: %s,); printf(ttt藥品編號(hào): %s,medicinei.number); printf(ttt單價(jià): %s,medicinei.price); printf(ntt品牌: %s,medicinei.brand); printf(ttt庫(kù)存數(shù)量:%sn,medicinei.inventory); printf(ttt-n); printf(

15、ttt請(qǐng)按任意鍵返回主菜單n); mark+; getch(); return(0); if (mark=0) printf(ttt沒(méi)有改藥品的信息n); printf(ttt請(qǐng)按任意鍵返回主菜單n); getch(); return(0);return(0);void deletebynumber()int i,j;int deletemark=0;char number20; printf(ttt請(qǐng)輸入要?jiǎng)h除藥品編號(hào):n); scanf(%s,number); if(num=0) printf(ttt對(duì)不起,系統(tǒng)中無(wú)任何記錄n); printf(ttt請(qǐng)按任意鍵返回主菜單n); getch

16、(); return; for (i=0;inum;i+) if (strcmp(medicinei.number,number)=0) printf(ttt以下是您要?jiǎng)h除的用戶記錄:n); printf(ttt藥品名稱: %s,); printf(ttt藥品編號(hào): %s,medicinei.number); printf(ttt單價(jià): %s,medicinei.price); printf(ntt品牌: %s,medicinei.brand); printf(ttt庫(kù)存數(shù)量:%sn,medicinei.inventory); printf(ttt是否刪除?(y/n

17、); if (getch()=y | getch()=Y) for (j=i;jnum-1;j+) medicinej=medicinej+1; num-; deletemark+; printf(ttt刪除成功); printf(ttt是否繼續(xù)刪除?(y/n); if (getch()=y | getch()=Y) deletebynumber(); return; else return; continue; if (deletemark=0) printf(ttt沒(méi)有該藥品的記錄); printf(ttt是否繼續(xù)刪除?(y/n); if(getch()=y | getch()=Y) de

18、letebynumber(); return; return;void deletebyname()int a=0;int findmark=0;int j;int deletemark=0;int i;char name20;printf(ttt請(qǐng)輸入要?jiǎng)h除藥品名稱:n);scanf(%s,name);for (i=a;inum;i+) if(strcmp(,name)=0) printf(ttt以下是您要?jiǎng)h除的藥品信息:); findmark+; printf(ttt_); printf(ttt藥品名稱: %s,); printf(t

19、tt藥品編號(hào): %s,medicinei.number); printf(ttt單價(jià): %s,medicinei.price); printf(ntt品牌: %s,medicinei.brand); printf(ttt庫(kù)存數(shù)量:%sn,medicinei.inventory); printf(ttt_); printf(ttt是否刪除?(y/n); if (getch()=y | getch() = Y) for(j=i;jnum-1;j+) medicinej=medicinej+1; num-; deletemark+; printf(ttt刪除成功); if(i+1)num) prin

20、tf(ttt是否繼續(xù)刪除相同名稱的藥品信息?(y/n); if (getch()=y) a=i; continue; printf(ttt是否繼續(xù)刪除?(y/n); if (getch()=y) deletebyname(); return; if(i+1)num) printf(ttt是否繼續(xù)刪除相同名稱的藥品信息?(y/n); if (getch()=y | getch() = Y) a=i; continue; elsecontinue;if (deletemark=0)&(findmark=0) printf(ttt沒(méi)有該藥品的記錄); printf(ttt是否繼續(xù)刪除?(y/n);

21、if(getch()=y | getch() = Y) deletebynumber(); return;else if (findmark!=0) printf(ttt沒(méi)有重名信息); printf(ttt沒(méi)有該藥品的記錄); printf(ttt是否繼續(xù)刪除?(y/n); if(getch()=y | getch() = Y) deletebynumber(); return; int dele() /刪除記錄char choic; printf(ttt1-按藥品編號(hào)刪除 2-按藥品名稱刪除); printf(ttt請(qǐng)選擇:); choic=getch();switch (choic) c

22、ase 1:deletebynumber();break; case 2:deletebyname();break; return(0);int sortbyprice() /按藥品單價(jià)進(jìn)行排序 int i,j; struct medicine tmp; for (i=1;inum;i+) if(strcmp(medicinei.price,medicinei-1.price)0) tmp=medicinei; j=i-1; do medicinej+1=medicinej; j-; while (strcmp(tmp.price,medicinej.price)=0); medicinej+

23、1=tmp; printf(ttt排序成功,是否顯示?(y/n); if (getch()=y) list(); return(0);int main() printf(tt-n); printf(tt-Welcome to management system -n); printf(tt-Made By FACE CARD-n); printf(tt-n); printf(請(qǐng)按任意鍵進(jìn)入主菜單:)n); getch(); int selectnum; while(1) selectnum = menu_select(); switch(selectnum) case 1:addmedicin

24、e(); /添加藥品信息break;case 2: list(); break;case 3: modifybyname(); /修改藥品信息 break;case 4: searchbynumber(); /按藥品編號(hào)查找 break;case 5: sortbyprice(); /按藥品單價(jià)排序 break;case 6: dele(); break;case 7:printf(BYE BYE!n);system(pause);getchar(); exit(0); getchar(); return 0; 5、 測(cè)試結(jié)果(說(shuō)明系統(tǒng)的各模塊運(yùn)行結(jié)果(附運(yùn)行界面圖片),正式報(bào)告需將括號(hào)內(nèi)文字

25、刪除)1、進(jìn)入系統(tǒng)運(yùn)行界面2、 添加藥品信息3、 顯示藥品信息4、 修改藥品信息5、 按編號(hào)查找藥品信息6、 按價(jià)格排序7、 刪除藥品信息8、 退出系統(tǒng)6、 總結(jié)(談?wù)勛约旱恼n程設(shè)計(jì)中的心得體會(huì),正式報(bào)告需將括號(hào)內(nèi)文字刪除)整個(gè)實(shí)驗(yàn)比較復(fù)雜,我使用switch語(yǔ)句調(diào)用菜單中的各個(gè)功能軟件調(diào)用不同的函數(shù)來(lái)實(shí)現(xiàn)不同的功能,通過(guò)反復(fù)調(diào)用函數(shù)來(lái)實(shí)現(xiàn)反復(fù)輸入。代碼中通過(guò)scanf從鍵盤(pán)上輸入不同的數(shù)字選項(xiàng),然后通過(guò)swtich case()來(lái)實(shí)現(xiàn)對(duì)不同函數(shù)的調(diào)用。接下來(lái)對(duì)編程的各個(gè)模塊進(jìn)行解讀:a在實(shí)現(xiàn)顯示菜單功能時(shí),用DO-WHILE執(zhí)行對(duì)菜單功能的選擇比較數(shù)字在17之間可繼續(xù)執(zhí)行。swtich ca

26、se()來(lái)實(shí)現(xiàn)對(duì)不同函數(shù)的調(diào)用,執(zhí)行之后各個(gè)獨(dú)立的模塊。b在添加藥品基本信息時(shí),我用了三個(gè)函數(shù)調(diào)用來(lái)分別輸入藥品基本信息(藥品編號(hào)、名稱、單價(jià)、庫(kù)存數(shù)量、品牌)由程序可以看出,在添加藥品信息板塊上,我設(shè)計(jì)了五類(lèi)信息,輸入名稱,輸入品牌,輸入編號(hào),輸入單價(jià)和輸入庫(kù)存數(shù)量輸入完成后會(huì)提示是否繼續(xù)輸入,如果輸入y后則可以繼續(xù)輸入,輸入n后返回主菜單。調(diào)用addmedicine()函數(shù)后,就可以通過(guò),medicinenum.number,medicinenum.price,medicinenum.inventory,medicinenum.brand 數(shù)組從鍵盤(pán)上輸入藥

27、品編號(hào),名稱、單價(jià)、庫(kù)存數(shù)量、品牌,輸入完畢后,系統(tǒng)會(huì)提示是否繼續(xù)輸入,輸入“y”后,則再次調(diào)用addmedicine(); 函數(shù),如此循環(huán),直到不輸入藥品信息為止。c在顯示和查詢藥品信息部分,輸入對(duì)應(yīng)的數(shù)字便可以實(shí)現(xiàn)對(duì)應(yīng)的功能,同理,系統(tǒng)會(huì)在您查詢完畢后詢問(wèn)您是否繼續(xù)查詢,從而實(shí)現(xiàn)人機(jī)友好的宗旨。通過(guò)scanf(%s,name) 從鍵盤(pán)上輸入的藥品名稱利用if (strcmp(,name)=0)進(jìn)行對(duì)比,確認(rèn)是否有該藥品。通過(guò)for (i=0;inum;i+) 循環(huán)實(shí)現(xiàn)依次序顯示藥品信息。d修改藥品信息界面上我設(shè)計(jì)了按藥品名稱修改,當(dāng)選擇時(shí)系統(tǒng)會(huì)提示您是否修改,若不修改則返回主界面,若選擇是,則系統(tǒng)會(huì)處理五個(gè)修改項(xiàng)目:修改藥品名稱,修改編號(hào),修改品牌,修改庫(kù)存數(shù)量,修改單價(jià),修改完畢后系統(tǒng)會(huì)提示您是否繼續(xù)修改,如不修改,則又返回主界面等待輸入。通過(guò)if(strcmp(medicinei.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論