C語(yǔ)言程序設(shè)計(jì)藥房管理系統(tǒng)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)藥房管理系統(tǒng)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)藥房管理系統(tǒng)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)藥房管理系統(tǒng)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)藥房管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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)姓名:專業(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ì)功能。要求: 1 、用C 語(yǔ)言實(shí)現(xiàn)程序設(shè)計(jì)

2、;2、系統(tǒng)的各個(gè)功能模塊要求用函數(shù)實(shí)現(xiàn);4 、界面友好(良好的人機(jī)交互),程序加必要的注釋。二、 功能描述 (對(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)行排序(根據(jù)功能描述建立系統(tǒng)的體系結(jié)構(gòu),即將整個(gè)系統(tǒng)分解成若干子功能模并簡(jiǎn)要說(shuō)明各模塊的功能,正式報(bào)告需將括塊,并用框圖表示各功能模塊之

3、間的銜接關(guān)系,號(hào)內(nèi)文字刪除)四、詳細(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<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h>struct medicinechar name20;/藥品名稱char number50; /藥品編號(hào)char price50; /單價(jià)char inventory50; /庫(kù)存數(shù)量char brand20; /品牌 medicine

4、100; /定義全局變量假設(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)查找藥品 n" ) ;printf"tt

5、t5.按價(jià)格排序 n" ) ;printf("ttt7.退出 n");nn");printf("tt do(printf("Enter you choice(17):");scanf("%s",s);a=atoi(s);while (a<1 | a>7);return a; int addmedicine() (printf("ttt 請(qǐng)輸入您要保存的信息 n");printf(-ttt輸入藥品名稱:n");scanf("%s",medicin

6、);printf("ttt輸入藥品編號(hào):n");scanf("%s",medicinenum.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+;print

7、f("ttt 是否繼續(xù)添加 ? (Y/N):n");if(getch()='y' | getch()='Y')addmedicine();return(0);void modifybyname() /按藥品名稱修改(char c;int i,mark=0;char name20;printf("ntt 請(qǐng)輸入要修改的藥品名稱: ");scanf("%s ” ,name);if(num=0)(printf("ntt 文件中無(wú)相關(guān)藥品 ");printf("ntt 按任意鍵返回主菜單 &

8、quot;);getch(); mark+;return;for(i=0;i<num;i+)(if(strcmp(,name)=0)(printf("ntt 以下是您要修改的藥品信息 ");printf("ntt藥品名稱: s”,);printf("ntt藥品編號(hào): s”,medicinei.number);printf("ntt單價(jià):%s” ,medicinei.price);printf("ntt品牌: s” ,medicinei.brand);printf("

9、;ntt庫(kù)存數(shù)量: %s",medicinei.inventory);printf("ntt是否修改(y/n)");if(getch()='y')printf("ntI八");printf("ntprintf("nt12-printf("nt3-nt4-printf("nt5-修改藥品名稱修改藥品編號(hào)修改單價(jià)修改品牌修改庫(kù)存數(shù)量);););););printf("nt請(qǐng)選擇您所要的服務(wù));scanf("%s ",&c);switch(c)case &#

10、39;1': printf("nt請(qǐng)輸入新藥品名稱:")scanf("%s ",);break;;case'2':printf("nt請(qǐng)輸入新藥品編號(hào):%s");scanf("%s ” ,medicinei.number);break;case'3':printf("nt請(qǐng)輸入新單價(jià):");scanf("%s ",medicinei.price);break;case'4':printf("n

11、t請(qǐng)輸入新品牌:");scanf("%s ” ,medicinei.brand);break;case'5':printf("nt請(qǐng)輸入新庫(kù)存數(shù)量:");scanf("%s ",medicinei.inventory);break;if(mark=0)printf("nt是否繼續(xù)修改? ( Y/N):");if(getch()='y')modifybyname();return;void list()int i;system("cls");if(num!=0) p

12、rintf("ttt 已為您顯示所有藥品信息 n");for (i=0;i<num;i+)printf("ttt藥品名稱:n”,);printf("ttt藥品編號(hào):n”,medicinei.number);printf("ttt 單價(jià): n” ,medicinei.price);printf("ntt品牌 :n”,medicinei.brand);printf("ttt庫(kù)存數(shù)量:n”,medicinei.inventory);if(i+1<num) system("pause

13、"); printf("ttt n");elseprintf("ttt系統(tǒng)中無(wú)任何記錄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;i<num;i+)if (strcmp(,name)=0)printf("ttt以下是您查

14、找的藥品信息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ù)量:n” ,medicinei.inventory);n");printf("tttmark+;if(i+1)<num)printf(-ttt是否繼續(xù)查找相同名稱的藥品信息:(y/n

15、)n");if(getch()='y' | getch()='Y')continue;elsereturn(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("t

16、tt 按藥品編號(hào)查找 n");char number10;printf("ttt 請(qǐng)輸入藥品編號(hào):n");scanf("%s ” ,number);for(i=0;i<num;i+)if (strcmp(medicinei.number,number)=0) (printf("ttt 以下是您查找的藥品信息 n");printf("ttt藥品名稱: s” ,);printf("ttt藥品編號(hào):%s",medicinei.number);printf("ttt單價(jià)

17、: %s",medicinei.price);printf("ntt 品牌 : %s",medicinei.brand);printf("ttt庫(kù)存數(shù)量 : n” ,medicinei.inventory);printf("ttt n");printf("ttt 請(qǐng)按任意鍵返回主菜單n");mark+;getch();return(0);if (mark=0)(printf("ttt沒(méi)有改藥品的信息 n");printf("ttt 請(qǐng)按任意鍵返回主菜單n");getch();

18、return(0);return(0);void deletebynumber()(int i,j;int deletemark=0;scanf("%s,number);if(num=0)(printf("ttt對(duì)不起,系統(tǒng)中無(wú)任何記錄 n");printf("ttt 請(qǐng)按任意鍵返回主菜單n");getch();return;for (i=0;i<num;i+)(if (strcmp(medicinei.number,number)=0)(printf("ttt以下是您要?jiǎng)h除的用戶記錄:n");printf("

19、;ttt藥品名稱: s” ,);printf("ttt藥品編號(hào): s” ,medicinei.number);printf("ttt單價(jià):%s",medicinei.price);printf("ntt品牌:%s",medicinei.brand);printf("ttt庫(kù)存數(shù)量: n” ,medicinei.inventory);printf("ttt 是否刪除 ? (y/n) ” );if (getch()='y' | getch()='Y')(for (j=i

20、;j<num-1;j+)medicinej=medicinej+1;num-;deletemark+;printf("ttt刪除成功 ");printf("ttt是否繼續(xù)刪除? (y/n) ” );elsereturn;continue;if (deletemark=0)(printf("ttt沒(méi)有該藥品的記錄");printf("ttt是否繼續(xù)刪除? (y/n) ” );if(getch()='y' | getch()='Y')deletebynumber();return;return;voi

21、d 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;i<num;i+) if(strcmp(,name)=0)printf("ttt 以下是您要?jiǎng)h除的藥品信息: ");findmark+;printf("ttt");printf("ttt藥品名稱: s” ,med

22、);printf("ttt藥品編號(hào):%s",medicinei.number);printf("ttt單價(jià): %s",medicinei.price);printf("ntt 品牌 : %s",medicinei.brand);printf("ttt庫(kù)存數(shù)量: n” ,medicinei.inventory);printf("ttt");printf("ttt是否刪除 ? (y/n) ” );if (getch()='y' | getch() = '

23、Y')(for(j=i;j<num-1;j+)medicinej=medicinej+1;num-;deletemark+;printf("ttt 刪除成功 ");if(i+1)<num)(printf(-ttt是否繼續(xù)刪除相同名稱的藥品信息 ? (y/n)");if (getch()='y')(a=i;continue;printf("ttt 是否繼續(xù)刪除? (y/n) ” );if(i+1)<num)?(y/n)");(printf("ttt是否繼續(xù)刪除相同名稱的藥品信息if (getch

24、()='y' | getch() = 'Y')(a=i;continue;elsecontinue;if (deletemark=0)&&(findmark=0)(printf("ttt 沒(méi)有該藥品的記錄");printf("ttt 是否繼續(xù)刪除? (y/n) ” );if(getch()='y' | getch() = 'Y')deletebynumber();return;else if (findmark!=0)(printf("ttt 沒(méi)有重名信息”) ;printf

25、(-ttt 沒(méi)有該藥品的記錄");printf("ttt 是否繼續(xù)刪除? (y/n) ” );if(getch()='y' | getch() = 'Y')deletebynumber();int dele() /刪除記錄(char choic;printf("ttt1-按藥品編號(hào)刪除2-按藥品名稱刪除");printf("ttt 請(qǐng)選擇: ");choic=getch();switch (choic) case '1':deletebynumber();break;case '

26、2':deletebyname();break;return(0);int sortbyprice() /按藥品單價(jià)進(jìn)行排序int i,j;struct medicine tmp;for (i=1;i<num;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&&j>=0);medicinej+1=tmp;print

27、f("ttt 排序成功 , 是否顯示 ? (y/n) ” );if (getch()='y')list();return(0);int main()printf("tt n");printf("tt Welcome to management systemn");printf("tt Made By FACE CARD n");printf("tt n");printf(" 請(qǐng)按任意鍵進(jìn)入主菜單: )n");getch();int selectnum;while(1)s

28、electnum = menu_select();switch(selectnum)case 1:addmedicine(); / 添加藥品信息break;break;( modifybyname(); / break;case 4:( searchbynumber(); / break;case 5:( sortbyprice(); / break;按藥品單價(jià)排序修改藥品信息按藥品編號(hào)查找case 6:(dele();break;case 7: (printf("BYE BYE!n");system("pause");getchar();exit(0)

29、;getchar ();return 0;五、測(cè)試結(jié)果(說(shuō)明系統(tǒng)的各模塊運(yùn)行結(jié)果(附運(yùn)行界面圖片),正式報(bào)告需將括號(hào)內(nèi)文字刪除)1、進(jìn)入系統(tǒng)運(yùn)行界面2、添加藥品信息;Ml *gCil白作業(yè)>egg供房總理.莖穌做e*- X3、顯示藥品信息E PMiS宣作業(yè)噸頃9娘房謔編猊史能,-ax4、修改藥品信息;史1 D:C1fiS作業(yè)山ebu弟藥屑管理素沉exe ,- O> DC?SfV4l>bug?5lStt理紊蔬吠腑、5、按編號(hào)查找藥品信息古作業(yè)Oegg由房慘理素統(tǒng)Ek- 口 X6、按價(jià)格排序 2Pit:宙古作業(yè) 田也單某臨ML- xX7、刪除藥品信息S3叩沽酉言作業(yè)Debug宙居

30、匿理黑統(tǒng).”8、退出系統(tǒng)U 百推業(yè)Deb叩宙房管麋統(tǒng)舊炬-O X六、總結(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 從鍵盤上輸入不同的數(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人行對(duì)菜單功能的選擇比較數(shù)字在 17 之間可繼續(xù)執(zhí)行。 swtich case() 來(lái)實(shí)現(xiàn)對(duì)不同函數(shù) 的調(diào)用,執(zhí)行之后各個(gè)獨(dú)立的模塊。b 在

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

32、價(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) 的功現(xiàn)人機(jī)友好的宗旨。通過(guò)scanf("%s ",name從鍵盤上輸入的藥品名稱利用if(strcmp(,name)=0) 進(jìn)行對(duì)比,確認(rèn)是 否有該藥品。通過(guò) for (i=0;i<num;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ù)修改,如不修改, 則又返回主界面

溫馨提示

  • 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)論