源程序(医院药房药品管理系统C++)(共12页).doc
《源程序(医院药房药品管理系统C++)(共12页).doc》由会员分享,可在线阅读,更多相关《源程序(医院药房药品管理系统C++)(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上源程序:# include /包含文件读写# include # include /包含strcmp()字符是否相等#include /包含system(cls)清屏#define MAX 60 /下列字符数组的大小struct Date/日期 char yearMAX;/年 char monthMAX;/月 char dayMAX;/日;struct Goods/药品信息 char nameMAX;/药品名称 char priceMAX;/药品价格 char numberMAX;/药品数量 char costMAX;/药品总价 char kindMAX;/药品的种类
2、 Date indate;/入库日期 Date xiaoqi;/到期时间 Goods * next;/下一个结点 ;class Cangkuguanli /类定义与实现private: int length;/客户数量 Goods * head;/列表的头结点 Goods * current;/当前结点public: Cangkuguanli()/构造函数 head=new Goods;/创建头结点 current=head; current-next=NULL; length=0;/长度为0 void Creatlist()/创建新的列表 char g=Y; int s=0; length=
3、0;/初始长度为0;current=head;do Goods * temp=new Goods ;/构建新结点信息 length+; /每加一个结点 链表长度增1 temp-next=NULL; couttemp-name; couttemp-price; couttemp-number; couttemp-cost; couttemp-indate.yeartemp-indate.monthtemp-indate.day; couttemp-xiaoqi.yeartemp-xiaoqi.monthtemp-xiaoqi.day; couttemp-kind;if(head=NULL)hea
4、d=temp;current=temp; /head头指针,current尾指针 else current-next=temp,current=temp; do coutg; if(g!=Y&g!=N) coutn error !n ; while(g!=Y&g!=N); while(g=Y);/判断是否继续插入新结点 void Open ()/打开一个数据文件,并建立链表关联 和文件中的记录对应 char fname20;/文件名称 coutfname; /输入要打开的文件名ifstream infile (fname);/创建输入文件流 infilelength;coutn length
5、is: lengthendl;/if(length=0)cout 数据为空n; for(int i=0;inext=NULL;infilet-namet-pricet-numbert-costt-kind t-indate.yeart-indate.montht-indate.day; if(head=NULL)head=t;current=t;/跟上面的链表创建相似else current-next=t,current=t;infile.close();/关闭文件流/open void Save ()/保存链表信息到文件 if(length=0) cout 列表为空 不需存盘 n; retu
6、rn ; char fname20;/文件名称 coutfname; ofstream outfile(fname);/创建输出文件流 Goods * temp=head-next; outfilelengthendl;/先写入文件的长度 while (temp!=NULL)/把所有结点写入到文件fname outfilename price number cost kind indate.year indate.month indate.day xiaoqi.year xiaoqi.month xiaoqi.daynext; outfile.close();/关闭文件流 void print
7、infor( Goods * current)/输出一个结点的信息到字符界面 if(current=NULL) coutn元素为空! n ; return; cout.fill( );coutname;cout.width(8); cout.width(8);coutprice;cout.width(8); coutnumber;cout.width(8);coutcost; /就是给current-cost10个字符输出,不够往前面加 空格 cout.width(10);coutkind; cout.width(10); coutindate.year.indate.month.indate
8、.day; cout.width(10); coutxiaoqi.year.xiaoqi.month.xiaoqi.day; coutnext;if(current=NULL)cout列表为空 n;return ;cout.fill( );cout.width(2);cout名称; cout.width(8);cout价格;cout.width(8);cout数量;cout.width(8);cout总费用;cout.width(10);cout药品的种类;cout.width(15);cout购进时间;cout.width(15);cout有效期;coutnext; /showGoods *
9、Searchindate(Date t) /按购入日期搜索 返回结点指针temp/结构体t含有t.year t.month t.day三个信息块Date d;bool f=false;Goods * temp;current=head-next; while(current!=NULL) d=current-indate; if(!strcmp(d.year,t.year)&!strcmp(d.month,t.month)&!strcmp(d.day,t.day) temp=current;f=true; break; current=current-next; if(f=false) cou
10、tn 没有满足要求的信息 n; return NULL; return temp;void Queryindate()/按入库日期查询Date t;coutt.yeart.montht.day; printinfor(Searchindate (t);/Queryindate()Goods * Searchname (char r)/搜索药品名 返回结点指针temp Goods * temp; current=head-next;bool f=false; while(current!=NULL) if(strcmp(current-name,r)=0) temp=current; f=tru
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 源程序 医院 药房 药品 管理 系统 12
限制150内