计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
软件设计师(中级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
软件设计应用技术
软件设计基础知识
软件设计应用技术
问答题【说明】 源程序中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。 ①定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。 ②定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。 ③完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。 ④完成Money类成员函数float Money::TotalMoney(float fencelen,float conarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test4.cpp清单如下: #include<iostream.h> {{U}} (1) {{/U}} class Circle { private: float radius; public: {{U}} (2) {{/U}} float Circumference(){return 2 * P| * radius;} float Area(){return P|*radius * radius;} }; class Money { private: float FencePrice; float ConcretePrice; public: Money(float f,float c); float Tota|Money(float fencelen, float conarea); }; Money::Money(float f,float c) { {{U}}(3) {{/U}} } float Money::Tota|Money(float fencelen, float conarea) { {{U}}(4) {{/U}} } void main( ) { float radius, fence, concrete; cout. setf(ios:: fixed); cout. setf(ios:: showpoint); cout. precision (2); cout << "Enter the radius of the pool:"; cin > > radius; cout << "Enter the FencePrice:"; cin > > fence; cout << "Enter the ConcretePrice: "; cin > > concrete; Circle Pool(radius); Circle PoolRim(radius + WIDTH); Money mon( fence, concrete); float totalmoney = mon. TotalMoney( PoolRim. Circumference( ), ( PoolRim. Area ( ) - Pool. Area ( ) ) ); cout << "The total money is RMB" << totalmoney << end|; }
进入题库练习
问答题[问题3] 写出每种关系模式的主键。
进入题库练习
问答题试题五(共15分)阅读下列说明和C++代码,将应填入____(n)____处的字句写在答题纸的对应栏内。[说明]某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新。现在采用观察者(Observer)模式来开发该系统。观察者模式的类图如图5-1所示。[C++代码]
进入题库练习
问答题[说明] 在一个简化的绘图程序中,支持的图形种类有点(point)和圆(circle),在设计过程中采用面向对象思想,认为所有的点和圆都是一种图形(shape),并定义了类型shape_t、point_t和circle_t分别表示基本图形、点和圆,并且点和圆具有基本图形的所有特征。 [C程序] typedef enum { point, circle } shape_type; /* 程序中的两种图形:点和圆 */ typedef struct { /* 基本的图形类型 */ shape type type; /* 图形种类标识:点或者圆 */ void (*destroy) (); /* 销毁图形操作的函数指针 */ void (*draw)(); /* 绘制图形操作的函数指针 */ } shape_t; typedef struct { shape_t common; int x; int y; } point_t; /* 定义点类型,x、y为点坐标 */ void destroyPoint (point_t* this) { free(this); printf ("Point destoryed!/n");) /* 销毁点对象 */ void drawPoint (point_t* this) { printf("P(%d, %d)", this→x, this→y);) /* 绘制点对象 */ shape_t* createPoint(va_list* ap) /* 创建点对象,并设置其属性 */ { point_t* p point; if ((p_point=(point_t*) malloc (sizeof(point_t)))==NULL) return NULL; p_point→common. type = point; p_point→common. destroy = destroyPoint; p_point→common. draw=drawPoint; p_point→x = va_arg (*ap, int); /* 设置点的横坐标 */ p_point→y = va_arg(*ap, int); /* 设置点的纵坐标 */ return (shape_t*)p_point; /* 返回点对象指针 */ } tyPedef struct /* 定义圆类型 */ { shape_t common; point_t *center; /* 圆心点 */ int radius; /* 圆半径 */ } circle_t; void destroyCircle(circle_t* this) { free (______); free(this); printf("Circle destoryed!/n"); } void drawCircle (circle_t* this) { printf ("C("); ______.draw( this→center); /* 绘制圆心*/ printf (", %d)", this→radius); } shape_t* createCircle(va list* ap) /* 创建一个圆,并设置其属性 */ { circle_t* p_circle; if ((p_circle=(circle_t*)malloc(sizeof(circle_t)))==NULL)return NULL; p_circle→common. type=circle; p_circle→common. destroy=destroyCircle; p_circle→common. draw=drawCircle; ______ =createPoint(ap); /* 设置圆心 */ p_circle→radius=va arg(*ap, int); /* 设置圆半径 */ return p_circle; } shape t* createShape(shape_type st, …) /* 创建某一种具体的图形 */ { va_list ap; /* 可变参数列表 */ shape_t* P_shape = NULL; ______ (ap, st); if ( st == point) p_shape=createPoint( &ap); /* 创建点对象 */ if ( st == circle) p_shape=createCircle(&ap); /* 创建圆对象 */ va_end(ap); return p-shape; } int main() { int i; /* 循环控制变量,用于循环计数 */ shape t* shapes[2]; /* 图形指针数组,存储图形的地址 */ shape_s[0] = createShape ( point, 2, 3); /* 横坐标为2,纵坐标为3 */ shapes[1] = createShape( circle, 20, 40, 10); /* 圆心坐标(20, 40), 半径为10 */ for (i=0; i<2; i++) { shapes[i]→draw(shapes[i]); printf("/n"); } /* 绘制数组中图形 */ for( i=1; i>=0; i--) shapes[i]→destroy(shapes[i]); /* 销毁数组中图形 */ return 0; } 运行结果如下: p(2, 3) ______ Circle destoryed! Point destoryed!
进入题库练习
问答题问题:4.3 若输入的硬币数为30,则最少的比较次数为( ),最多的比较次数为( )。
进入题库练习
问答题【说明】某绘图系统存在point、line、square三种图元,它们具有Shape接口,图元的类图关系如图13-12所示。现要将circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来的,它提供的接口不能被系统直接使用。代码13-2既使用了XCircle又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码13-3根据用户指定的参数生成特定的图元实例,并对之进行显示操作。绘图系统定义的接口与XCircle提供的显示接口及其功能如表13-5所示。{{B}}表13-5接口及其功能{{/B}}ShapeXCircle功能display()DisplayIt()显示图元【代码13-2】classCircle{{U}}(1){{/U}}{private{{U}}(2){{/U}}pxc;publicCircle(){pxc=new{{U}}(3){{/U}};}publicvoiddisplay(){pxc.{{U}}(4){{/U}};}}【代码13-3】publicclassFactory{public{{U}}(5){{/U}}getShapeInstance(inttyoe){//生成特定类实例switch(type){case0:returnnewpoint();case1:returnnewRectangle();case2:returnnewline();case3:returnnewCircle();default:returnnull}}};publicclassApp{publicstaticviodmain(Stringargv[){if(argv.length!=1){system.out.println("errorparameters!");Return;}inttype=(newInteger(argv[0)).intValue();Factoryfactory=newFactory();shapes;s=factory.{{U}}(6){{/U}};if(s==null){system.out.println("Errorgetinstance!");Return;}s.display();return;}}
进入题库练习
问答题[说明]某订单管理系统的部分UML类图如图5-16所示。在图5-16中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表5-23所示。{{B}}表5-23某订单管理系统各个类的部分属性和方法说明表{{/B}}{{B}}类{{/B}}{{B}}成员{{/B}}{{B}}说明{{/B}}ProductListArrayList<Product>productsProductStringcode产品编号Stringdescription产品描述doubleprice产品单价Booleanequals(Objectobject)若两个产品相同则返回true,否则返回falseOrderItemProductproduct订单项中的产品intquantity产品的订购数量ProductgetProduct()获取订单项中的产品OrderArrayList(orderItem)items订单中包含的订单项orderListArrayList(Order)Orders订单voidaddorder(orderOrder)向订单列表中添加新订单intgetNumberOfOrders()获取订单列表中的订单总数SalesSystemProductListcatalog产品目录orderListsales订单列表voidstatistic()依次统计产品目录中每个产品的订购总量,并打印出每个产品的编号、说明、订购总量和订购金额可以使用类java.util.ArrayList<E>来实现对象的聚集关系,如图5-16中OrderList与Order之间的聚集关系。for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合及用来接收集合中每个元素的变量,其语法如下:for(用来接收集合中元素的变量:需要遍历的对象集合)如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable<T>。Java程序7-1和Java程序7-2分别给出了类OrderList和方法statistic的Java代码。
进入题库练习
问答题 对文法G[S]:S→a|∧|(T);T→T,S|S:回答问题1~问题3。 【表】 表4-2 预测分析表 a ∧ ( ) , # S →a →∧ (u)(2)(/u) T (u)(1)(/u) →SN →SN N (u)(3)(/u) →,SN
进入题库练习
问答题阅读下列说明和图,回答问题1至问题3。【说明】公司IT部门决定开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内部传阅,员工可以要求加入传阅队列。图书室登记公司收到的期刊,交给名单中的第一名员工。员工应在3个工作日内完成阅读,员工阅读完毕后通知系统,系统提醒下一位阅读者取书,下一个员工必须确认已收到期刊。当传阅名单中“下一位”员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工做标记,再次传递此书时优先考虑该员工。最后一位员工阅读完毕后,将期刊交还图书室以便共用。系统能在员工忘记传递期刊时发出提醒信息。系统详细记录期刊传阅情况,当员工阅读完后通知系统,系统记录该员工的员工号及日期,并在备注栏注明是传出;同样,当员工收到期刊后给系统收书确认,系统记录该员工的员工号及日期,并在备注栏注明是收到。公司的员工都有一个唯一的员工号。公司订阅了多种期刊,为每一本期刊(有唯一期刊流水号)产生一份传阅名单,并详细记录传阅情况。员工的出差情况存储在系统主机中。该系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,图9-4是该系统的类图的一部分,图9-5描述了成功传递期刊的序列图。
进入题库练习
问答题[说明]某学校的教学系统描述如下:学生信息包括:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、入学年份(Syear)、主修专业(Smajor),其中学号是入学时唯一编定的。教师信息包括:教工号(Tno)、姓名(Tname)、性别(Tsex)、年龄(Tage)、职称(Title),其中教工号是唯一编定的。课程信息包括:课程号(Cno)、课程名称(Cname)、学时(Cpeiiod)、学分(Ccredit),其中课程号是唯一编定的。每个专业每个年级只有一个班级,这样班级就可用入学年份标识。每位教师只教授特定的一门的课程,每门课程可以有多个教师教授,各位老师的上课地点及上课时间有所不同。注意:一门课程至少有一位教师教授,否则这门课程就视为不存在。每位学生可以同时选修多门不同的课程,一门课程至少要有10位学生选修,否则就取消这门课程的开设。注意:选修课程时要指定任课教师,不能重复选修同一门课程。课程结束后,任课教师给选修该课程的学生一个成绩(Grade)。注意:教师不能给没有选修他所教授课程的学生成绩,即使选修了其他教师教授的同一门课也不行。图2-1是经分析得到的E-R图。[图2-1]
进入题库练习
问答题[说明] 为网球比赛的选手安排比赛日程。设有n(n=2m)位选手参加网球循环赛,循环赛共进行n-1天,每位选手要与其他n-1位选手赛一场,且每位选于每天赛一场,不轮空。 设n位选手被顺序编号为1, 2, …, n,比赛的日程表是一个n行n-1列的表,第i行j列的内容是第i号选手第j天的比赛对手。用分治法设计日程表,就是从其中一半选手(2m-1位)的比赛日程导出全体2m选手的比赛日程。从众所周知的只有两位选手的比赛日程出发,反复这个过程,直至为n位选手安排好比赛日程为止。 如两位选手比赛日程表如下所示: 1 1 2 2 1 如四位选手比赛日程表如下所示: 1 2 3 1 2 3 4 2 1 4 3 3 4 1 2 4 3 2 1 函数中使用的预定义符号如下: #define M 64 int a[M+1][M]; [函数] void main() int twom1, twom, i, j, m, k; printf("指定n(=2的k次幂)位选手, 请输入k: /n"); scanf("*d", /*预设两位选手的比赛日程*/ a[l] [1] = 2; a[2] [1] = 1; m = 1; twoml = 1; while(______) m++; twoml += twoml; twom = twoml * 2;/*为2^m位选手安排比赛日程*/ /*填日程表的左下角*/ for(i = twoml + i; ______; i++) for(j = i; j <= twoml - i; j++) a[i] [j] = a[i - twoml] [j] + twoml; /*填日程表的右上角*/ a[1] [twoml] = ______;/*填日程表右上角的第1列*/ for(i = 2; i <= twoml; i++) a[i] [twoml] = a[i - 1] [twoml] + i; /*填日程表右上角的其他列,参照前一列填当前列+/ for(j = twoml + 1; j < twom; j++) for(i = i; i < twoml; i++) a[i] [j] = ______; a[twoml] [j] = a[l] [j - 1]; /*填日程表的右下角*/ for(j = twoml; j < twom; j++) for(i = i; i <= twoml; i++) a[______] [j] = i; /*输出日程表*/ for(i = i; i <= twom; i++) for(j = i; j < twom; j++) printf("%4d", a[i] [j]); printf("/n"); printf("/n");
进入题库练习
问答题[说明]已知某唱片播放器不仅可以播放唱片,而且可以连接计算机并把计算机中的歌曲刻录到唱片上(同步歌曲)。连接计算机的过程中还可自动完成充电。关于唱片,还有以下描述信息。(1)每首歌曲的描述信息包括歌曲的名字、谱写这首歌曲的艺术家及演奏这首歌曲的艺术家。只有两首歌曲的这3部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。(2)每张唱片由多条音轨构成。一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。(3)每条音轨都有一个开始位置和持续时间。每张唱片上的音轨次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道它的下一条音轨和上一条音轨是什么(如果存在的话)。根据上述描述,采用面向对象方法对其进行分析与设计,得到了如下表所示的类列表、如图1所示的初始类图以及如图2所示的描述播放器行为的UML状态图。类列表类名说明Artist艺术家Song歌曲Band乐队Musician歌手Track音轨Album唱片
进入题库练习
问答题【说明】某单位正在使用一套C/S模式的应用软件系统,现在需要升级为B/S应用模式,但需要保持业务的连续性。开发人员提出用WebService作为中间层的接口进行开发。【问题1】请用120字以内文字,从业务的继承性、升级成本(时间、工作量)和扩展性三个方面简要说明开发人员所提方案的优点。【问题2】WebService的三个基本技术是WSDL、SOAP、UDDI,它们都是以XML为基础定义的。请用120字以内文字,简要说明WSDL、SOAP和UDDI的作用。【问题3】服务注册中心、服务提供者和服务请求者之间的交互和操作构成了WebService的体系结构,如图13-21所示。请用180字以内文字,说明这三者的主要功能及其交互过程。
进入题库练习
问答题[说明]某高等院校的教学管理具有选课管理和成绩管理两大功能。选课管理主要完成以下工作:(1)录入与生成新学期课程表;(2)学生选课注册;(3)查询,学生、教师、教学管理员可以查询课程表,获得课程信息、学生选课信息和学生、教师信息;(4)选课注册信息的统计与报表生成。成绩管理主要的功能为:(1)成绩录入:教学管理员录入学生考试成绩;(2)成绩查询:教师、教学管理员可以查询学生考试成绩。。学生只允许查询自己的考试成绩,不允许查询他人的成绩;(3)成绩统计与报表生成:教学管理员进行成绩统计,打印统计报表。把学生选课注册信息传送给财务系统,以便计算学生应交纳的费用。根据需要,系统设计的用例有“选课管理”、“成绩管理”、“查询课程信息”、“选课注册”、“管理开设课程”等用例。其中部分用例说明如下:“查询课程信息”:学生、教师或教学管理员启动查询课程信息时,该用例开始运行。根据输入的查询要求(查询主题或关键字),显示有关的课程信息;“选课注册”。当学生登录进行选课注册时,该用例开始运行,它提供了选择课程、注册、修改注册、删除注册等功能。学生登录需要用户标识(ID)和口令;“管理开设课程”。当教学管理员登录系统进行产生选课信息操作时,该用例开始运行。它首先检查用户标识(ID)和口令,然后从数据库中取出学生的选课注册数据,按照要求进行分类统计,生成选课注册报表。活动者“学生”与用例“选课注册”的交互关系如下:当“学生”登录系统进入选课注册活动时,首先要输入用户标识(ID)和口令,经系统的“注册表单”接口对象验证,如果正确无误,则“学生”可以进行查询活动或选课活动,否则拒绝进入。若“学生”发出“查询”请求,系统的“选课注册表单”接口对象响应信息给“学生”,及发送增加或删除学生选课数据的消息。“开设课程”对象响应该消息,找出数据库中的相关数据,增加或删除学生的姓名和所选的课程名,或做相应的修改,并把增加或删除学生课操作成功或失败的信息反馈给“选课注册表单”接口对象,“选课注册表单”接口对象再反馈给“学生”。如果“学生”按下“确认”键,则选课操作得到确认,发出提交请求。“选课注册表单”接口对象响应该请求,并发出“存储”消息。“开设课程”对象响应“存储”消息,进行数据库存储操作,选课数据存入数据库。若“学生”结束选课,发出“退出”系统请求,“注册表单”接口对象响应请求,关闭系统。图10-7为系统的顶层UML用例图。图10-8为选课注册顺序图。
进入题库练习
问答题[说明]用创建Thread类的子类的方法实现多线程,判断一个数是否是素数。如果是,打印“是素数”,如果不是,则打印“不是素数”,如果没有参数输入,显示“请输入一个命令行参数”。[Java程序]
进入题库练习
问答题某宾馆拟开发一个宾馆客房预订子系统,主要是针对客房的预订和入住等情况进行管理。[需求分析结果](1)员工信息主要包括员工号、姓名、出生年月、性别、部门、岗位、住址、联系电话和密码等信息。岗位有管理和服务两种。岗位为“管理”的员工可以更改(添加、删除和修改员工表中的本部门员工的岗位和密码,要求将每一次更改前的信息保留;岗位为“服务”的员工只能修改员工表中本人的密码,且负责多个客房的清理等工作。(2)部门信息主要包括部门号、部门名称、部门负责人、电话等信息;一个员工只能属于一个部门,一个部门只有一位负责人。(3)客房信息包括客房号、类型、价格、状态等信息。其中类型是指单人间、三人间、普通标准间、豪华标准间等;状态是指空闲、入住和维修。{{U}}1{{/U}}客户信息包括身份证号、姓名、性别、单位和联系电话。{{U}}2{{/U}}客房预订情况包括客房号、预订日期、预订入住日期、预订入住天数、身份证号等信息。一条预订信息必须且仅对应一位客户,但一位客户可以有多条预订信息。[概念模型设计]根据需求阶段收集的信息,设计的实体联系图(不完整)如图所示。[逻辑结构设计]逻辑结构设计阶段设计的部分关系模式(不完整)如下。员工({{U}}{{U}}1{{/U}}{{/U}},姓名,出生年月,性别,岗位,住址,联系电话,密码)权限(岗位,操作权限)部门(部门号,部门名称,部门负责人,电话)客房({{U}}{{U}}2{{/U}}{{/U}},类型,价格,状态,入住日期,入住时间,员工号)客户({{U}}{{U}}3{{/U}}{{/U}},姓名,性别,单位,联系电话)更改权限(员工号,{{U}}{{U}}4{{/U}}{{/U}},密码,更改日期,更改时间,管理员号)预订情况({{U}}{{U}}5{{/U}}{{/U}},预订日期,预订入往日期,预订入住天数)
进入题库练习
问答题已知某类库开发商提供了一套类库,类库中定义了Application类和Document类,它们之间的关系如图所示。其中,Application类表示应用程序自身,而Document类则表示应用程序打开的文档。Application类负责打开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个Document对象表示了。当开发一个具体的应用程序时,开发者需要分别创建自己的Application和Document子类。例如,图中的类MyApplication和类MyDocument,并分别实现Application和Document类中的某些方法。已知Application类中的openDocument方法采用了模板方法(TemplateMethod)设计模式,该方法定义了打开文档的每一个主要步骤如下:{{U}}{{/U}}首先检查文档是否能够被打开,若不能打开,则给出出错信息并返回。{{U}}{{/U}}创建文档对象。{{U}}{{/U}}通过文档对象打开文档。{{U}}{{/U}}通过文档对象读取文档信息。{{U}}{{/U}}将文档对象加入到Application的文档对象集合中。[Java代码]abstractclassDocument{publicvoidsave(){/*存储文档数据,此处代码省略*/}publicvoidopen(StringdocName){/*打开文档,此处代码省略*/publicvoidclose(){/*关闭文档,此处代码省略*/}publicabstractvoidread(StringdocName);};abstractclassAppplication{privateVector<{{U}}{{U}}{{/U}}{{/U}}>docs;/*文档对象集合*/publicbooleancanOpenDocument(StringdocName){/*判断是否可以打开指定文档,返回真值时表示可以打开,返回假值表示不可打开,此处代码省略*/}publicvoidaddDocument(DocumentaDocument){/*将文档对象添加到文档对象集合中*/docs.add({{U}}{{U}}{{/U}}{{/U}});}publicabstractDocumentdoCreateDocument();/*创建一个文档对象*/publicvoidopenDocument(StringdocName){/*打开文档*/if({{U}}{{U}}{{/U}}{{/U}}){System.out.println("文档无法打开!");return;}{{U}}{{U}}{{/U}}{{/U}}adoc={{U}}{{U}}{{/U}}{{/U}};{{U}}{{U}}{{/U}}{{/U}};{{U}}{{U}}{{/U}}{{/U}};{{U}}{{U}}{{/U}}{{/U}};}};
进入题库练习
问答题[说明]以下VisualBasic代码实现了对位图(BMP)进行旋转显示。以下程序共实现了对BMP位图图形进行180°旋转、90°旋转(顺时针)、90°旋转(逆时针)、水平翻转、垂直翻转共5项处理。显示界面如图12-8所示。仔细阅读[代码7-1]至[代码7-3],完成(n)代码,并写在对应栏内。[代码7-1]BeginVB.FormForm1AutoRedraw=-1'TrueCaption="图像的施转"//...窗体描述(略)BeginVB.CommandButtonCommand7Caption="退出"//...窗体描述(略)EndBeginVB.CommandButtonCommand6Caption="复位"//...窗体描述(略)EndBeginVB.CommandButtonCommand5Caption="垂直翻转"//...窗体描述(略)EndBeginVB.CommandButtonCommand4Caption="水平翻转"//...窗体描述(略)EndBeginVB.CommandButtonCommand3Caption="90°(逆时针)"//...窗本描述(略)EndBeginVB.CommandButtonCommand2Caption="90°(顺时针)"//...窗体描述(略)EndBeginVB.PictureBoxPicture2//...窗体描述(略)EndBeginVB.CommandButtonCommand1Caption="180°"//...窗体描述(略)EndBeginVB.PictureBoxPicture1//...窗体描述(略)EndEnd[代码7-2]PrivateDeclareFunctionBitBltLib"gdi32"(ByValhDestDCAsLong,ByValxAsLong,ByValyAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValhSrcDCAsLong,ByValxSrcAsLong,ByValySrcAsLong,ByValdwRopAsLong)AsLongConstsrcopy=&HCC0020DimhAsIntegerDimwAsIntegerPrivateSubForm_Load()Picture2.Picture=LoadPicture(App.Path&"/a01.bmp")'导入图片'h=Picture1.Heightw=Picture1.WidthEndSub[代码7-3]PrivateSubCommandl_Click()旋转180°Picture2.Picture=LoadPicture("")Forj=0TohStep1Fori=0TowStep1(1)NextiNextjEndSubPrivateSubCommand2_Click()'顺时针施转90°'Picture2.Picture=LoadPicture("")Fori-hTo0Step-1Forj-0TowStep1(2)NextjNextiEndSubPrivateSubCommand3_Click()'逆时针旋转90°'Picture2.Picture=LoadPicture("")Forj=wTo0Step-1Fori=0TohStep1(3)NextiNextjEndSubPrivateSubCommand4Click()'水平翻转Picture2.Picture=LoadPicture("")Fori=wTo0Step-1Forj=0TohStep1(4)NextjNextiEndSubPrivateSubCommand5_Click()'垂直翻转Picture2.Picmre=LoadPicmre("")Forj=0TohStep1Fori=0TowStepI(5)NextiNextjEndSubPrivateSubCommand6_Click()'复位Picture2.Picture=LoadPicmre("")Fori=0TowStep1Forj=0TohStep1(6)NextjNextiEndSub
进入题库练习
问答题【说明】图书管理系统详细记录图书库存情况、读者信息及读者借阅记录(包括借书日期和还书日期)。新书入库时要为该书编制图书卡片,包括分类目录号、图书流水号(要保证每本书都有唯一的流水号,即使同类图书也是如此)、书名、作者、内容摘要、价格和购书日期。同一个书名由于版次、作者等不同有可能存在多“种”图书,其间用“分类目录号”区分。系统为每一位合法读者编制一个唯一的借书证号,读者需要提供姓名、单位。一个读者最多可以同时借阅5本图书。借阅图书时,新添借阅记录,并将对应的“归还标记”字段置为“false”,表示“尚未归还”;归还图书时,将相应的“归还标记”字段置为“true”,表示“已经归还”。一本书可能供多位读者借阅,同一本书读者可以重复借阅。如图9-17所示为该系统的E-R图。
进入题库练习
问答题阅读下列说明和图,回答问题1至问题3。[说明]某大型旅店为了便于管理,欲开发一个客房管理系统。希望实现客房预定、入住登记、帐务结算、退房,以及将服务项目记入客人帐单。旅客包括散客和团体,散客预定或入住时需要提供姓名、性别、身份证和联系电话,团体则提供团体名称、负责人的姓名、性别、身份证和联系电话,以及团体人数。对于散客,还要提供换房。旅店还提供了很多服务项目,比如早餐。对每一个入住客人,服务列表记录了住宿期间的各项服务,包括服务类型、日期、数量等。当然,客人也可以不要任何服务。旅店的客房有一个唯一的房间号,分为不同的类别,不同的房间床位数和价格不同。为了有效的管理,需要记录每天的客房状态。客房的状态有:空闲、占用、已预定和维修。·客人入住后,客房处于占用状态;·客人退房后,客房处于空闲状态;·客人预定后,客房处于已预定状态;·预定客人入住后,客房处于占用状态;·预定客人取消预定后客房处于空闲状态;·需要维修时客房处于维修状态;·维修完成后客房处于空闲状态。该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-1是该系统的类图的一部分,图3-2描述了客房状态的转变情况。[图3-1][图3-2]1.请用图3-1的属性和方法的名称给出客人类的属性和方法。(注意:团体类中的负责人姓名等与散客的对应属性含义相同,不必区分)
进入题库练习