主观

【说明】

 设有关于银行借贷管理系统的E-R图。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。为了答题的方便,图中的实体和属性同时给出了中英文说明,回答问题时只需写出英文名即可。

根据E-R图中给出的词汇,按照“有关模式名(属性1,属性2,…)”的格式,将此E-R图转换为关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。要求其中的关系模式至少属于第三范式。

参考答案
您可能感兴趣的试题

从下列的3道式题(试题五至试题七)中任选1道解答。

 如果解答的试题数超过1道,则题号小的1道解答有效。

 阅读以下说明和C++码,将应填入(n)处的字名写在的对应栏内。

[说明] 利用c++的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数:Leap ()用于判定指定的年份是闰年,Week ()用于计算year年份的1月1日是星期几,其判定规则为:

(1) 如果year 年份为1994年,则为星期六。

(2) 如果year 年份大于1994年,则星期值weekno 按下列公式计算:

differ=(year-1994)*(365%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date=6+differ%7

weekno=(date6)? date-7:date

(3) 如果year 年份小于1994年,则星期值weekno 按下列公式计算:

differ=(1994-year)*(365%7)+(1996-year)/4-(2001-year)/100+(2000-year)/400 weekno=6-dder%7

 # include "iostream. h"

 # include "iomanip. h"

 int leap(int n)

 {

   if( (1) )

    return 0

   else

    return 1;

 }

 int week( int year )

 {

   int a1, differ, date, weekno;

   if (year = = 1994)

    a1 =0;

   else if (year > 1994)

          a1=1;

       else a1= -1;

   switch(a1)

    {

      case 0: return 6; break;

      case 1:

      {

        (2) 

       date = 6 + differ% 7; weekno = ( date > 6) ? date - 7 date;

      }

      return weekno; break;

    case - 1:

      {

       differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100 + (2000 - year)/400;

       weekno =6-differ%7; } return weekno; break;

      }

    }

 void main( )

 }

   int i,year,m2,n,j;

   cout < < “Please input 某年数:”;

   cin> >year;

   if ( ! leap(year) )

     (3);

   else

    m2 =28;

   int month [12]: {31 ,m2,31,30,31,30,31,31,30,31,30,31 };

     (4) 

   for ( i=0; i<12; i+ + )

   {

      cout< < < <end1< <setw(4*n) < <";

      for(j=1 ;j< =month [i] ;j+ +)

      {

        cout< <setw(4) < <j;

        n+ +;

        if(n> =7)

        {

         (5) 

         cout < < end1;

        }

      }

   }

 }

【程序说明】

 定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。(2)显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。(3)编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。

 【程序】

   #include "iostxeam. h"

  #include "iomanip. h"

  stmct polygon

  {

   int n;

   int *x;

   int *y;

   polygon *next;

  };

  void Push(polygon*& head, int n)

  {

   polygon* newNode = new polygon;

   newNode = new polygon;

   newNode->next=(1);

   newNode->x = new int[n];

   newNode->y = new int[n];

   newNode->n=(2);

   for(int i=0; i<=(3); i++) {

     cout<<"请输入多边形各顶点x、y坐标, 坐标值之间用空格分隔: ";

     cin>>newNode->x[i]>>newNode->y[i];

   }

    (4)= head;      //在head前不需要额外的*

   head = newNode;

   }

  polygon *create()

  {

   polygon* head = NULL;

   polygon* tail;

   int n;

   cout<<"请输入多边形顶点的个数(顶点个数为0时结束): ";

   cin>>n;

   if(n==O) return (5);

   Push(head,(6));

   tail = head;

   cout<<"请输入多边形顶点的个数(顶点个数为0时结束): ";

   cin>>n;

   while(n!=0)

   {

    Push(tail->next,(7));     // 在tail->next增加结点

    tail = tail->next;             //advance tail to point to last node

    cout<<"请输入多边形顶点的个数(顶点个数为0时结束): ";

    cin>>n;

   }

   remm head;

  }

  void disp(polygon *head)

  {

   inti, No=l;

   eout<<setw( 10)<<"x"<<setw(6)<<"y"<<endl;

    while(head !=NULL)

   {

    cout<<"第"<<No<<"结点: "<<endl;

    for(i=0;i<=head->n-1;i++)

    cout<<setw(10)<<head->x [i] <<setw(6)<<head->y[i]<<endl;

     (8);

    he ad=(9);

   }//Match while statement

  }

  void del(polygon *head)

  {

   polygon *p;

   while(head!=NIILL

   {

    p=(10);

    head=head->next;

     delete p->x;

   delete p->y;

     delete p;

    }//Match while statement

   void main()

  {

   polygon *head;

   head=create();

   disp(head);

   del(head);

  }

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服