题目内容

由于同一个分类目录号(同一种图书)有多个副本,若用表Book(图书流水号,分类目录号,书名,作者,内容摘要,价格,购书日期)存储图书信息则有很多的冗余信息,该如何分解使之满足BCNF,并指出分解后的关系模式的主键。

查看答案
更多问题

阅读下列说明和图,回答问题1至问题3。
【说明】
C市刚开通了地铁线,为方便乘客,计划开发自动售票系统。
该公司在每一个地铁站放置了多台自动售票机,每一台售票机有一唯一编号,售票记录统一汇总主机。自动售票机只发售从该站起始的各种地铁票,因此乘客只需输入目的站,起始站默认为该站,售票机给出从该站到达目的站的单程票。打印地铁票时为其编一个唯一的流水号,并同时打印自动售票机的编号及票价。
售票机的状态变化如下:“空闲”时,显示地铁线路图,等待乘客输入目的站;当乘客输入目的站后,转入“目的站确认/票数输入”状态,同时给出票价,此时若目的站有误,可返回到空闲状态重新输入,否则,输入票数;乘客输入票数后,转入“票数确认/付款”状态,同样此时若票数有误,可返回到上一状态重新输入,否则,投入钱币付款;当付款金额足够时,“出票/找零”(有必要时进行找零);然后转入“空闲”等待输入目的站状态。
该系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,如图9-18所示是该系统类图的一部分,图9-19描述了自动售票机的状态转换图。
根据题意,给出“自动售票机”类的主要属性。

阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类 Triangle、Rectangle和Square分别表示三角形、矩形和正方形:抽象类Figure提供了一个纯虚函数getAxea(),作为计算上述3种图形面积的通用接口。
【C++代码】
include<iostream>
include<cmath>
using namespace std;
class Figure{
public:
virtual double getArea()=0;//纯虚函数
};
class Rectangle : (1) {
protected:
double height;
double width;
public:
Rectangle(){}
Rectangle(double height, double width){
this->height=height;
this->width=width;
}
double getArea(){
return (2);
}
};
class Square: (3) {
public:
Square(double width){
(4);
}
};
class Triangle: (5) {
private:
double la,lb,lc;
public:
Triangle(double la,double lb,double lc){
this->la=la;this->1b=1b;this->lc=lc;
}
double getArea(){
double s=(la+lb+lc)/2.0;
return sqrt(s*(s-la)*(s-lb)*(s-lc));
}
int main()
{
Figure *figures[3]={new Triangle(2,3,3),new Rectangle(5,8), new Square(5)};
for(int i=0;i<3;i++){
cout<<"figures["<<i<<"]area="<<(figures[i])->getArea()<<endl;
}
return 0;
}

Window98所支持的设备驱动程序主要有三种:实模式DOS驱动程序、______和保护模式Windows驱动程序。

请补充main函数,该函数的功能是:计算三名学生学科的平均成绩。
例如,当score[N][M]={{83.5,82,86,65,67},{80,91.5,84, 99,95},{90,95,86,95,97}时,五门学科的平均分为:84.5 89.5 85.3 86.3 86.3。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio, h>
define N 3
define M 5
main ()
{
int i,j;
static float score [N] [M]= { {83.5, 82,86,
65,67}, {80,91.5,84,99,95},
{90, 95, 86, 95, 97} };
static float bb[N];
clrscr ();
for (i=0; i<M; i++)
bb[i]=0.0;
for(i=0;i<【 】;i++)
{
for(j=0;j<【 】;j++)
bb [j]+=score [i] [j];
}
for (i=0; i<M; i++)
print f (" \nsubject%d\taverage=%5.1 f",
i+1,【 】);
return 0;
}

答案查题题库