源程序(医院药房药品管理系统C++)(2)

2018-12-17 17:30

temp=current; f=true; break; } current=current->next; }

if(f==false) { cout<<\商品名为 : \的商品不存在 \\n \ return NULL; }

return temp; }

void Queryname() //按药品名查询 {

char r[MAX];

cout<<\cin>>r;

printinfor(Searchname (r)); }

void Query ()//查询函数 一个次级菜单 {

char m; do{

cout<<\ ********************************************************** \ cout<<\按入库的时间查询 ***********\ cout<<\按药品的名称查询 ***********\ cout<<\退出 ***********\ cout<<\ ********************************************************** \ cin>>m;

switch (m){ //分别调用按不同查询方式下的函数 case 'a': Queryindate();break; case 'b': Queryname();break; case 'c': return ;

default: cout<<\ }

}while(m!='h'); }//Query

void Removebynumber () //按总量删除某个结点 { char t[MAX]; //需要删除的总量值

bool f=false; //表示是否找到满足要求的结点 Goods * temp; //指向找到的结点,并删除

6

cout<<\请输入药品的数量: \

cin>>t;

current=head;

while(current->next!=NULL) {

if(strcmp(current->next->number,t)==0) //判断是否满足条件 { temp=current->next; current->next=temp->next; length--; //没删除一个结点,链表长度减1 f=true; delete temp;//释放结点 cout<<\已删除此药品\\n\ //break; 此处屏蔽break,也就是说找到第一个满足条件的结点,并不退出循环,而是继续删除 } else{ current=current->next; } }

if(f==false)//false没有改动,表示没有满足条件的结点 { cout<<\此药品不存在 ,无须删除 \\n\ }

}//Removebynumber

void Removebyname () //按名称删除某个结点 { char t[20]; bool f=false;; Goods * temp;

cout<<\请输入药品的名称:\ cin>>t;

current=head;

while(current->next!=NULL) {

if(strcmp(current->next->name,t)==0) { temp=current->next; current->next=temp->next; length--;

f=true; delete temp;cout<<\已删除此药品\\n\ //break;此处屏蔽break,也就是说找到第一个满足条件的结点,并不退出循环,而是继

7

续删除 } else{ current=current->next; } }

if(f==false) {

cout<<\此药品不存在 ,无须删除 \\n\ }

}//Removebyname

void Removebyindate () //按购进时间删除某个结点 {

Date t,d; bool f=false; Goods * temp;

cout<<\请输入查找药品的日期: \ cin>>t.year>>t.month>>t.day; current=head;

while(current->next!=NULL) {

d=current->next->indate; if(d.year==t.year&&d.month==t.month&&d.day==t.day) { temp=current->next; current->next=temp->next; length--;

f=true; delete temp; cout<<\已删除此药品\\n\ } else{ current=current->next; } }

if(f==false) { cout<<\此元素不存在 ,无须删除 \\n\ }

}//Removebyindate

8

void Remove ()//删除函数 { char g='Y'; do{

cout<<\ ********************************************************** \ cout<<\按药品总数量删除 ***********\

cout<<\按药品名称删除 ***********\ cout<<\按入库时间删除 ***********\ cout<<\退出 ***********\ cout<<\ ********************************************************** \ cin>>g; switch (g){

case 'a': Removebynumber ();break; case 'b': Removebyname();break; case 'c': Removebyindate();break; case 'd': return ;

default: cout<<\ }

} while(g!='d'); }

void Add() {

Goods * temp; current=head;

while(current->next!=NULL)//找到尾指针 {

current=current->next; }

temp=new Goods; temp->next=NULL; length++;//链表长加1

cout<<\ 请输入药品名称: \

cin>>temp->name; cout<<\ 请输入单价 : \ cin>>temp->price;

cout<<\请输入药品数量 : \ cin>>temp->number;

cout<<\ 请输入总费用 : \ cin>>temp->cost;

cout<<\ 请输入入购日期 (**** ** **) \

cin>>temp->indate.year>>temp->indate.month>>temp->indate.day;

9

cout<<\请输入有效期 (**** ** **)\

cin>>temp->xiaoqi.year>>temp->xiaoqi.month>>temp->xiaoqi.day; cout<<\请输入药品的种类:\ cin>>temp->kind;

current->next=temp;//这时current指向尾指针,将要插入的结点接到current后面 current=temp; }//add

void Modify (){//通过药品名找到要修改的数据项 char n[MAX]; cout<<\请输入您要修改的药品名:\ cin>>n;

Goods * temp=Searchname (n);//按商品名查找 cout<<\请输入单价:\ cin>>temp->price;

cout<<\请输入药品的总费用:\\n\ cin>>temp->cost;

cout<<\请输入日期 (**** ** **):\\n\

cin>>temp->indate.year>>temp->indate.month>>temp->indate.day; cout<<\请输入药品的数量:\\n\ cin>>temp->number;

cout<<\请输入药品的种类:\\n\ cin>>temp->kind; }

void operation () {

char g='Y'; do{

cout<<\cout.fill('*'); cout.width(21); cout<<'*';

cout<<\医院药房管理系统\cout.fill('*'); cout.width(19); cout<<'*'; cout<<\

cout<<\ cout<<\ MWDICINE STORE MANAGEMENT SYSTERM\\n\ cout<<\

cout<<\ && && 药品入库 &&&&&&&&&&&&&&& cout<<\ && && 药品出库 &&&&&&&&&&&&&&&

10

\\n\\\n\


源程序(医院药房药品管理系统C++)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:拼音验收方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: