问题 多项选择题

设计一个文件名和表单名均为form_item 的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题设为“使用零件情况统计”。表单中有1个组合框(Combo1)、1个文本框(Text1)和2个命令按钮“统计”(Command1)和“退出”(Command2)。
运行表单时,组合框中有3个条目“s1”、“s2”、“s3”(只有3个,不能输入新的,RowSourceType的属性为“数组”,Style的属性为“下拉列表框”)可供选择,单击“统计”命令按钮以后,则文本框显示出该项目所用零件的金额(某种零件的金额=单价*数量)。
单击“退出”按钮关闭表单。

答案

参考答案:
单击“文件”菜单中的“新建”命令,在类型选择框中选择“表单”,单击“新建文件”按钮,打开表单设计器。
在属性窗口中设置表单formA 的 Name 属性为 form_ item,Caption 属性为“使用零件情况统计”。从表单控件工具栏中选择一个组合框、两个按钮和一个文本框放置在表单上。在属性面板中设置组合框的 RowSourceType 属性为“A-值”,RowSource 属性为“sA,sB,sC”,Style 属性为“B-下拉列表框”。设置按钮CommandA 的 Caption 属性为“统计”,CommandB 的 Caption 属性为“退出”,结果如图C-A0B所示。
[*]
图C-A0B
双击命令按钮CommandA,在Click 事件中编写如下代码。
******命令按钮CommandA(统计)的Click 事件******
SELECT SUM(零件信息.单价*使用零件.数量);
FROM 零件信息INNER JOIN 使用零件;
INNER JOIN 项目信息;
ON 使用零件.项目号=项目信息.项目号;
ON 零件信息.零件号=使用零件.零件号;
WHERE 使用零件.项目号=ALLTRIM(Thisform.COMBOA.VALUE);
GROUP BY 项目信息.项目号;
INTO ARRAY TEMP
Thisform.TEXTA.VALUE=TEMP
************************************************
同样在CommandB的Click 事件中编写代码:Thisform. Release。
保存表单文件为form_ item到考生文件下。运行表单,结果如图C-A0C所示。
[*]
图C-A0C

解析: 本大题主要考查的是表单中组合框的设置,该控件用来显示数据的重要属性是 RowSourceType属性和RowSource 属性,在程序设计中,利用 SQL 语句在数据表中查找与选中条目相符的字段值进行统计,属于简单查询,可将查询结果保存到一个数组中,然后通过文本框的 Value 属性将结果在文本框中显示。

单项选择题
问答题

使用VC6打开考生文件夹下的工程MyProj8。此工程包含一个源程序文件MyMain8.cpp,该程序实现栈的入栈和出栈的操作。其中有两个类:一个是节点类node,它包含节点值和指向上一个节点的指针prey;另一个类是栈类stack,它包含栈的头指针top。但类的定义并不完整。 请按要求完成下列操作,将类Sample的定义补充完成: ①定义私有节点值data,它是血型的数据,以及定义一个指向上一个节点的指针prev。请在注释“//* *1* *”之后添加适当的语句。 ②完成构造函数node(int d,node*n)的定义,使得私有成员data和prev分别初始化为d和n。请在注释“//* *2* *”之后添加适当的语句。 ③完成类stack的成员函数push(int i)的类体内的定义。函数push()实现入栈这个操作,即把形参i压入栈中,那么此时应该创建一个新的节点,并让这个节点的prev指针指向栈顶。请在注释“//* *3 * *”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件MyMain8.cpp清单如下: //MyMain 8.cpp #include <iostream> using namespace std; class stack; class node { private: //* * 1 * * public: node(int d, node *n) { //* * 2 * * } friend class stack; }; class stack { node *top; //栈头 public: stack() {top=0; } void push(int i) { //* * 3 * * } int pop() { node*t=top; if(top) { top=top->prev; int c=t->data; delete t; return c; } return 0;} }; int main() { stack s; s.push(6); s.push(3); s.push(1); return 0; }