




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告(201 201 学年第 学期)课 程:高级语言程序设计题 目:药房管理系统姓 名:专 业:班 级:学 号:指导教师:完成时间:一、课程设计的内容 (课程设计题目,正式报告需将括号内文字删除)药房管理系统功能: 设计药房管理系统, 输入药品基本信息 (药品编号、 名称、 单价、 库存数量、 品牌) ,并实现以下功能:1、修改、删除指定药品的信息2、按单价或库存数量排序并显示药品信息3、统计指定品牌药品数量分步实施:1 、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2 、完成最低要求:实现药品的添加、修改、删除等功能;3 、进一步要求:实现排序及统计功能。要求:1、
2、用C语言实现程序设计;2、系统的各个功能模块要求用函数实现;3 、界面友好(良好的人机交互) ,程序加必要的注释。2、 功能描述 (对系统要实现的功能进行描述,正式报告需将括号内文字删除)1、能正确地录入药品信息并保存下来。2 、能够有效、快速地查看全部药品的信息。3、可以查看某一药品的信息 ( 按药品的默认序号查看)4 、 可以查看某一药品的信息( 按药品的编号进行查看 )5 、能够按照管理人员的意愿修改任意药品的信息 6 、能修改药品信息7、此系统还能对药品的单价进行排序3、 概要设计 (根据功能描述建立系统的体系结构,即将整个系统分解成若干子功能模块, 并用框图表示各功能模块之间的衔接关
3、系, 并简要说明各模块的功能, 正式报告需将括号内文字删除)库存 数量 排序退出f 、单价排序printf(ttt请输入您要保存的信息n);4、 详细设计 (详细说明各功能模块的实现过程,包括用流程图对算法进行描述、所用到的数据结构、算法实现的主要源代码等,正式报告需将括号内文字删除)#include#include#include#includestruct medicinechar name20;输入药品信息n);printf(ttt2.查看药品信息n);printf(ttt3.修改药品信息n);printf(ttt4.按编号查找药品 n);printf(ttt5.按价格排序n);prin
4、tf(ttt6.删除药品信息 n);printf(ttt7.退出n);printf(ttnn);doprintf(Enter you choice(17):);scanf(%s,s);a=atoi(s);while (a7);return a;int addmedicine()printf(ttt输入药品名称:n);scanf(%s,);printf(ttt输入药品编号:n);scanf(%s,medicinenum.number);printf(ttt单价:n);scanf(%s,medicinenum.price);printf(ttt品牌:n);scanf
5、(%s,medicinenum.brand);printf(ttt库存数量:n);scanf(%s,medicinenum.inventory);num+;printf(ttt 是否继续添加(Y/N):n);if(getch()=y | getch()=Y)addmedicine();return(0);void modifybyname()ame,name)=0)printf(ntt 以下是您要修改的药品信息);printf(ntt药品名称: %s,);printf(ntt药品编号: %s,medicinei.number);printf(ntt 单价 : %s,
6、medicinei.price);printf(ntt 品牌 : %s,medicinei.brand);printf(ntt库存数量: %s,medicinei.inventory);printf(ntt是否修改(y/n);if(getch()=y)printf(nt请选择修改信息printf(ntt 药品信息修改完毕););printf(nt1-printf(nt2-printf(nt3-printf(nt4-printf(nt5-修改药品名称)修改药品编号)修改单价);修改品牌);修改库存数量)printf(nt);printf(nt 请选择您所要的服务: );scanf(%s,&c);
7、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(nt请输入新品牌: );scanf(%s,medicinei.brand);break;case5:printf(nt请输入新库存数量: );scanf(%s,medicinei.inventor
8、y);break;if(mark=0)printf(nt 是否继续修改(Y/N):);if(getch()=y)modifybyname();return;void list()int i;system(cls);if(num!=0)n);printf(ttt 已为您显示所有药品信息for (i=0;inum;i+)printf(ttt药品名称:%sn,);printf(ttt药品编号:%sn,medicinei.number);printf(ttt单价: %sn,medicinei.price);printf(ntt品牌: %sn,medicinei.brand)
9、;printf(ttt库存数量:%sn,medicinei.inventory);if(i+1num) system(pause); printf(tttn);elseprintf(ttt系统中无任何记录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 (strcmp(,name)=0) p
10、rintf(ttt 以下是您查找的药品信息 n);printf(ttt药品名称:%s,);printf(ttt药品编号:%s,medicinei.number);printf(ttt单价: %s,medicinei.price);printf(ntt品牌: %s,medicinei.brand);printf(ttt 库存数量: %sn,medicinei.inventory);printf(tttn);mark+;if(i+1)num)printf(ttt 是否继续查找相同名称的药品信息: (y/n)n);if(getch()=y | getch()=Y)cont
11、inue;elsereturn(0);elseprintf(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,number);for(i=0;inum;i+)if (strcmp(medicinei.
12、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库存数量: %sn,medicinei.inventory);printf(tttn);printf(ttt 请按任意键返回主菜单n);mark+;getch();return(0);if (mark=0)prin
13、tf(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 对不起,系统中无任何记录n);printf(ttt 请按任意键返回主菜单n);getch();return;for (i=0;inum;i+)if (strcmp(medicinei.number,number)=
14、0)printf(ttt以下是您要删除的用户记录:n);printf(ttt药品名称:%s,);printf(ttt药品编号:%s,medicinei.number);printf(ttt单价:%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-;d
15、eletemark+;deletebynumber();printf(ttt删除成功 );printf(ttt是否继续删除(y/n);if (getch()=y | getch()=Y)return;elsereturn;continue;if (deletemark=0)printf(ttt 没有该药品的记录);printf(ttt 是否继续删除(y/n);if(getch()=y | getch()=Y) deletebynumber();return;return;void deletebyname()int a=0;int findmark=0;int j;int deletemark
16、=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(ttt药品编号:%s,medicinei.number);printf(ttt单价: %s,medicinei.price);printf(ntt品牌: %s,medicinei.brand);
17、printf(ttt库存数量: %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)printf(ttt 是否继续删除相同名称的药品信息(y/n);if (getch()=y)a=i;continue;printf(ttt 是否继续删除(y/n);if (getch()=y)deletebyname();
18、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();return;else if (findmark!=0)printf(ttt 没有重名信息);printf(ttt没有该药品的记录);printf(ttt是否继
19、续删除(y/n);if(getch()=y | getch() = Y)deletebynumber();return;int dele() rice,medicinei-1.price)0)tmp=medicinei;j=i-1;domedicinej+1=medicinej;j-;while (strcmp,medicinej.price)=0);medicinej+1=tmp;printf(ttt 排序成功 , 是否显示 (y/n);if (getch()=y)list();return(0);int main()printf(ttn);printf(ttWelcome to manag
20、ement system n);printf(ttMade By FACE CARDn);printf(ttn);printf( 请按任意键进入主菜单:)n);getch();int selectnum;while(1)selectnum = menu_select();switch(selectnum)case 1:addmedicine(); ame , medicinenum.number ,medicinenum.price , medicinenum.inventory ,medicinenum.brand 数组从键盘上输入药品编号,名称、单价、库存数量、品牌,输入完毕后,系统会提示
21、是否继续输入,输入“y ”后,则再次调用 addmedicine(); 函数,如此循环,直到不输入药品信息为止。c 在显示和查询药品信息部分, 输入对应的数字便可以实现对应的功能,同理, 系统会在您查询完毕后询问您是否继续查询,从而实现人机友好的宗旨。通过scanf(%s,name) 从键盘上输入的药品名称利用 if (strcmp(,name)=0) 进行对比,确认是否有该药品。通过for (i=0;inum;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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 偏导数课件教学课件
- 你一定会听见课件
- 2026届河北省市巨鹿县二中物理高三上期末质量跟踪监视模拟试题
- 陆军飞行员管理办法
- 3.1世界是普遍联系的 课件 统编版高中政治必修4
- 上海境外输入管理办法
- 企业特种设备安全培训课件
- 企业消防安全培训讲话课件
- 税务廉政约谈管理办法
- 烟草生产收购管理办法
- 2025国家网络安全宣传周
- 单位与个人劳务合同范本
- 2025至2030中国中医馆行业市场发展分析及前景趋势与投资机会报告
- 甘肃陇西村文书考试题及答案
- 【MOOC答案】《学术英语读写》(华中科技大学)章节测验作业网课答案
- 2024(统编版)语文六年级上册 开学第一课 课件
- 招标代理服务服务方案
- 高等教育心理学专业知识考试题库与答案
- 建筑施工岗位安全风险明白卡
- (完整版)法理学试题库附答案
- 代理记账电话销售技巧PPT课件
评论
0/150
提交评论