版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)民工就業(yè)合同范本(勞動(dòng)權(quán)益保障)
- 2025年度智能倉(cāng)儲(chǔ)車(chē)間租賃管理合同模板3篇
- 二零二五年度出租車(chē)租賃市場(chǎng)推廣與廣告合作協(xié)議4篇
- 二零二五年度初中學(xué)校紀(jì)律教育與安全防護(hù)協(xié)議書(shū)4篇
- 二零二五版樓層套房租賃合同書(shū)(含室內(nèi)空氣凈化服務(wù))4篇
- 2025年度能源企業(yè)常年法律顧問(wèn)聘請(qǐng)合同3篇
- 2025年度體育館場(chǎng)地標(biāo)準(zhǔn)租賃與賽事宣傳推廣合同
- 2025年環(huán)保污水處理設(shè)施建設(shè)及運(yùn)營(yíng)合同4篇
- 二零二五年度城市軌道交通旅客運(yùn)輸管理細(xì)則合同
- 2025年度餐飲連鎖品牌合作投資合同范本3篇
- 2024年高考八省聯(lián)考地理適應(yīng)性試卷附答案解析
- 足浴技師與店內(nèi)禁止黃賭毒協(xié)議書(shū)范文
- 中國(guó)高血壓防治指南(2024年修訂版)要點(diǎn)解讀
- 2024-2030年中國(guó)光電干擾一體設(shè)備行業(yè)發(fā)展現(xiàn)狀與前景預(yù)測(cè)分析研究報(bào)告
- 湖南省岳陽(yáng)市岳陽(yáng)樓區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題(解析版)
- 農(nóng)村自建房安全合同協(xié)議書(shū)
- 杜仲葉藥理作用及臨床應(yīng)用研究進(jìn)展
- 4S店售后服務(wù)6S管理新規(guī)制度
- 高性能建筑鋼材的研發(fā)與應(yīng)用
- 無(wú)線廣播行業(yè)現(xiàn)狀分析
- 漢語(yǔ)言溝通發(fā)展量表(長(zhǎng)表)-詞匯及手勢(shì)(8-16月齡)
評(píng)論
0/150
提交評(píng)論