![《C語言程序設(shè)計》藥房管理系統(tǒng)[文書借鑒]_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/5/0b6a5271-f29d-4ed5-84ae-e9ea3c11dee4/0b6a5271-f29d-4ed5-84ae-e9ea3c11dee41.gif)
![《C語言程序設(shè)計》藥房管理系統(tǒng)[文書借鑒]_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/5/0b6a5271-f29d-4ed5-84ae-e9ea3c11dee4/0b6a5271-f29d-4ed5-84ae-e9ea3c11dee42.gif)
![《C語言程序設(shè)計》藥房管理系統(tǒng)[文書借鑒]_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/5/0b6a5271-f29d-4ed5-84ae-e9ea3c11dee4/0b6a5271-f29d-4ed5-84ae-e9ea3c11dee43.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計報告 (201 201 學(xué)年 第 學(xué)期)課 程: 高級語言程序設(shè)計 題 目: 藥房管理系統(tǒng) 姓 名: 專 業(yè): 班 級: 學(xué) 號: 指導(dǎo)教師: 完成時間: 一、課程設(shè)計的內(nèi)容(課程設(shè)計題目,正式報告需將括號內(nèi)文字刪除)藥房管理系統(tǒng)功能:設(shè)計藥房管理系統(tǒng),輸入藥品基本信息(藥品編號、名稱、單價、庫存數(shù)量、品牌),并實(shí)現(xiàn)以下功能:1、修改、刪除指定藥品的信息2、按單價或庫存數(shù)量排序并顯示藥品信息3、統(tǒng)計指定品牌藥品數(shù)量分步實(shí)施: 1、初步完成總體設(shè)計,搭好框架,確定人機(jī)對話的界面,確定函數(shù)個數(shù); 2、完成最低要求:實(shí)現(xiàn)藥品的添加、修改、刪除等功能; 3、進(jìn)一步要求:實(shí)現(xiàn)排序及統(tǒng)計功能。要求
2、:1、用C語言實(shí)現(xiàn)程序設(shè)計;2、 系統(tǒng)的各個功能模塊要求用函數(shù)實(shí)現(xiàn); 3、界面友好(良好的人機(jī)交互),程序加必要的注釋。2、 功能描述(對系統(tǒng)要實(shí)現(xiàn)的功能進(jìn)行描述,正式報告需將括號內(nèi)文字刪除)1、能正確地錄入藥品信息并保存下來。2、能夠有效、快速地查看全部藥品的信息。3、可以查看某一藥品的信息(按藥品的默認(rèn)序號查看)4、可以查看某一藥品的信息(按藥品的編號進(jìn)行查看)5、能夠按照管理人員的意愿修改任意藥品的信息6、能修改藥品信息7、此系統(tǒng)還能對藥品的單價進(jìn)行排序三、概要設(shè)計(根據(jù)功能描述建立系統(tǒng)的體系結(jié)構(gòu),即將整個系統(tǒng)分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關(guān)系,并簡要說明各模塊的
3、功能,正式報告需將括號內(nèi)文字刪除)主界面輸入藥品信息修改藥品信息刪除藥品信息保存退出統(tǒng)計藥品數(shù)量藥品排序藥品編號庫存數(shù)量單價名稱品牌修改名稱單價庫存數(shù)量全部刪除刪除單個庫存數(shù)量排序單價排序輸入藥品信息主界面添加藥品輸入名稱輸入品牌輸入數(shù)量輸入單價輸入編號是否繼續(xù)是否刪除藥品主界面全部刪除單個刪除確認(rèn)取消按名稱刪除確認(rèn)是否刪除是否刪除成功四、詳細(xì)設(shè)計(詳細(xì)說明各功能模塊的實(shí)現(xiàn)過程,包括用流程圖對算法進(jìn)行描述、所用到的數(shù)據(jù)結(jié)構(gòu)、算法實(shí)現(xiàn)的主要源代碼等,正式報告需將括號內(nèi)文字刪除)#include#include#include#includestruct medicinechar name20;
4、/藥品名稱char number50; /藥品編號char price50; /單價char inventory50; /庫存數(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. 按編號查
5、找藥品n); printf(ttt5. 按價格排序 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-請輸入您要保存的信息 -n); printf(ttt輸入藥品名稱:n); scanf(%s,); printf(ttt輸入藥品編號:n); scanf(%s,medicinenum.
6、number); printf(ttt單價:n); scanf(%s,medicinenum.price); printf(ttt品牌:n); scanf(%s,medicinenum.brand); printf(ttt庫存數(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請輸入要修改的藥品名稱:); scanf(%s,name);if(num=0)printf(ntt文件中無相關(guān)藥品);printf(ntt按任意鍵返回主菜單);getch(); mark+;return; for(i=0;inum;i+)if(strcmp(,name)=0) printf(ntt以下是您要修改的藥品信息); printf(ntt藥品名稱: %s,); printf(ntt藥品編號: %s,medicinei.number); printf(ntt單價: %s,medicinei.price); print
8、f(ntt品牌: %s,medicinei.brand); printf(ntt庫存數(shù)量: %s,medicinei.inventory); printf(ntt是否修改(y/n); if(getch()=y) printf(nt-請選擇修改信息-);printf(nt 1-修改藥品名稱 );printf(nt 2-修改藥品編號 );printf(nt 3-修改單價 ); printf(nt 4-修改品牌 );printf(nt 5-修改庫存數(shù)量 );printf(nt-);printf(nt請選擇您所要的服務(wù):); scanf(%s,&c);switch(c) case 1: printf(
9、nt請輸入新藥品名稱: ); scanf(%s,);break; case2:printf(nt請輸入新藥品編號: %s); scanf(%s,medicinei.number);break; case3:printf(nt請輸入新單價: ); scanf(%s,medicinei.price);break; case4:printf(nt請輸入新品牌: ); scanf(%s,medicinei.brand);break; case5:printf(nt請輸入新庫存數(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藥品編號:%sn,medicinei.number);printf(ttt單價:%sn,medicinei.price); printf(ntt品牌: %sn,med
11、icinei.brand);printf(ttt庫存數(shù)量:%sn,medicinei.inventory); if(i+1num) system(pause); printf(ttt-n); else printf(ttt系統(tǒng)中無任何記錄n); printf(ttt按任意鍵返回主菜單:n); getch(); return;int searchbyname() int mark=0; int i; printf(ttt- 按藥品名稱查找 -n); char name20; printf(ttt請輸入藥品名稱:n); scanf(%s,name); for(i=0;inum;i+) if (st
12、rcmp(,name)=0) printf(ttt- 以下是您查找的藥品信息 -n);printf(ttt藥品名稱: %s,);printf(ttt藥品編號: %s,medicinei.number);printf(ttt單價: %s,medicinei.price); printf(ntt品牌: %s,medicinei.brand);printf(ttt庫存數(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請按任意鍵返回主菜單); getch(); return(0); if(mark = 0) printf(ttt沒有您要查找的藥品記錄n); printf(ttt請按任意鍵返回主菜單n); getch(); return(0); return 0;int searchbynumber()int mark=0;int i;printf(ttt-按藥品編號查找 -n);char number10;printf(ttt請輸入藥品編號:n);scanf(%s
14、,number);for(i=0;inum;i+) if (strcmp(medicinei.number,number)=0) printf(ttt-以下是您查找的藥品信息 -n); printf(ttt藥品名稱: %s,); printf(ttt藥品編號: %s,medicinei.number); printf(ttt單價: %s,medicinei.price); printf(ntt品牌: %s,medicinei.brand); printf(ttt庫存數(shù)量:%sn,medicinei.inventory); printf(ttt-n); printf(
15、ttt請按任意鍵返回主菜單n); mark+; getch(); return(0); if (mark=0) printf(ttt沒有改藥品的信息n); printf(ttt請按任意鍵返回主菜單n); getch(); return(0);return(0);void deletebynumber()int i,j;int deletemark=0;char number20; printf(ttt請輸入要刪除藥品編號:n); scanf(%s,number); if(num=0) printf(ttt對不起,系統(tǒng)中無任何記錄n); printf(ttt請按任意鍵返回主菜單n); getch
16、(); return; for (i=0;inum;i+) if (strcmp(medicinei.number,number)=0) printf(ttt以下是您要刪除的用戶記錄:n); printf(ttt藥品名稱: %s,); printf(ttt藥品編號: %s,medicinei.number); printf(ttt單價: %s,medicinei.price); printf(ntt品牌: %s,medicinei.brand); printf(ttt庫存數(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沒有該藥品的記錄); 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請輸入要刪除藥品名稱:n);scanf(%s,name);for (i=a;inum;i+) if(strcmp(,name)=0) printf(ttt以下是您要刪除的藥品信息:); findmark+; printf(ttt_); printf(ttt藥品名稱: %s,); printf(t
19、tt藥品編號: %s,medicinei.number); printf(ttt單價: %s,medicinei.price); printf(ntt品牌: %s,medicinei.brand); printf(ttt庫存數(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沒有該藥品的記錄); printf(ttt是否繼續(xù)刪除?(y/n);
21、if(getch()=y | getch() = Y) deletebynumber(); return;else if (findmark!=0) printf(ttt沒有重名信息); printf(ttt沒有該藥品的記錄); printf(ttt是否繼續(xù)刪除?(y/n); if(getch()=y | getch() = Y) deletebynumber(); return; int dele() /刪除記錄char choic; printf(ttt1-按藥品編號刪除 2-按藥品名稱刪除); printf(ttt請選擇:); choic=getch();switch (choic) c
22、ase 1:deletebynumber();break; case 2:deletebyname();break; return(0);int sortbyprice() /按藥品單價進(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(請按任意鍵進(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(); /按藥品編號查找 break;case 5: sortbyprice(); /按藥品單價排序 break;case 6: dele(); break;case 7:printf(BYE BYE!n);system(pause);getchar(); exit(0); getchar(); return 0; 5、 測試結(jié)果(說明系統(tǒng)的各模塊運(yùn)行結(jié)果(附運(yùn)行界面圖片),正式報告需將括號內(nèi)文字
25、刪除)1、進(jìn)入系統(tǒng)運(yùn)行界面2、 添加藥品信息3、 顯示藥品信息4、 修改藥品信息5、 按編號查找藥品信息6、 按價格排序7、 刪除藥品信息8、 退出系統(tǒng)6、 總結(jié)(談?wù)勛约旱恼n程設(shè)計中的心得體會,正式報告需將括號內(nèi)文字刪除)整個實(shí)驗(yàn)比較復(fù)雜,我使用switch語句調(diào)用菜單中的各個功能軟件調(diào)用不同的函數(shù)來實(shí)現(xiàn)不同的功能,通過反復(fù)調(diào)用函數(shù)來實(shí)現(xiàn)反復(fù)輸入。代碼中通過scanf從鍵盤上輸入不同的數(shù)字選項(xiàng),然后通過swtich case()來實(shí)現(xiàn)對不同函數(shù)的調(diào)用。接下來對編程的各個模塊進(jìn)行解讀:a在實(shí)現(xiàn)顯示菜單功能時,用DO-WHILE執(zhí)行對菜單功能的選擇比較數(shù)字在17之間可繼續(xù)執(zhí)行。swtich ca
26、se()來實(shí)現(xiàn)對不同函數(shù)的調(diào)用,執(zhí)行之后各個獨(dú)立的模塊。b在添加藥品基本信息時,我用了三個函數(shù)調(diào)用來分別輸入藥品基本信息(藥品編號、名稱、單價、庫存數(shù)量、品牌)由程序可以看出,在添加藥品信息板塊上,我設(shè)計了五類信息,輸入名稱,輸入品牌,輸入編號,輸入單價和輸入庫存數(shù)量輸入完成后會提示是否繼續(xù)輸入,如果輸入y后則可以繼續(xù)輸入,輸入n后返回主菜單。調(diào)用addmedicine()函數(shù)后,就可以通過,medicinenum.number,medicinenum.price,medicinenum.inventory,medicinenum.brand 數(shù)組從鍵盤上輸入藥
27、品編號,名稱、單價、庫存數(shù)量、品牌,輸入完畢后,系統(tǒng)會提示是否繼續(xù)輸入,輸入“y”后,則再次調(diào)用addmedicine(); 函數(shù),如此循環(huán),直到不輸入藥品信息為止。c在顯示和查詢藥品信息部分,輸入對應(yīng)的數(shù)字便可以實(shí)現(xiàn)對應(yīng)的功能,同理,系統(tǒng)會在您查詢完畢后詢問您是否繼續(xù)查詢,從而實(shí)現(xiàn)人機(jī)友好的宗旨。通過scanf(%s,name) 從鍵盤上輸入的藥品名稱利用if (strcmp(,name)=0)進(jìn)行對比,確認(rèn)是否有該藥品。通過for (i=0;inum;i+) 循環(huán)實(shí)現(xiàn)依次序顯示藥品信息。d修改藥品信息界面上我設(shè)計了按藥品名稱修改,當(dāng)選擇時系統(tǒng)會提示您是否修改,若不修改則返回主界面,若選擇是,則系統(tǒng)會處理五個修改項(xiàng)目:修改藥品名稱,修改編號,修改品牌,修改庫存數(shù)量,修改單價,修改完畢后系統(tǒng)會提示您是否繼續(xù)修改,如不修改,則又返回主界面等待輸入。通過if(strcmp(medicinei.
溫馨提示
- 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上海市建筑安全員-C證考試(專職安全員)題庫及答案
- 深圳技術(shù)大學(xué)《高分子材料助劑及配方設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南信息統(tǒng)計職業(yè)學(xué)院《納稅籌劃與實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年河南省開封市五縣聯(lián)考高二上學(xué)期第二次月考(期中)歷史試卷
- 山西國際商務(wù)職業(yè)學(xué)院《給排水管道工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 鶴壁能源化工職業(yè)學(xué)院《營養(yǎng)與食品衛(wèi)生學(xué)2》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025青海省建筑安全員-C證(專職安全員)考試題庫
- 2025黑龍江省安全員B證考試題庫及答案
- 福建衛(wèi)生職業(yè)技術(shù)學(xué)院《組織胚胎學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連財經(jīng)學(xué)院《VisualBasic程序設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 高速公路改擴(kuò)建工程路基標(biāo)準(zhǔn)化
- 水泥攪拌樁記錄表格范本
- DL∕T 458-2020 板框式旋轉(zhuǎn)濾網(wǎng)
- GB∕T 8163-2018 輸送流體用無縫鋼管
- Windows Azure云平臺基本操作手冊
- 短視頻:策劃制作與運(yùn)營課件
- T∕ASC 17-2021 電動汽車充換電設(shè)施系統(tǒng)設(shè)計標(biāo)準(zhǔn)
- 水閘設(shè)計步驟計算書(多表)
- PowerPoint使用技巧培訓(xùn)課件(共35張)
- SMA瀝青路面的設(shè)計與施工
- 腎內(nèi)科相關(guān)基礎(chǔ)知識學(xué)習(xí)教案
評論
0/150
提交評論