藥店藥品信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
藥店藥品信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁
藥店藥品信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁
藥店藥品信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁
藥店藥品信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Xian Technological University North Institute of Information Engineering數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目:藥店藥品信息管理系統(tǒng)系另U: 計(jì)算機(jī)信息與技術(shù)系專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)班 級(jí):B130601學(xué) 號(hào):B13060125學(xué)生姓名:楊晴雯指導(dǎo)教師:王楠x XX2015 年 07 月目錄1 需求分析 1.1.1 問題描述 1.1.2 需求分析 1.2 概要設(shè)計(jì) 2.2.1 主界面設(shè)計(jì) 2.2.2 存儲(chǔ)結(jié)構(gòu)設(shè)計(jì) 2.2.3 系統(tǒng)功能設(shè)計(jì) 3.3 模塊設(shè)計(jì) 4.3.1 系統(tǒng)子程序及功能設(shè)計(jì) 4.3.2 系統(tǒng)功能圖 4.4 詳細(xì)設(shè)計(jì)

2、5.4.1 數(shù)據(jù)類型定義 5.4.2 系統(tǒng)主要子程序詳細(xì)設(shè)計(jì) 5.5 測試分析 9.6 源程序清單 1.2.7 工作總結(jié) 2.0.8 參考文獻(xiàn) 2.1.1 需求分析1.1 問題描述隨著我國醫(yī)療事業(yè)的發(fā)展和社會(huì)不同人群的需求, 藥店的藥品層出不窮。 這 對(duì)于消費(fèi)者來說固然是好事, 可是對(duì)于藥店管理者來說, 藥品種類越多, 越不容 易記錄和查找, 還容易出錯(cuò)。 所以以前的記錄在賬本上的方式已經(jīng)落后了, 藥店 需要一套完備的藥店藥品信息管理系統(tǒng), 方便藥店管理者管理藥店, 以貼近時(shí)代 需求,走向現(xiàn)代化管理道路。1.2 需求分析1建立藥品信息表;2插入新藥品信息; 3查詢新藥品信息記錄; 4藥品銷售;

3、 5顯示庫存藥品信息;6. 退出管理系統(tǒng)2概要設(shè)計(jì)2.1主界面設(shè)計(jì)當(dāng)輸入相應(yīng)的操作字符(比如:0-5),通過在主函數(shù)中選擇并調(diào)用對(duì)應(yīng)的子 函數(shù)程序以及其他函數(shù)(比如:菜單函數(shù))中的輔助調(diào)用,實(shí)現(xiàn)并完成各自的功 能操作(比如:添加、查找、刪除、顯示等)。系統(tǒng)主界面如下:*/歐迎使用藥店藥品信息管理系統(tǒng)*1碑才藥品信慝衷*丸插入埶藥品信息*3直詢藥品信息記錄*4藥品銷售at*顯TE庫存藥兒侶息*為退出管理系絨*童 me隹亠歡迎使用藥店藥品仁息管理系統(tǒng)丄請(qǐng)選擇操作二請(qǐng)選擇:孔.圖2.12.2存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)依據(jù)給定的數(shù)據(jù)格式,藥品信息由四個(gè)字段來組成,即藥品編號(hào)、藥品名稱、藥 品數(shù)量、藥品價(jià)格。如:藥品

4、編號(hào)|藥品名稱|藥品數(shù)量|藥品價(jià)格|012 感康3612通過C語言把學(xué)生的信息用單鏈表形式連接,源程序要有適當(dāng)?shù)淖⑨?,使?序易于閱讀,進(jìn)行儲(chǔ)存。同時(shí)進(jìn)行各種修改,完成信息管理等功能。2.3 系統(tǒng)功能設(shè)計(jì)依據(jù)程序的數(shù)據(jù)結(jié)構(gòu)和功能,遵照“自頂向下”原則,描述該程序的層次結(jié)構(gòu), 在總體上包括數(shù)據(jù)的定位、插入、建表、顯示、刪除等功能模塊。(1)定位函數(shù)功能:具體了解要插入函數(shù)的位置。(2)插入函數(shù)功能:找到要插入函數(shù)的位置,進(jìn)行函數(shù)插入。(3)顯示函數(shù)功能:按照指定關(guān)鍵字,對(duì)相應(yīng)商品信息進(jìn)行查找顯示。( 4)刪除函數(shù)功能: 查找到要?jiǎng)h除商品的相應(yīng)信息, 并將其從表中永久的刪除(5)主函數(shù)功能:調(diào)用以

