C语言程序设计药房管理系统0001_第1页
C语言程序设计药房管理系统0001_第2页
C语言程序设计药房管理系统0001_第3页
C语言程序设计药房管理系统0001_第4页
C语言程序设计药房管理系统0001_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告(201 201学年第 学期)课程:咼级语言程序设计题目:药房管理系统姓名:专业:班级:学号:指导教师:完成时间:、课程设计的内容 (课程设计题目,正式报告需将括号内文字删除) 药房管理系统功能:设计药房管理系统, 输入药品基本信息 (药品编号、 名称、单价、库存数量、 品牌), 并实现以下功能:1、修改、删除指定药品的信息2、按单价或库存数量排序并显示药品信息3、统计指定品牌药品数量、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;、完成最低要求:实现药品的添加、修改、删除等功能; 、进一步要求:实现排序及统计功能。1、用 C 语言实现程序设计;2、系统的各个功能模

2、块要求用函数实现;、界面友好(良好的人机交互) ,程序加必要的注释。分步实施:13要求:2二、功能描述 (对系统要实现的功能进行描述,正式报告需将括号内文字删除)1、能正确地录入药品信息并保存下来。2、能够有效、快速地查看全部药品的信息。3、可以查看某一药品的信息 (按药品的默认序号查看 )4 、可以查看某一药品的信息 ( 按药品的编号 进行查看 )5 、能够按照管理人员的意愿修改任意药品的信息6、能修改药品信息 7、此系统还能对药品的单价进行排序三、概要设计 (根据功能描述建立系统的体系结构,即将整个系统分解成若干子功能模 块,并用框图表示各功能模块之间的衔接关系, 并简要说明各模块的功能,

3、 正式报告需将括 号内文字删除)厂主界输入药品信息修改药品信息除 药品信息药品统计保存排序药品数量药品名称单价库存品牌修改K单价=库存全部删除库存单价编号数量名称数量删除单个数量排序JJVJLJL4h.JLJVJ排序4-J输入药品信息 主界面输入名称输入编号输入单价是否继续输入数量输入品牌退出四、详细设计 (详细说明各功能模块的实现过程,包括用流程图对算法进行描述、所用到的数据结构、算法实现的主要源代码等,正式报告需将括号内文字删除#include #include #include #include struct medicinechar name20;输入药品信息printf(ttt2.查

4、看药品信息 n);printf(ttt3.修改药品信息 n);printf(ttt4.按编号查找药品 n);printf(ttt5.按价格排序 n);printf(ttt6.删除药品信息 n);printf(ttt7.退出 n);printf(ttnn);doprintf(Enter you choice(17):);n);scanf(%s,s);a=atoi(s);while (a7);return a;int addmedicine()printf(ttt请输入您要保存的信息n);printf(ntt库存数量 : %s,medicinei.inventory);if(getch()=y)p

5、rintf(ttt输入药品名称 :n);scanf(%s,);printf(ttt输入药品编号 :n);scanf(%s,medicinenum.number);printf(ttt单价 :n);scanf(%s,medicinenum.price);printf(ttt品牌 :n);scanf(%s,medicinenum.brand);printf(ttt库存数量 :n);scanf(%s,medicinenum.inventory);num+;printf(ttt是否继续添加 ?(Y/N):n);if(getch()=y | getch()=Y)addme

6、dicine();return(0);void modifybyname()ame,name)=0)printf(ntt以下是您要修改的药品信息 );printf(ntt药品名称 : %s,);printf(ntt药品编号 : %s,medicinei.number);printf(ntt单价 : %s,medicinei.price);printf(ntt品牌 : %s,medicinei.brand);printf(ntt是否修改 (y/n);printf(nt请选择修改信息printf(nt1-修改药品名称printf(nt2-修改药品编号printf(nt3

7、-修改单价);nt 4-修改品牌);printf(nt5-修改库存数量););););printf(nt);if(mark=0)printf(nt 请选择您所要的服务: );scanf(%s,&c);switch(c)case 1: printf(nt请输入新药品名称:);scanf(%s,);break;case2:printf(nt请输入新药品编号: %s);scanf(%s,medicinei.number);break;case3:printf(nt请输入新单价 : );scanf(%s,medicinei.price);break;case4:printf

8、(nt请输入新品牌 : );scanf(%s,medicinei.brand);break;case5:printf(nt请输入新库存数量 : );scanf(%s,medicinei.inventory);break;printf(ntt药品信息修改完毕 );printf(nt 是否继续修改? (Y/N):);if(getch()=y)modifybyname();return;void list()int i;system(cls);if(num!=0)printf(tttn);printf(ttt已为您显示所有药品信息n);for (i=0;inum;i+)printf(ttt药品名称:

9、 %sn,);printf(ttt药品编号: %sn,medicinei.number);printf(ttt单价: %sn,medicinei.price);printf(ntt品牌 : %sn,medicinei.brand);printf(ttt库存数量: %sn,medicinei.inventory);if(i+1num)system(pause);elseprintf(ttt系统中无任何记录 n);printf(ttt按任意键返回主菜单: n);getch();return;int searchbyname()int mark=0;int i;print

10、f(ttt按药品名称查找n);if(getch()=y | getch()=Y)char name20;printf(ttt请输入药品名称 :n);scanf(%s,name);for(i=0;inum;i+)if (strcmp(,name)=0)printf(ttt- 以下是您查找的药品信息 -n);printf(ttt药品名称: %s,);printf(ttt药品编号: %s,medicinei.number);printf(ttt单价: %s,medicinei.price);printf(ntt品牌 : %s,medicinei

11、.brand);printf(ttt库存数量: %sn,medicinei.inventory);printf(tttn);mark+;if(i+1)num)printf(ttt是否继续查找相同名称的药品信息:(y/n)n);continue;printf(ttt按药品编号查找n);printf(ttt请输入药品编号 :n);scanf(%s,number);elseelsereturn(0);printf(ttt请按任意键返回主菜单 );getch();return(0);if(mark = 0)printf(ttt没有您要查找的药品记录 n);printf(ttt请按任意键返回主菜单 n)

