分别写出收款员日销售文件、商品文件、部门日销售汇总文件至少应包含哪些数据项。
阅读以下函数说明和C代码,回答问题
[说明]
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。
以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图7-1显示了各个类间的关系。
[图7-1]
以下是C语言实现,能够正确编译通过。
[C代码]
typedef void( (1) )(char *title);
typedef void(*fun2)(char items[] [10], int N);
typedef char* (*fun3)();
char buffer[500];
struct Builder{//构造器
fun1 makeTitle;
(2) makeString;
fun2 makeItems;
fun3 getResult;
};
struct Director{
struct Builder builder;
};
char* construct( (3) director)//构造文件
{
char items[2][10] = {"早安", "午安"};
director->builder.makeTitle("Greeting");
director->builder.makeString("从早上到白天结束");
director->builder.makeItems(items, 2);
director->builder.makeString("到了晚上");
strcpy(items[0], "晚安");
strcpy(items[1], "好梦");
director->builder.makeItems(items, 2);
return director->builder.getResult();
}
void TXTmakeTitle(char* title)
{
strcat(buffer, "『");
Strcat(buffer, title);
strcat(buffer, "』\n\n");
}
void TXTmakeString(char* str)
{
strcat(buffer, "■");
Strcat(buffer, str);
strcat(buffer, "\n\n");
}
void TXTmakeItems(char items[] [10], int N)//将items加入文件中
{
for(int i = 0, i< N; i++){
strcat(buffer, "·");
strcat(buffer, (4) );
strcat(buffer, "\n");
}
strcat(buffer, "\n");
}
char* TXTgetResult()
{
return buffer;
}
void main()
{
Director director;
(5) = '\0';//清空缓冲区,使目前缓冲区中的内容不影响新生成的文件
director.builder.makeTitle = TXTmakeTitle;
director.builder.makeString = TXTmakeTitle;
director.builder.makeItems = TXTmakeItems;
director.builder.getResult = TXTgetResult;
char* result = construct(&director);
printf("%s\n", result);
}
阅读下列函数说明和C++代码,回答问题
[说明]
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。
以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图5-1显示了各个类间的关系。
[图5-1]
以下是C++语言实现,能够正确编译通过。
[C++代码]
class Builder{
public:
virtual void makeTitle(string title) = 0;
virtual void makestring(string str) = 0;
virtual void makeItems( (1) items) = 0;
virtual string getResult() = 0;
};
class Director{
private:
(2) builder;
public:
Director(Builder *builder){
this->builder = builder;
}
string construct(){
vectoritems;
items.push_back("早安"); items.push_back("午安");
builder->makeTitle("Greeting");
builder->makeString("从早上到白天结束");
builder->makeItems(items);
builder->makeString("到了晚上");
(3) ;//清空items向量
items.push_back("晚安"); items.push_back("好梦");
builder->makeItems(items);
return builder->getResult();
}
};
class TextBuilder : public (4) {
private:
string buffer;
public:
TextBuilder(){
buffer = " ";
}
void makeTitle(string title){
buffer += "=======================================\n";
buffer += "『" + title + "』\n";
buffer += "\n";
}
void makeString(string str){
buffer += "■" + str + "\n";
buffer += "\n";
}
void makeItems(vectoritems){
vector::iterator it;
for(it = items.begin(); it != items.end(); it++){
buffer += "." + *it + "\n";
}
buffer += "\n";
}
string getResult(){
buffer += "========================\n";
return buffer;
}
};
int main()
{
Director *director = new Director(new TextBuilder());
string result = (string)director-) (5) ;
cout< return 0;
}
阅读以下说明和Java代码,回答问题
[说明]
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。
以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图6-1显示了各个类间的关系。
以下是Java语言实现,能够正确编译通过。
[Java代码]
//Builder. java文件
public (1) class Builder {
public abstract void makeTitle(String title);
public abstract void makeString(String str);
public abstract void makeItems(String[] items);
public abstract Object getResult();
}
//Director. java文件
public class Director{
private (2) builder;
public Director(Builder builder){
this. builder = builder;
}
public Object construct(){
builder.makeTitle("Greeting");
builder.makeString("从早上到白天结束");
builder.makeItems(new String[]{"早安", "午安",});
builder.makeString("到了晚上");
builder.makeItems(new String[]("晚安", "好梦",});
return builder.getResult();
}
}
//TextBuilder.java文件
public class TextBuilder (3) Builder{
private StringBuffer buffer = new StringBuffer();
public void makeTitle(String title){
buffer.append("『" + title + "』"\n\n");
}
public void makeString(String str){
buffer.append('■' + str + "\n\n ");
}
public void makeItems(String[] items){
for(int i = 0; i< (4) ; i++){
buffer.append('·' + items[i] + "\n");
}
buffer.append("\n");
}
public Object getResult(){
return buffer.toString();
}
}
//Main.java文件
public class Main {
public static void main(String[] args) {
Director director = new Director(new TextBuilder());
String result = (String)director. (5) ;
System.out.println(result);
处理4对收款员月销售文件作何种操作。
阅读下列函数说明、图和C代码,回答问题
[说明]
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:
m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2]
其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数、1表示负数。
运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。
[函数]
int cmp(int *LA, int *LB);
/*比较长整数LA与LB的绝对值大小*/
/*若LA绝对值较大返回正值,LA较小返回负值,相等则返回0*/
int ADD (int *LA, int *LB, int *LC)
/*计算长整数LA与LB的和,结果存储于LC中*/
/*注意:正数与负数的和相当于正数与负数绝对值的差*/
/*数据有误返回0,正常返回1*/
{
if(LA == NULL || LB == NULL || LC == NULL)return 0;
int *pA, *pB, i, N, carry, flag;
flag = LA[0] + LB[0];
switch(flag){ /*根据参与运算的两个数的符号进行不同的操作*/
case 0:
case 2:
Lc[0] = LA[0];/*LA与LB同号,结果符号与LA(LB)相同*/
pA = LA;
pB = LB;
(1) ;
break;
case 1: /*LA与LB异号*/
/*比较两者的绝对值大小,结果符号与较大者相同*/
flag = (2) ;
if(flag >0){ /*LA较大*/
LC[0] = LA[0];
pA = LA;
pB = LB;
}
else if(flag< 0)(/*LB较大*/
LC[0] = LB[0];
pA = LB;
pB = LA;
}
else{/*LA与LB相等*/
LC[0] = 0;
LC[1] = 0;
return 1;
}
flag = -1;
break;
default:
return 0;
break;
}/*switch*/
/*绝对值相加减*/
/*注意对于减法pA指向较大数,pB指向较小数,不可能出现不够减情况*/
(3) ;
N = LA[1] >LB[1] ? LA[1] : LB[1];
for(i = 0; i< N; i++){
if(i >= pA[1]){/*LA计算完毕*/
carry += flag * pB[i+2];
}
else if(i >= pB[1]){/*LB计算完毕*/
carry += pA[i+2];
}
else{
carry += pA[i+2] + flag * pB[i+2];
}
LC[i+2] = carry % 10;
carry /= 10;
if( (4) ){/*需要借位,针对减法*/
LC[i+2] += 10;
carry--;
}
}/*for*/
if( (5) ){/*最高进位,针对加法*/
LC[i+2] = carry;
i++;
}
if(LC[i+1] == 0) i--; /*若最高位为零,针对减法*/
LC[1] = i;
return 1;
};/*ADD*/
分别写出收款员日销售文件、商品文件、部门日销售汇总文件至少应包含哪些数据项。
若用Student表存储学生信息,Teacher表存储教师信息,Course表存储课程信息,Study表存储学生选修课程情况。教务处想要“查询2006年入学的计算机专业(CS)的学生中平均成绩在85分以上的学生信息”。请将以下SQL语句补充完整。注:用对应英文表示。
SELECT * FROM student WHERE Smajor = "CS" AND Syear = "2006"
AND (1)
(SELECT Sno FROM Study GROUP BY Sno
HAVING (2) )
“处理1”能检查出日销售数据中的哪些错误。
按照“有关模式名(属性,属性,…)”的格式,将此E-R图转换为5个关系模式,指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。
根据题意,给出联系的属性。实体间的联系有“一对一”、“一对多”和“多对多”,指出各联系分别属于哪一种。
高级经济师考试试题精选练习(1)
高级经济师考试模拟练习题之单选题(1
高级经济师考试试题精选练习(2)
高级经济师考试试题精选练习(3)
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟试题及答案
高级经济师考试试题及答案:单选练习题
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟题及答案练习(1)
高级经济师考试模拟题及答案练习(2)