计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
软件设计师(中级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
问答题【说明】清点盒子。本程序当用户输入一个整数值时,一切正常;当输入其他数值时,程序就出错。现在已做了改进,请填空。import java. text. NumberFormat;Public class InventoryLoop public static void main(String args[]) String numBoxesIn; Int numBoxes; Double boxPrice=3.25; Boolean gotGoodInput=false; NumberFormat currency=NumberFormat. (1) ; do System.out. print(“How many boxes do we have?”); numBoxesIn=DummiesIO. (2) ; try numBoxes=Integer.parseInt( (3) ); system. out. print("The value is"); system.out. println(currency, format (numBoxes*boxPrice)); gotGoodInput=true; catch( (4) ) System.out.println(); System.out. println(That's not a number."); while( (5) );//输入不正确时 System. out.println("That's that.");
进入题库练习
问答题[说明]某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。(1)每门课程都由3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。(2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。(3)在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果学生的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。(4)对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。(5)若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。(6)在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。(7)根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。现采用结构化方法对这个系统进行分析与设计,得到如图1所示的顶层数据流图和如图2所示的0层数据流图。
进入题库练习
问答题阅读下列说明,根据要求回答下列问题。[说明]某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下。1.医院医师具有编号、姓名、科室、职称、出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。2.患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如表7-15所示,其中,就诊类型为医师的出诊类型。表7-15 ××医院门诊挂号单                      收银员:13011   时间:2007年2月1日08:58就诊号姓名科室医师就诊类型挂号费20070205015叶萌内科杨玉明专家门诊5元3.患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库(见表7-16)并生成门诊处方单(见表7-17)。表7-16 药品库药品编码药名称类型库存货架编号单位规格单价12007牛蒡子中药51590B1401G炒0.034011090百部中药36950B1523G片0.0313表7-17 ××医院门诊处方单                                   时间:2007年2月1日10:31就诊号20070205015病人姓名叶萌医师姓名杨玉明金额总计0.65项目总计2收银员21081药品编码药品名称数量单位单价金额(元)12007牛蒡子10G0.03400.3411090百部10G0.03130.314.由于药品价格会发生变化,因此门诊管理系统必须记录处方单上药品的单价。[概念模型设计]根据需求阶段收集的信息,设计的实体联系图(不完整)如图7-11所示。[逻辑结构设计]根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整)。挂号单(就诊号,病患姓名,医师编号,时间,______)收银员(编号,姓名,级别)医师(编号,姓名,科室,职称,出诊类型,出诊费用)门诊处方(______,收银员,时间)处方明细(就诊号,______)药品库(药品编码,药品名称,______)
进入题库练习
问答题【说明】某超市的销售业务由一个销售业务管理系统进行管理,该系统每完成一次交易都需要提供顾客发票,其格式如表1-1所示。对于这样一个销售业务管理系统,分别给出了以下两种关系数据库的设计(下划线表示主关键字)设计一:顾客Customer(顾客代码Cno,姓名name,住址address,联系电话phone)收银员Salesman(收银员代码Sno,身份证号idno,姓名flame,住址address,联系电话phone)商品Merchandise(商品代码Milo,商品名称Mname,价格price)发票Invoice(发票号码Ino,交易日期Idate,顾客代码Cno,收银员代码Sno,商品代码Mno,单价unitprice,数量amount)设计二:顾客Customer(顾客代码Cno,姓名name,住址address,联系电话phone)收银员Salesman(收银员代码Sno,身份证号idno,姓名name,住址address,联系电话吵one)商品Merchandise(商品代码Mno,商品名称mllame,价格pnce)发票Invoice(发票号码Ino,交易日期Idate,顾客代码Cno,收银员代码Sno)发票明细Invoicedetail(发票号码Ino,商品代码Uno,单价unitprice,数量amount)1.【问题1】设计一的关系模式Invoice最高满足第几范式?为什么?设计一和设计二哪个更加合理?为什么?
进入题库练习
问答题[说明]以下代码实现了对象引用作为函数参数,仔细阅读以下代码,分析运行结果,填入 (n) 处。[代码] #include<iostream.h> class Sample int x,y; public: Sample() x=y=0; Sample (int i, int j ) x=i; y=j; void copy ( Sample y=j; void print ( cout<<"x="<<x<<end1 ; cout <<"y="<<y<<end1; ; void Sample: copy ( Sample y=s.y; void func ( Sample s1, Sample s2.setxy ( 30,40 ); void main ( ) Sample p ( 1,2 ) ,q; q.copy ( p ); time ( p,q ); p.print ( ); q.print ( ); 运行结果 (1) (2) (3) (4)
进入题库练习
问答题【说明】 某供销系统接受顾客的订货单,当库存中某配件的数量小于订购量或库存量低于一定数量时,向供应商发出采购单;当某配件的库存量大于或等于定购粮食,或者收到供应商的送货单并更新了库存后,向顾客发出提货单。该系统还可随时向总经理提供销售和库存情况表。该供销系统的分层数据流图中部分数据流和文件的组成如下: 文件 配件库存=配件号+配件名+规格+数量+允许的最低库存量 数据流 订货单=配件号+配件名+规格+数量+顾客名+地址 提货单=订货单+金额 采购单=配件号+配件名+规格+数量+供应商名+地址 送货单=配件号+配件名+规格+数量+金额 假定顶层图(如图6所示)是正确的,“供应商”文件已由其他系统生成。
进入题库练习
问答题[说明] 下面代码实现类A、B、C、D的继承定义和应用。仔细阅读[代码5-1],在 (n) 处写出正确的运行结果。 [代码5-1] #include<iostream.h> class A public: int a; A (int v1): a(v1) //构造函数 void disp ( ) cout<<"a in class A="<<a<<endl; ; class B: virtual public A public: int b; B (int v1,int v2): A(v1),b v2) //构造函数 void disp ( ) cout<<"a in class B="<<a<<endl cout<<"b in class B="<<b<<endl; ; class C: virtual public A public: int c; C (int v1,int v2): A(v1) ,c(v2) //构造函数 void disp ( ) cout<<"a in class C="<<a<<endl; cout<<"c in class C="<<c<<endl; ; class D: public B, public C public: int d; D (int v1,int v2,int v3,int v4 ): A(v1) ,B(v1,v2) ,C(v1,v3),d(v4) //构造函数 void disp ( ) cout<<"a="<<a<<endl; cout<<"b="<< b<<endl; cout<<"c="<<c<<endl; cout<<"d="<<d<<endl; ; void main( ) D demo (10,20,30,40); demo.disp ( ); [运行结果] a= (1) b= (2) c= (3) d= (4)
进入题库练习
问答题[说明]在数据链路层扩展局域网时使用网桥。网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能:当网桥收到一个帧时,并不是向所有的端口转发此帧,而是先检查此帧的目的MAC地址,然后确认将该帧转发到哪个端口。最简单的网桥有两个端口(即接口)。网桥的每个端口与一个网段相连。每当收到一个帧时,通过查找转发表将收到的帧转发。当一个网桥刚刚连接到局域网上时,其转发表是空的,此时若收到一个帧,按照以下算法处理和建立自己的转发表:(1)从端口x收到的无差错的帧(如有差错即丢弃),在转发表中查找目的站MAC地址;(2)如有,则查找出到此MAC地址应走的端口d,然后进行(3),否则转到(5);(3)如到这个MAC地址去的端口d=x,则丢弃此帧(因为这表示不需要经网桥进行转发),否则从端口d转发此帧;(4)转到(6);(5)向网桥除x以外的所有端口转发此帧(这样做可以保证找到目的站);(6)如源站不在转发表中,则将源站MAC地址加入转发表,登记该帧进入网桥的端口号,设置计时器,然后转到(8),如源站在转发表中,则执行(7);(7)更新计时器;(8)等待新的数据帧,转到(1)。这时,网桥就在转发表中登记以下三个信息:站地址——登记收到帧的源MAC地址、端口——登记收到的帧进入该网桥的端口号、时间——登记收到的帧进入该网桥的时间。现有五个工作站分别连接在三个局域网上,并且用两个网桥连接起来,如图3-1。每一个网桥的两个端口号都标明在图上。在一开始,两个网桥中的转发表都是空的。以后有以下各站向其他的站发送了数据帧,即H1发送给H5,H3发送给H2,H4发送给H3,H2发送给H1。[图3-1]1.试将有关数据填写在表中。其中,网桥的处理有:转发、丢弃或登记。假定帧均无差错。发送的帧网桥1的转发表网桥2的转发表网桥1的处理网桥2的处理站地址端口站地址端口H1->H5H3->H2H4->H3H2->H1
进入题库练习
问答题【程序说明】 本程序先从文件读人各考生的准考证号(设为整型数)及成绩,并将其存放在一棵检索二叉树上,二叉树结点的健值是成绩,每个结点带一链表,链表结点存放取得该成绩的考生的准考证号。然后,程序按中序遍历检索二叉树,从高分到低分输出结果,使每行输出成绩及其取得成绩的考生的准考证号。 【程序】 #include < stdio. h > typedef struet idnode int id; struct idnode * next; ldNode; typedef struct marknode I int mark; ldNode * head; struct marknode * left, * right; MarkNode; char fname [ ] = "sp07.dat"; main( ) int id, mark; MarkNode * root = null; FILE * fp = fopen(fname," r" ); if(!fp) printf("file%s open error, /n" , fname); exit(0); while (!feop(fp)) fscanf(fp," %d%d", btree( fclose(fp); print(root); btree(MarkNod * * mpptr, int id, int mark) ldNode * ip; MarkNode *mp = * mpptr; if (1) if (mark==p->mark) addldNODE ( (2) , id); else if ( mark >mp -> mark) btree ( else btree( else Imp = ( marknode * ) malloc(sizeo (marknode) ); mp -> mark = mark; mp -> left =mp -> right = NULL; (3) addldNode( (4) ; addldNode(ldNode * * ipp, int id) ldNode * ip = * ipp; if ( (5) )addldNode ( (6) ), id; else ip = (ldNode * )malloc(sizeof(ldNode) ); sp - > id = id; ip -> next = NULL; (7) print(MarkNode * rap) ldNode *ip, *ip0; if (mp) print ( mp -> left); printf(" %6d: /t" ,mp -> mark); ip = mp -> head; while(ip) printf(" %6d" ,ip -> id); ip0 =ip; ip = ip -> next; free (ip0); printf(" /n" ); printf( mp -> right); free(mp);
进入题库练习
问答题[说明]为了有效记录交通事故情况,欲设计一个交通事故记录系统。一辆汽车有一个唯一的“车牌号”,车主购买汽车时需要提供相关信息,包括身份证、姓名、年龄、性别、地址等。一个车主可以拥有多辆汽车,而一辆汽车只有一个车主。驾驶员不一定是车主,因此记录交通事故时要记录驾驶员身份证号,同时记录事故发生时刻。图2-1描绘了人、汽车、交通事故三个实体类型及实体间联系的一个E-R图。[图2-1]对应的关系模式为:·人(身份证号,姓名,性别,年龄,地址)·汽车(车牌号,型号)·事故(车牌号,身份证号,时刻,损失,描述)·拥有(身份证号,车牌号)
进入题库练习
问答题【程序5说明】 设M叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用“()”括起来的各子树的列表(如有子树的话),各子列表间用“,”分隔。例如下面的三叉树可用列表a(b(c,d),e,f(g,h,i))表示。 本程序输入列表,生成一棵M叉树,并由M叉树输出列表。假定输入无错误。 【程序5】 #include<Stdio.h> #include<Stdlib.h> #define M 3 typedef struct nodechar val; struct node,subTree[M]; NODE; char buf[255],*Str=buf; NODE * d=NULL NODE*makeTree()/*由列表生成M叉树*/ int k;NODE*s; s= (1) ; s->val= *Str++; for(k=0;k<M;k++)s->subTree[k]=NULL; if(* str='(') k=0; dostr++; s->sub Tree[k]= (2) ; if(*Str==')')Str++;break; k=k+1; while( (3) ); return s; void walkTree(NODE*t)/*由M又树输出列表*/ int i; if(t!=NULL) (4) if(t->subTree[0]==NULL)return; putchar('('); for(i=0;i<M;i++) (5) ; if(i!=M-1&&t->subTree[i+1]!=NULL) putchar(','); putchar(')'); void main() printf("Enter exp:"); scanf("%s",str); d=makeTree(); walkTree(d);putchar('/n");
进入题库练习
问答题阅读以下技术说明,根据要求回答问题1~问题4。[说明]某汽车停车场欲建立一个信息系统,已经调查到的需求如下。1.在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器等,其示意图见如图3-21所示。2.当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。3.在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。4.当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。5.系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。根据上述描述,采用面向对象方法对其进行分析与设计,得到如表3-11所示的类/用例/状态列表,如图3-22所示的用例图,如图3-23所示的初始类图以及如图3-24所示的描述入口自动栏杆行为的UML状态图。{{B}}表3-11类/用例/状态列表{{/B}}{{B}}用例名{{/B}}{{B}}说明{{/B}}{{B}}类名{{/B}}{{B}}说明{{/B}}{{B}}状态名{{/B}}{{B}}说明{{/B}}Carentry汽车进入停车场CentralComputer停车场信息系统Idle空闲状态,汽车可以进入停车场Carexit汽车离开停车场PaymentMachine付款机器Disable没有车位ReportStatistics记录停车场的相关信息CarPark停车场,保存车位信息AwaitEntry等待汽车进入Barrier自动护栏AwaitTicketTake等待打印停车卡Carentrywhenfull没有车位时,汽车请求进入停车场EntryBarrier入口的护栏AwaitEnable等待停车场内有空闲车位ExitBarrier出口的护栏
进入题库练习
问答题[说明] 下面代码实现class C对class A和B的protected成员和public成员的调用。仔细阅读[代码5-1]、[代码5-2],在{{U}} (n) {{/U}}处写出正确的运行结果。 [代码5-1] #include <iostream.h> class A { private: int a1; protected: int a2; public: A ( int v1,int v2,int v3 ): a1 ( v1 ) ,a2 ( v2 ) ,a3 ( v3 ) {} int a3 }; class B : pubiic A{ private: int b1; protected: int b2; public: B ( int v1,int v2,int v3,int v4,int v5,int v6 ) : A(v1,v2,v3),b1 (v4),b2(v5),b3 (v6) {} int b3; }; class C : public B{ private: int c1; protected: int c2; public: int c3; C (int v1,int v2,int v3,int v4,int v5,int v6,int v7,int v8,int v9 ) : B ( v1,v2,v3,v4,v5,v6 ) ,c1 ( v7 ),c2 ( v8 ) ,c3 v9 void disp ( ) { cout << "a2 in class C =" << a2 << endl; cout << "a3 in class C =" << a3 << eudl; cout << "b2 in class C =" << b2 << endl; tout << "b3 in class C =" << b3 << endl; } }; [代码5-2] voidmain() { Cdemo(10,20,30,40,50,60,70,80,90); cout<<"对象demo.a3="<<demo.a3 cout<<"对象demo.b3="<<demo.b3 cout<<"对象demo.c3="<<demo.c3 demo.disp( ); } [运行结果] 对象demo.a3={{U}} (1) {{/U}} 对象demo.b3={{U}} (2) {{/U}} 对象demo.c3={{U}} (3) {{/U}} a2 in class C={{U}} (4) {{/U}} a3 in class C={{U}} (5) {{/U}} b2 in class C={{U}} (6) {{/U}} b2 in class C={{U}} (7) {{/U}}
进入题库练习
问答题【说明】银行客户需要从ATM取100元,他向ATM的读卡机插卡,读卡机读取他的卡号,然后ATM屏幕初始化,ATM提示输入密码,客户输入密码(123456),ATM打开他的账户,密码有效,因此ATM提示选择事务,客户选择取钱,ATM提示输入金额,客户输入100元,ATM验证账户上有足够的钱,就从账上减去100元,ATM吐出100元,并退出的卡。【问题】根据上面的描述,在下面填写,完成未完成的协作图。1.插卡(客户一读卡机)2._(____→____)3._(____→____)4.提示输入PIN(123456)(ATM显示屏→客户)5._(____→____)6._(____→____)7.验证PIN(__→__)8.提示选择事务(__→__)9._(客户→ATM屏幕)10.提示金额(ATM屏幕→客户)11.输入金额(客户→ATM屏幕)12.取钱(ATM屏幕→的账户)13._(____→____)14._(____→____)15._(____→____)16.提供收据(客户的账户→取钱机)17._(____→____)
进入题库练习
问答题[说明]现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计,所得类图如下图所示。采用该设计模式的原因在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。[Java程序]classMatrix{//各种格式的文件最终都被转化为像素矩阵//此处代码省略};abstractclassImageImp{publicabstractvoiddoPaint(Matrixm);//显示像素矩阵m};classWinImpextendsImageImp{publicvoiddoPaint(Matrixm){/*调用Windows系统的绘制函数绘制像素矩阵*/}};classLinuxImpextendsImageImp{publicvoiddoPaint(Matrixm){/*调用Linux系统的绘制函数绘制像素矩阵*/}};abstractclassImage{publicvoidsetImp(ImageImpimp){______=imp;}publicabstractvoidparseFile(StringfileName);protected______imp;};classBMPextendsImage{publicvoidparseFile(StringfileName){//此处解析BMP文件并获得一个像素矩阵对象m______;//显示像素矩阵m}};classGIFextendsImage{//此处代码省略};classJPEGextendsImage{//此处代码省略};publicclassjavaMain{publicstaticvoidmain(String[]args){//在Windows操作系统上查看demo.bmp图像文件Imageimage1=______;ImageImpimageImp1=______;______;image1.parseFile("demo.bmp");}}现假设该系统需要支持10种格式的图像文件和5种操作系统,不考虑类Matrix和类iavaMain,若采用桥接设计模式,则至少需要设计______个类。
进入题库练习
问答题阅读下列程序说明,将应填入 (n) 处的字句写在答卷纸的对应栏内。 【程序说明】 对于一个公司的雇员来说,无非有3种:普通雇员、管理人员和主管。这些雇员有共同的数据:名字、每小时的工资,也有一些共同的操作:数据成员初始化、读雇员的数据成员及计算雇员的工资。但是,他们也有不同。例如,管理人员除有这些共同的特征外,有可能付固定薪水,主管除有管理人员的共同特征外,还有其他物质奖励等。3种雇员中,管理人员可以看作普通雇员的一种,而主管又可以看作管理人员的一种。我们很容易想到使用类继承来实现这个问题:普通雇员作为基类,管理人员类从普通雇员类中派生,而主管人员类又从管理人员类中派生。 下面的程序1完成上述各个类的定义,并建立了3个雇员(一个普通雇员、一个管理人员和一个主管)的档案,并打印出各自的工资表。将“程序1”中的成员函数定义为内联函数,pay成员函数定义为虚函数,重新完成上述要求。 【程序1】 //普通雇员类 class Employee public: Employee(char *theName, float thePayRate); char *getName0 const; float getPayRate0 const; float pay,(float hours Worked) eonst; protected: ehar *name; //雇员名称 float payRate; //薪水等级 ; Employee::Employee(char *theName, float thePa~Rate) name = the Name; payRate = the PayRate; char *Employee::getName0 eonst return name; float Employee::getPayRate0 const return payRate; float Employee::pay(float hoursWorked) const return hours Worked * payRate; class Manager: public Employee public: //is Salaried 付薪文方式:true 付薪固定工资,false 按小时付薪 Manager(char *the Name, float the Pay Rate, bool is Salaried); bool getSalaried0 const; float pay(float hoursWorked) const; protected: bool salaried; ; Manager::Manager(ehar *theName,fioat thePayRate,bool isSalaried) : Employee(theName, thePayRate) salaried = isSalaried; bool Manager::getSalaried0 eonst return salaried; float Manager::pay(float hoursWorked) eonst if (salaried) return payRate; /* else */ return Employee::pay(hoursWorked); //主管人员类 class Supervisor: public Employee public: Supervisor(char *theName, float thePayRate, float theBouns): Employee (theName, thePayRate, (1) .) ,bouns(theBouns) float getBouns0 const return bouns; float pay(float hoursWorked) const return (2) ; protected: float houris; #include "iostream.h" void main() Employee e("Jack",50.00); Manager m("Tom",8000.00,tme); Supervior sCTanya",8000.00,8000.00); cout<<"Name:"<<e.getName0<<endl; cout <<"Pay: "<<e.pay(80)<<endl; //设每月工作80小时 cout <<"Name: "<<m.getName0<<endl; cout <<"Pay: "<<m.pay(40)<<endl; cout <<"Name: "<<s.getName0<<endl; cout <<"Pay: "<<s.pay(40)<<endl; //参数40在这里不起作用 #include "employee.h" class Employee public: Employee(string theName, float thePayRate): name(theName),payRate(thePayRate) string getName0 const return name; float getPayRate0 const return payRate; virtual float pay(float hoursWorked) const return (3) ; protected:, string name; //雇员名 Boat payRate; //薪水等级 ; //管理人员类 //继承普通雇员类 class Manager: public Employee public: //构造函数 //isSalaried标识管理人员类的付薪方式 //true 按阶段付薪(固定工资) //false 按小时付薪 Manager(string theName, float thePayRate, bool isSalaried): Employee(theName,thePayRate),salaried(isSalaried) bool getSalaried0 const return salaried; virtual float pay(float (4) ) const; protected: bool salaried; ; float Manager ::pay(float hoursWorked) const if (salaried) //固定付薪方式 return payRate; else //按小时付薪 return (5) ; //主管人员类 class Supervisor: (6) public: //构造函数 Supervisor (string theName, float thePayRate, float theBouns) : Manager(theName, thePayRate, true), bouns(theBouns) //取奖金数额 float getBouns0 const return bouns; //计算薪水 virtual float pay(float hours Worked) const (7) float bouns; #include "employee.h" #nclude "iostream.h" void main() (8) *ep[3]; ep[0]=new Employee("Jack" ,"50.00"); ep[1]=new Manager("Tom", "8000.00",true); ep[2]=new Supervior("Tanya","8000.00","8000.00"); for (int i=0;i<3;i++) Cout<<"Name: "<< (9) <<endl; Cout<<"Pay: "<< (10) <<endl; //设每月工作80小时
进入题库练习
问答题[说明] 在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都要画出与单词列表所对应的单词查找树。 程序构造一棵二叉排序树,每个节点存储一个单词,按字典序列,较小的在左子树,较大的在右子树。 函数中使用的预定义符号如下: typedef struct TreeNode/*二叉排序树节点*/ char *word; struct TreeNode *left, *right; BNODE; [函数] int getWord(FILE *fpt, char *word) /*从文件fpt中读取单词到word中,到达文件结束时返回0*/ char c; c = fgetc(fpt); if(c == EOF)return 0; /*跳过单词间的非字母字符*/ while(!(tolower(c) >= 'a' if(c == EOF)return 0; /*不区分大小写*/ while(tolower(c) >= 'a' c = fqetc(fpt); *word = '/0'; return 1; void BTree(BNODE **t, char *word) BNODE *ptr, *p; int compres; p = NITLL; (1) ; while(ptr) compres = strcmp(word, (2) ); if(!compres) return; else (3) ; ptr = compres > 0 ? ptr->right : ptr->left; ptr = (BNODE*)malloc(sizeof ptr); ptr->left = ptr->right = NULL; ptr->word = (char*)malloc(strlen(word) + 1); strcpy(ptr->word, word); if(p == NULL) (4) ; else if(compres > 0) p->right = ptr; else p->left = ptr; int main() FILE *fpt; char word[40]; BNODE *root = NULL; if((fpt = fopen("text.in", "r")) == NULL) printf("不能打开文件text.in! /n"); return 1; while(getWord(fpt, word) == 1) BTree (5) ; fclose(fpt); return 0;
进入题库练习
问答题【说明】 下面给出的是某高级公寓管理系统的一套分层数据流图。其功能描述如下所述。 (1)系统随时根据住户送来的入住单更新住户基本信息文件。 (2)每月初系统根据物业管理委员会提供的月附加费(清洁费、保安费等)表和房租调整表,计算每家住户的月租费(包括月附加费),向住户发出交费通知单。住户交费时,系统输入交费凭证,核对后输出数据给住户。 (3)系统定期向物业管理委员会提供住房分配表和交费情况表。 (4)住户因分户或换房,在更新账户基本信息文件的同时,系统应立即对这些住户做月租费计算,以了结分尸或换房前的房租。 假定题中提供的顶层图是正确的,请回答下列问题。
进入题库练习
问答题问题:4.3 (3分) 上述C代码的输出为:(7) 。
进入题库练习
问答题
进入题库练习