12、;getch();return(0);return 0;int searchbynumber()int mark=0;int i;char number10;for(i=0;inum;i+)printf(ttt请输入要删除药品编号: n);if (strcmp(medicinei.number,number)=0)printf(ttt以下是您查找的药品信息n);printf(ttt药品名称: %s,);printf(ttt药品编号: %s,medicinei.number);printf(ttt单价: %s,medicinei.price);printf(ntt品牌

13、 : %s,medicinei.brand);printf(ttt库存数量: %sn,medicinei.inventory);printf(tttn);printf(ttt请按任意键返回主菜单 n);printf(ttt删除成功 );printf(ttt是否继续删除 ?(y/n);if (getch()=y | getch()=Y)deletebynumber();mark+;getch();return(0);if (mark=0)printf(ttt没有改药品的信息 n);printf(ttt请按任意键返回主菜单 n);getch();return(0);return(0);void d

14、eletebynumber()int i,j;int deletemark=0;scanf(%s,number);if(num=0)printf(ttt对不起,系统中无任何记录 n);printf(ttt请按任意键返回主菜单 n);getch();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单价: %

15、s,medicinei.price);printf(ntt品牌 : %s,medicinei.brand);printf(ttt库存数量: %sn,medicinei.inventory);printf(ttt是否删除 ?(y/n);if (getch()=y | getch()=Y)for (j=i;jnum-1;j+)medicinej=medicinej+1;num-;deletemark+;else return;continue;if (deletemark=0)printf(ttt没有该药品的记录 );printf(ttt是否继续删除 ?(y/n);if(getch()=y | g

16、etch()=Y)deletebynumber();return;return;void deletebyname()int a=0;int findmark=0;int j;int deletemark=0;int i;char name20;scanf(%s,name);for (i=a;inum;i+)if(strcmp(,name)=0)printf(ttt以下是您要删除的药品信息: );findmark+;printf(tttprintf(ttt药品名称: %s,);printf(ttt药品编号: %s,medicinei.nu

17、mber);printf(ttt单价: %s,medicinei.price);printf(ntt品牌 : %s,medicinei.brand);printf(ttt库存数量: %sn,medicinei.inventory);printf(tttprintf(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)printf(ttt是否继续删除相同名称的药品信息 ?(y/n);if (

18、getch()=y)a=i;continue;printf(ttt是否继续删除 ?(y/n);if (getch()=y)deletebyname();return;if(i+1)num)printf(ttt是否继续删除相同名称的药品信息 ?(y/n);if (getch()=y | getch() = Y)a=i;continue;elsecontinue;if (deletemark=0)&(findmark=0)printf(ttt没有该药品的记录 );printf(ttt是否继续删除 ?(y/n);if(getch()=y | getch() = Y)deletebynumber();

19、return;else if (findmark!=0)printf(ttt没有重名信息 );printf(ttt没有该药品的记录 );if(getch()=y | getch() = Y)deletebynumber();printf(ttt是否继续删除 ?(y/n);return;printf(ttn);printf( 请按任意键进入主菜单 :)n);getch();int dele()rice,medicinei-1.price)0)tmp=medicinei;j=i-1;domedicinej+1=medicinej;while (strcmp,medicinej.price)=0);

20、medicinej+1=tmp;printf(ttt排序成功 , 是否显示 ?(y/n);if (getch()=y)list();return(0);int main()n);printf(ttprintf(ttWelcome to management systemn);printf(ttMade By FACE CARDn);int selectnum;while(1)selectnum = menu_select();switch(selectnum)case 1:addmedicine();ame , medicinenum.number ,medicinenum.pricemedi

21、cinenum.inventorymedicinenum.brand 数组从键盘上输入药品编号,名称、单价、库存数量、品牌,输入完毕后,系统会提示是否继续输入,输入“y”后,则再次调用 addmedicine(); 函数,如此循环,直到不输入药品 信息为止。c 在显示和查询药品信息部分 ,输入对应的数字便可以实现对应 的功能,同理, 系统会在您查询完毕后询问您是否继续查询,从而实 现人机友好的宗旨。通过 scanf(%s,name) 从键盘上输入的药品名 称利用 if (strcmp(,name)=0) 进行对比,确认是 否有该药品。通过 for (i=0;inum

22、;i+) 循环实现依次序显示药品 信息。d 修改药品信息界面 上我设计了按药品名称修改,当选择时系统 会提示您是否修改,若不修改则返回主界面,若选择是,则系统会处 理五个修改项目:修改药品名称,修改编号,修改品牌,修改库存数 量,修改单价,修改完毕后系统会提示您是否继续修改,如不修改, 则又返回主界面等待输入。通过if(strcmp(,name)=0) 来比较是否有该药品, 如果有,则系统弹出修改项目,通过 scanf(%s,&c); 录入的数据来实现 对药品名称、编号、品牌、库存数量、单价的修改。e 按药品单价排序,在按照药品单价排序问题上,用 DO-WHILE语句比较两种药品的价格大小,从而实现排序。f 在删除药品信息部分 ,在删除药品信息流程图上,我设计了按 药品名称删除和药品编号删除功能两种选择, 在删除时,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论