5、上子函數(shù),并用開關(guān)語句進(jìn)行選擇性的調(diào)用。3模塊設(shè)計(jì)3.1系統(tǒng)子程序及功能設(shè)計(jì)Lin kList prior(L in kList L,L in kList p)定位函數(shù)void ListI nsert_L(Li nkList L,L in kList p)插入函數(shù)Lin kList CreateList_L()建表void void showlist(L in kList L)顯示函數(shù)void deleList(L in kList L,i nt i)刪除(按序號(hào))void delName(L in kList L,char n )刪除(按名字)int search nu m(L in kLi

6、st L,i nt n)查詢(按編號(hào))int searchName(L in kList L,char n )查詢(按名字)3.2系統(tǒng)功能圖藥店藥品信息管理系統(tǒng)圖3.14 詳細(xì)設(shè)計(jì)4.1 數(shù)據(jù)類型定義typedef struct nodeint num;/ 藥品編號(hào)char name20;商藥品名稱 int amoun t;藥品數(shù)量in t price;/藥品價(jià)格struct node *next;Node,*LinkList;4.2 系統(tǒng)主要子程序詳細(xì)設(shè)計(jì)1. 定位函數(shù)LinkList prior(LinkList L,LinkList p)while(q-next!=p)q=q-next;

7、return(q);2. 插入函數(shù)void ListInsert_L(LinkList L,LinkList p)while(s!=NULL& p-num=s-num) s=prior(L,s);p-next=NULL; s-next=p; s=prior(L,s);p-next=s-next;s-next=p; 3. 創(chuàng)建函數(shù)LinkList CreateList_L()while(num=0) p=(LinkList)malloc(sizeof(node); p-num=num;p-amount=amount; strcpy(p-name,name); p-price=price;List

8、Insert_L(L,p);4. 顯示函數(shù)void showlist(LinkList L)if(L=NULL|L-next=NULL) printf( 倉庫中沒有藥品 n); elsewhile(p-next!=NULL)/ 不為空的情況下輸出表內(nèi)信息 p=p- next;/不斷尋找下一條信息 n+;5. 刪除函數(shù)(按序號(hào))void deleList(LinkList L,int i) while(p-next&jnext;j+;free(q);6. 刪除函數(shù)(按名稱)if(L-next=NULL)elsewhile(p!=NULL)if(!strcmp(p-name,n)p=p-next;

9、 deleList(L,sale);elsep=p-next;sale+;7. 查找函數(shù)(按名字)int searchName(LinkList L,char n)if(L-next=NULL|L=NULL) printf( 倉庫中沒有該藥品 n);elsewhile(p!=NULL)if(!strcmp(p-name,n)p=p-next;sale+;return x;8. 查找函數(shù)(按編號(hào))int searchnum(LinkList L,int n )if(L-next=NULL) printf( 該鏈表中沒有元素 n);elsewhile(p!=NULL)if(p-numnum=n)

10、p=p-next;sale+; return x;2.主函數(shù):主要由 switch 語句組成,便于函數(shù)調(diào)用 switch(choose)case 1:CreateList _L; break;/*增加記錄 */case 2: ListInsert_L(L,p);break;/*插入記錄 */case 3: searchnum(L,name);break;/*查詢記錄 */case 4: deleList(L,n); break;/*刪除記錄 */case 5: showlist(L);break;/* 顯示記錄 */case 0:exit();break;/*退出系統(tǒng) */3.主頁面函數(shù)voi

11、d main() LinkList L=NULL; system(cls); system (color 4f);printf(n*AeA歡迎使用藥店藥品信息管理系統(tǒng)*n);printf(n*1 建立藥品信息表*n);printf(n*2 插入新藥品信息*n);printf(n*3 查詢藥品信息記錄*n);printf(n*4 藥品銷售*n);printf(n*5 顯示庫存藥品信息*n);printf(n*0 退出管理系統(tǒng)*n);printf(n*AeA 歡迎使用藥店藥品信息管理系統(tǒng)*n);printf(n請(qǐng)選擇操作 :n);5測試分析各功能的運(yùn)行結(jié)果:1)建立信息表:在主菜單中選擇1,進(jìn)入建

12、立信息表備4H12曲鹹:聶:丄1 -B HMHn- 7 13 - =-dT 二-馬;:羔碼稱稱wi|轉(zhuǎn)麻稱二癢 息信品品品:一晉呂苦甘器甘nn口翳吊品品 口器藥藥算藥藥藥藥 RAAAAAA&AAAA -s-trr-h1r-r4.r4-.4r丄牛丄彳J-.rr 土冃+.#+.#4-.牛主H4-.n-H=rE-4df 建主冃請(qǐng)吐冃住冃著隹星H請(qǐng)11注冃性屋冃IV請(qǐng)怙冃青劑山0U E車S2 凳 WS- 5:口皆囂品 藥書藥o= 捋入入入入_ i_ UMaf ,2 2糖漿60丄弓 - I .3 3眩囊州1神削請(qǐng)選擇B-5: _圖5.23)查詢藥品信息,選擇3,進(jìn)行查詢信息序號(hào)藥品編碼藥品名稱藥品數(shù)量藥

13、品價(jià)格1 1感康40122 2O601533膠囊701845神劑5020Anount!?0huhi * 3 Name ! 禱攝擇日-弓:Price:18圖5.34)藥品銷售,選擇4,進(jìn)行藥品銷售誼逖睪0-5: 42按葯品名稱刪除請(qǐng)輸入藥品序號(hào)=刪除后:序號(hào)藥員編弓_藥品色稱_藥品營訂品價(jià)格1 1感康4012-:I2 3膠囊70183 5神劑5620諳選擇0-5 :圖5.45)顯示庫存藥品信息,選擇5,進(jìn)行顯示序號(hào)藥品編哥藥品名稱藥品數(shù)量藥品價(jià)格11感康401223膠囊701835沖劑5020請(qǐng)選擇0-5 =圖5.56)退出系統(tǒng):選擇0,退出系統(tǒng)6 源程序清單#include#include#i

