问答题


阅读下列说明、图1和图2,回答问题1、问题2和问题3。
【说明】
下面是某租车信息管理系统的介绍:该车库中备有若干车辆,每辆车有车号、车牌、车名、价格等属性。车库不定期地购买并注册新车供用户借用,也可将报废的旧车注销以停止租用。
车库可为众多用户提供服务。每个用户在借车之前需注册姓名、地址等内容。每个用户最多可同时借3辆车。每辆车借期7天;若有一辆车超期,则不可再借其他车。一辆车超期一天罚款250元。若一辆车超期3周不归还,则发布通告。若用户借的车丢失,在罚款处理之前不能借车,每辆报失的车罚款该车目前市价(包括折旧)的1.2倍。注册新用户不受限制;而注销用户之前,该用户必须归还所有借的车,或者报失并接受罚款。
【状态图1】

【问题2】
分析用户的状态和事件,指出图2中的(5)、(6)、(7)、(8)分别是什么(注意,用户与车辆在状态图中的关系)。

【参考答案】

(5)cancel register(注销用户的注册) (6)borrow/n+1(借车/拥有车的数量+1) (7)pe......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
【说明】源程序中定义了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>(1) class Circle{private:float radius;public:(2) 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){(3) }float Money::Tota|Money(float fencelen, float conarea){(4) }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|;}