ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:68.68KB ,
资源ID:23286090      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23286090.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(医药管理系统实验报告.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

医药管理系统实验报告.docx

1、医药管理系统实验报告成 绩 评 定 表学生姓名班级学号专 业计算机科学与技术课程设计题目医药管理系统 评语组长签字:成绩日期 2015 年 月 日课程设计任务书学 院信息科学与工程学院专 业计算机科学与技术学生姓名班级学号课程设计题目医药管理系统实践教学要求与任务:任务:制作一个医药管理系统,能够查看药品列表,显示药品相关信息,能够修改药品信息,能够添加没有的药品,能够根据不同条件查询药品信息。要求:1.设计数据结构,存储结构; 2.在c兼容环境完成上述题目的代码编写与调试; 3.程序运行界面交互性好; 4.软件运行,给出测试数据。工作计划与进度安排:数据结构课程设计时间安排在教学第14周、第

2、15周内完成,按上述题目要求完成查阅资料、程序设计、调试、运行等工作。时间安排如下:1、查阅资料、与初步设计;1-2天2、整体功能设计、代码编码与初步调试。1-3天3、调试和软件功能的测试和验收。1-3天4、答辩与论文撰写。1-2天指导教师: 2015年12月12日专业负责人:2015年12月12日学院教学副院长:2015年12月12日一、题目概述(内容及要求) 4二、功能分析 4三、设计 6四、运行与测试 7五、总结 8参考文献 8一、题目概述(内容及要求)1.内容:制作一个医药管理系统,能够查看药品列表,显示药品相关信息,能够修改药品信息,能够添加没有的药品,能够根据不同条件查询药品信息。

3、2.要求:1.程序代码完成,编译运行成功。2.数据输入首选采用文件的方式,其次键盘输入。3.分析采用哪种合适的存储结构来储存数据4.设计一定的用户界面,简洁。二、功能分析1.功能模块图2.程序流程图 查看 添加 返回 删除 修改 返回 返回 N Y Y N 返回N Y N N 返回 Y N 返回三、设计相关代码:#include #include #include #include #include typedef struct Drug char Drug_id30; /编号 char Drug_name50; /药品名称 char Drug_type10; /类型 float Drug_p

4、rice; /价格 int amount; /库存数量 char Drug_time30; /入库时间 char remark30; /备注 struct Drug *next;Drug,*DrugPtr;#define MENU 欢迎进入药品管理系统n 1: 查看已有药品列表n 2: 添加新的药品n 3: 删除药品信息n 4: 修改药品信息n 5: 分类查询n 0: 退出n 请您选择:#define MENU41 请选择要修改的选项n 1:修改药品名称n 2:修改药品价格n 3:修改药品数量n 4:修改药品类型n 5:修改药品备注n 0:返回主菜单n 请您选择:#define MENU5 欢

5、迎进入分类查询页面n 1: 按编号查询n 2: 按名称查询n 3: 按类型查询n 4: 按价格查询n 5: 按库存数量查询n 6: 按入库时间查询n 0: 返回主菜单n 请您选择:#define MENU50 按药品编号查询n 请输入要查询的药品编号:#define MENU51 按药品名称查询n 请输入要查询的药品名称:#define MENU52 按药品类型查询n 请输入要查询的药品类型:n 1: 中药n 2: 中成药n 3: 西药n 0: 返回查询菜单n 请您选择:#define MENU53 按药品价格查询n 请输入要查询的药品价格:#define MENU54 按药品库存数量查询n

6、请输入要查询的药品的库存数量:#define MENU55 按药品入库时间查询n 请输入要查询的药品入库时间:#define STRCMP(NAME, STR) strcmp(char *)GetStdin(请输入药品的编号(按0结束):, %s, STR), 0)DrugPtr insert(DrugPtr head, int id, char* name); /添加药品void save_to_file( DrugPtr &yaolist); /将更新后的链表保存到文件中 void read_to_list(DrugPtr &yaolist); /将文件读入链表void *GetStdin

7、(const char *numstr, char *control, void *ret);DrugPtr getvalue(); /取值void druginsert(DrugPtr &yaolist, DrugPtr yao); /插入操作int isdrugin(DrugPtr yaolist, DrugPtr yao); /判断void drugmodify(DrugPtr &yaolist, DrugPtr yao); /修改操作void deletenode(DrugPtr &yaolist,char drug_id); /删除操作void deletedrug(DrugPtr

8、&yaolist); void updatedrug(DrugPtr &yaolist);void listshow(DrugPtr yaolist); /显示操作void drug_find_name(DrugPtr head, char *name); /以名称查询void drug_find_id(DrugPtr head,char *id); /以编号查询void drug_find_type_z(DrugPtr head); /查询中药void drug_find_type_zc(DrugPtr head); /查询中成药void drug_find_type_x(DrugPtr h

9、ead); /查询西药void drug_find_price(DrugPtr head,float price); /以价格查询void drug_find_amout(DrugPtr head,int amout); /以库存数量查询void drug_find_time(DrugPtr head,char *time); /以入库时间查询void drug_type_choose(DrugPtr head); /查询主菜单void choose_type(DrugPtr head); /类型查询int main() int choice; DrugPtr head=NULL; DrugP

10、tr yao; read_to_list(head); while (*(int *)GetStdin(MENU, %d, &choice) switch (choice) case 1: listshow(head);/显示药品列表 break; case 2: yao=getvalue(); druginsert(head,yao);/添加药品 printf(药品添加成功n); break; case 3: deletedrug(head);/删除药品 break; case 4: updatedrug(head);/修改药品信息 break; case 5: /分类查询 drug_typ

11、e_choose(head); break; case 0: /退出 break; save_to_file(head);return 0;void *GetStdin(const char *numstr, char *control, void *ret)cputs(numstr); while (! scanf(control, ret) fflush(stdin); system(cls); cputs(numstr); system(cls); return ret; /显示列表void listshow(DrugPtr yaolist) printf (%5s%8s%16s%10s

12、%14s%13s%7sn, 药品编号, 名称, 价格, 类型, 入库时间,库存数量,备注); DrugPtr p=yaolist; if(!p) printf(kong); while(p) printf(%-10s%-18s%-10.2f%-10s%-13s%-10d%-10sn,p-Drug_id,p-Drug_name,p-Drug_price,p-Drug_type,p-Drug_time,p-amount,p-remark); p=p-next; DrugPtr getvalue() DrugPtr yao=(DrugPtr)malloc(sizeof(Drug); printf(请

13、输入药品编号:); scanf(%s,&yao-Drug_id); printf(n); printf(请输入药品名称:); scanf(%s,&yao-Drug_name); printf(n); printf(请输入药品价格:); scanf(%f,&yao-Drug_price); printf(n); printf(请输入药品数量:); scanf(%d,&yao-amount); printf(n); printf(请输入药品入库时间:); scanf(%s,&yao-Drug_time); printf(n); printf(请输入药品类型:); scanf(%s,&yao-Dru

14、g_type); printf(n); printf(请输入药品备注:); scanf(%s,&yao-remark); printf(n); yao-next=NULL; return yao;void druginsert(DrugPtr &yaolist, DrugPtr yao) if(!yaolist) yaolist=yao; else yao-next=yaolist-next; yaolist-next=yao; DrugPtr isdrugin(DrugPtr yaolist,char drug_id) DrugPtr p=yaolist; while(p) if(!strc

15、mp(p-Drug_id,drug_id) break; else p=p-next; return p; /更新结点void drugmodify(DrugPtr &yaolist, DrugPtr yao) int choice; DrugPtr p=yaolist; float t=0;/没有这句出现float point not loaded while(*(int *)GetStdin(MENU41, %d, &choice) switch(choice) case 1: GetStdin(请输入药品的新名称:, %s,yao-Drug_name); printf(n); cputs

16、(更新成功!请继续选择n); printf(n); break; case 2: GetStdin(请输入药品的新价格:, %f, &yao-Drug_price); printf(n); cputs(更新成功!请继续选择n); printf(n); break; case 3: GetStdin(请输入药品的修改数量:, %d,&yao-amount); printf(n); cputs(更新成功!请继续选择n); printf(n); break; case 4: GetStdin(请输入药品的新类型:, %s,yao-Drug_type); printf(n); cputs(更新成功!请

17、继续选择n); printf(n); break; case 5: GetStdin(请输入药品的新备注:, %s,yao-remark); printf(n); cputs(更新成功!请继续选择n); printf(n); break; case 0: break; /找到结点返回 updatevoid updatedrug(DrugPtr &yaolist) char string30; DrugPtr yao; while (strcmp(char *)GetStdin(请输入药品编号(按0结束):n, %s, string), 0) yao=isdrugin(yaolist,strin

18、g); if(yao)/判断药是否存在 drugmodify(yaolist,yao); else printf(没有这种药n); void deletedrug(DrugPtr &yaolist) char string30; while (STRCMP(SECOND, string) if (isdrugin(yaolist, string) deletenode(yaolist, string); else printf(药品不存在!); void deletenode(DrugPtr &yaolist,char drug_id) DrugPtr q,p; q=yaolist; p=q-

19、next; if(!strcmp(yaolist-Drug_id,drug_id) yaolist=yaolist-next; free(q); else while(p) if(!strcmp(p-Drug_id,drug_id) break; q=q-next; p=p-next; q-next=p-next; free(p); printf(药品已删除!);void read_to_list(DrugPtr &yaolist)FILE *fp=fopen(E:/yao.txt,r); if(!fp) printf(error); while( !feof(fp) DrugPtr yao=

20、(DrugPtr)malloc(sizeof(Drug); yao-next=NULL; fscanf(fp,%s%s%f%s%s%d%sn,yao-Drug_id,yao-Drug_name,&yao-Drug_price,yao-Drug_type,yao-Drug_time,&yao-amount,yao-remark); druginsert(yaolist,yao); fclose(fp);void save_to_file(DrugPtr &yaolist) DrugPtr p=yaolist; FILE *fp=fopen(E:/yao.txt,w); if(!fp) print

21、f(error); while(p) fprintf(fp,%-5s%-18s%-10.2f%-10s%-13s%-6d%-10sn,p-Drug_id,p-Drug_name,p-Drug_price,p-Drug_type,p-Drug_time,p-amount,p-remark); p=p-next; fclose(fp);void drug_find_name(DrugPtr head, char *name) DrugPtr cur,p; p=head; cur = head; int i=0; while(p) if(!strcmp(p-Drug_name,name) break

22、; else p=p-next; if(p) while(cur!=NULL) if(!strcmp(cur-Drug_name,name) printf(%-5s%-18s%-10.2f%-10s%-13s%-6d%-10sn,cur-Drug_id, cur-Drug_name, cur-Drug_price,cur-Drug_type,cur-Drug_time,cur-amount,cur-remark); i+; cur=cur-next; printf(n); printf(所有名称为%s的数量为%dn,name,i); printf(n); else printf(n); pri

23、ntf(没有找到该药名!n); printf(n); void drug_find_type_z(DrugPtr head)DrugPtr cur,p; cur = head; p=head; int i=0; while(p) if(!strcmp(p-Drug_type,中药) break; else p=p-next; if(p) while(cur!=NULL) if(!strcmp(cur-Drug_type, 中药) printf(%-5s%-18s%-10.2f%-10s%-13s%-6d%-10sn,cur-Drug_id,cur-Drug_name,cur-Drug_pric

24、e,cur-Drug_type,cur-Drug_time,cur-amount,cur-remark); i+; cur=cur-next; printf(n); printf(所有中药的数量为%dn,i); printf(n); else printf(n); printf(没有该类型的药!n); printf(n); void drug_find_type_zc(DrugPtr head) DrugPtr cur,p; cur = head; p=head; int i=0; while(p) if(!strcmp(p-Drug_type,中成药) break; else p=p-nex

25、t; if(p) while(cur!=NULL) if(!strcmp(cur-Drug_type, 中成药) printf(%-5s%-18s%-10.2f%-10s%-13s%-6d%-10sn,cur-Drug_id,cur-Drug_name,cur-Drug_price,cur-Drug_type,cur-Drug_time,cur-amount,cur-remark); i+; cur=cur-next; printf(n); printf(所有中成药的数量为%dn,i); printf(n); else printf(n); printf(没有该类型的药!n); printf(

26、n); void drug_find_type_x(DrugPtr head) DrugPtr cur,p; cur = head; p=head; int i=0; while(p) if(!strcmp(p-Drug_type,西药) break; else p=p-next; if(p) while(cur!=NULL) if(!strcmp(cur-Drug_type, 西药) printf(%-5s%-18s%-10.2f%-10s%-13s%-6d%-10sn,cur-Drug_id,cur-Drug_name,cur-Drug_price,cur-Drug_type,cur-Drug_time,cur-amount,cur-remark); i+; cur=cur-next; printf(n); printf(所有西药的数量为%dn,i); printf(n); else printf

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1