14、ncludeint sale;typedef struct nodeint num;char name20;int amount;int price;struct node * next;node,*LinkList;LinkList prior(LinkList L,LinkList p)/ 定位函數(shù) LinkList q=L-next;if(L-next=NULL) return(L);else while(q-next!=p) q=q-next;printf(1);return(q);void ListInsert_L(LinkList L,LinkList p)/ 插入函數(shù) LinkL

15、ist s=L-next;while(s!=NULL& p-num=s-num) if(s-num=p-num) printf( 重復(fù)輸入 n); s=s-next;/ 已經(jīng)存在信息if(s=NULL)/ 空表插入s=prior(L,s);p-next=NULL; s-next=p;else /尋找位置插入 s=prior(L,s);p-next=s-next;s-next=p;LinkList CreateList_L()/ 建表LinkList L=(LinkList)malloc(sizeof(node);/ 給空間L-next=NULL;/ 初始化LinkList p;int num;

16、char name20;int amount;int price;printf( 請(qǐng)輸入藥品編碼 :); scanf(%d,&num);printf( 請(qǐng)輸入藥品名稱 :); char temp=getchar();gets(name);printf( 請(qǐng)輸入藥品數(shù)量 :); scanf(%d,&amount);printf( 請(qǐng)輸入藥品價(jià)格 :); scanf(%d,&price);while(num=0)/ 重復(fù)輸入信息的條件 p=(LinkList)malloc(sizeof(node); p-num=num; p-amount=amount; strcpy(p-name,name);

17、p-price=price;ListInsert_L(L,p);printf( 請(qǐng)輸入藥品編碼 :); scanf(%d,&num);printf( 請(qǐng)輸入藥品名稱 :); char temp=getchar(); gets(name);printf( 請(qǐng)輸入藥品數(shù)量 :); scanf(%d,&amount);printf( 請(qǐng)輸入藥品價(jià)格 :); scanf(%d,&price);return(L);void showlist(LinkList L)/ 顯示函數(shù)printf(n n);printf(n 序號(hào) 藥品編碼 藥品名稱 藥品數(shù)量 藥品價(jià)格 n);printf( n);LinkLis

18、t p=L;int n=1; if(L=NULL|L-next=NULL) printf( 倉庫中沒有藥品 n);/ 空表 elsewhile(p-next!=NULL)/ 不為空的情況下輸出表內(nèi)信息printf( %8d %4d,n,p-next-num);printf( %4s %4d %dn,p-next-name,p-next-amount,p-ne xt-price);p=p-next;/ 不斷尋找下一條信息n+;printf( n);void deleList(LinkList L,int i)LinkList p=L; int j=0;while(p-next&jnext;j+;

19、if(!(p-next)printf( 刪除失敗 n,i);LinkList q=p-next; p-next=q-next; free(q);int delName(LinkList L,char n)int x=0;LinkList p=L-next;sale=1;if(L-next=NULL)printf( 無可刪除元素 n); else while(p!=NULL)if(!strcmp(p-name,n)x=1;printf(%s,p-name);p=p-next;deleList(L,sale);elsep=p-next;sale+;if(x) printf( 被刪除 n);retu

20、rn x;int searchName(LinkList L,char n)int x=0;LinkList p=L-next;sale=1;if(L-next=NULL|L=NULL) printf( 倉庫中沒有該藥品 n);elsewhile(p!=NULL)if(!strcmp(p-name,n)x=1;printf( 查找的是第 %d 個(gè)商品 :n,sale);printf(Num:%d Name:%s amount:dfPrice:%dn,p-num,p-name,p-amount,p-price);p=p-next;sale+;return x;int searchnum(Link

21、List L,int n)int x=0;LinkList p=L-next;sale=1;if(L-next=NULL) printf( 該鏈表中沒有元素 n);elsewhile(p!=NULL)if(p-numnum=n)x=1;printf( 查找的是第 %d 個(gè)藥品 :n,sale);printf(Num:%d Name:%s Amount:%d Price:%d n,p-num,p-name,p-amount,p-price); p=p-next;sale+;return x;void main() LinkList L=NULL; system(cls);system (colo

22、r 4f);printf(n*AeA歡迎使用藥店藥品信息管理系統(tǒng)*n);printf(n*1 建立藥品信息表*n);printf(n*2 插入新藥品信息*n);printf(n*3 查詢藥品信息記錄*n);printf(n*4 藥品銷售*n);printf(n*5 顯示庫存藥品信息*n);printf(n*0 退出管理系統(tǒng)*n);printf(n*AeA 歡迎使用藥店藥品信息管理系統(tǒng)*n);printf(n 請(qǐng)選擇操作 :n);int x=0;int a;printf( 請(qǐng)選擇 0-5: );scanf(%d,&a);while(a!=0)switch(a)case 1:printf( 建立藥

23、品信息表 :n);L=CreateList_L(); showlist(L); x=1; break;case 2:if(x=1)int num,amount,price;char name20;printf( 請(qǐng)輸入藥品編碼 :);scanf(%d,&num);printf( 請(qǐng)輸入藥品名稱 :);char temp=getchar();gets(name);printf( 請(qǐng)輸入藥品數(shù)量 :);scanf(%d,&amount);printf( 請(qǐng)輸入藥品價(jià)格 :);scanf(%d,&price);LinkList p=(LinkList)malloc(sizeof(node); p-n

24、um=num;p-amount=amount;strcpy(p-name,name);p-price=price;ListInsert_L(L,p);printf( 插入后 :n); case 3:showlist(L);break;int b,n,s;char name20;printf( 選擇查詢方式 :n);printf(1.按藥品編碼查詢2.按藥品名稱查詢 n);scanf(%d,&b);if(b=1)printf(n 請(qǐng)輸入藥品編碼 :); scanf(%d,&n); s=searchnum(L,n);if(s=0)printf( 無此藥品 !n);else if(b=2)printf(n 請(qǐng)輸入藥品名稱 :); char temp=getchar(); gets(name); s=searchName(L,name);if(s=0)printf( 無此藥品 !n); elseprintf( 無庫存 !n);case 4:

溫馨提示

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