问答题

【说明】
某医院收费系统的主要功能是收取病人门诊的各项费用。系统的收费功能分为3个方面:病历收费、挂号收费和根据处方单内容收取检查或药物费用。


1.病人初次来该医院看病,首先购买病历,记录病人基本情况。
2.病人看病前要挂号。根据病人的病历和门诊部门(内科、外科等),系统提供相应的挂号单和处方单,并收取费用。
3.病人根据处方单进行进一步检查或取药前需交纳各项费用。系统首先根据病人基本情况检查处方单中病历号是否正确,记录合格的处方单,并提供收据。
4.所有收费都必须依据定价表中的定价来计算,且所有收费都必须写入收费记录中。
医院收费系统的顶层图如图2所示;医院收费系统的第0层DFD图如图3所示。其中,加工1的细化图如图4所示,加工2的细化图如图5所示。
假定顶层图是正确的,“定价表”文件已由其他系统生成。
【数据流图】




【问题2】
数据流图4中缺少2条数据流,请直接在图中添加。

【参考答案】

1.“1.1检查病人信息”的“不合格病人信息”输出数据流。
2.“1.2计算费用”的“收据”输出数据流。
热门 试题

问答题
【程序6说明】 本程序实现两个多项式的乘积运算。多项式的每一项由类Item描述,而多项式由类List描述。类List的成员函数有: createList():创建按指数降序链接的多项式链表,以表示多项式。 reverseList():将多项式链表的表元链接顺序颠倒。 multiplyList(List L1,List L2):计算多项式L1和多项式L2的乘积多项式。 【程序6】 #include<iostream.h> class List; class |tem friend class List; private: double quot; int exp; |tem * next; public: |tem(double_quot,int_exp) (1) ; ; class List private: |tem * list; public: List()list=NULL; void reverseList(); void multiplyList(List L1,List L2); void createList(); ; void List::createList() |tem * p,* u,*pre; int exp; doubte quot; list=NULL; while(1) cout<< 输入多项式中的一项(系数、指数): <<endl; cin>>quot>>exp: if(exp<0)break; 指数小于零,结束输入 if(quot==0)continue; p=list; while( (2) ) 查找插入点 pre=p;p=p->next; if(p!=NULL&&exp==p->exp) p->quot+=quot;continue; u= (3) ; if(p==list) list=u; else pre->next=u; u->next=p; void List::reverseList() |tem*p,*u; if(list==NULL)return; p=list->next;list->next=NULL; while(p!=NULL) u=p->next;p->next=list; list=p;p=u; void List::multiplyList(List L1,List L2) |tem*pLI,*pL2,*u; int k,maxExp; double quot; maxExp= (4) ; L2.reverseList();list=NULL; for(k=maxExp;k>=0;k--) pL1=L1.list; while(pL1!=NULL&&pL1->exp>k)pL1=pL1->next; pL2=L2.list; while(pL2!=NULL&& (5) pL2=pL2->next; quot=0.0; while(pL1!=NULL&&pL2!=NULL) if(pL1->exp+pL2->exp==k) (6) ; pL1=pL1->next;pL2=pL2->next; else if(pL1->exp+pL2->exp>k) pL1=pL1->next; else pL2=pL2->next; if(quot!=0.0) u=new |tem(quot,k); u->next=list;list=u; reverseList(:);L2.reverseList(): void main() ListL1,L2,L; cout<< 创建第一个多项式链表 n ;L1.createList(); cout<< 创建第二个多项式链表 n ;L2.createList(); L.multiplyList(L1,L2);