当前所在位置:珠峰网资讯 >> 计算机 >> IT教育 >> 正文
04年11月软考模拟程序员下午试
发布时间:2008/2/25 8:41:47 来源:xue.net 编辑:城市教育在线
试题五 下题是一个“加法计算器”应用程序,其界面及运行情况如下,请填空。在该界面中,“被加数”、“加数”以及“和数”等文字称为标签(Label),相应的三个输入输出数据框称为文本框(TextBox),此外还有三个命令按钮(CommandButton)。用户在被加数和加数相应的文本框内输入数据,再单击“加法”按钮,便能在“和数”对应的框中看到相加的结果。当用户单击“清除”按钮时,就会清除各文本框中的数据。当用户单击“关闭”按钮时就会关闭该窗口并退出应用程序。在文本框中输入数据时,用户可以进行一般的插入、修改和删除操作。
   各个对象、有关的属性名以及需要修改的属性值设计如下:
    对象        属性名      属性值   
    窗体       (名称)     frmAdder
               Caption      (1)  
    标签1      Caption      被加数
    标签2      Caption      加数
    标签3      Caption      和数     
    文本框1   (名称)      txt1
                Text        (空)
    文本框2    (名称)       txt2
                Text        (空)
    文本框3   (名称)      txt3
                Text        )    
    按钮1      (名称)          (2) 
                Caption       加法
    按钮2     (名称)      cmdClear
                Caption      清除
    按钮3     (名称)      cmdClose
                Caption      关闭
    为该窗体中各个命令按钮的单击事件编写程序代码:
    Private Sub cmdAdd_Click()
       txt3.text=Str$(  (3)  )   '加法运算获得和数
    End Sub
    Private Sub  (4)  ()
       txt1.Text=""                    '空字符串赋值给文本框txt1的内容
       txt2.Text=""
       txt3.Text=""
    End Sub
    Private Sub cmdClose_Click()
         (5)                               '退出应用程序
    End Sub
 
 
试题六  (试题六和试题七选做一题)
    阅读下列函数说明和C函数,将应填入   n    处的字句写在答题纸的对应栏内。
[程序说明]
本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。
程序用一棵有序二叉树存储这些单词及其出现的次数,边读入边建立,然后中序遍历该二叉树,将遍历经过的二叉树上的结点的内容输出。
# include <stdio.h>
# include <malloc.h>
# include <ctype.h>
# include <string.h>
# define   INF        "text.in"
# define   OUTF     "word.out"
typedef struct treenode {
       char *word;
       int    count;
       struct treenode *left, *right;
} BNODE;
int getword(FILE *fpt, char *word)
{     char c;
       c=fgetc(fpt);
       if ( c == EOF)
              return 0;
       while(!(tolower(c) >= 'a' && tolower(c) <= 'z'))
       {     c=fgetc(fpt);
              if ( c == EOF)
                     return 0;
       }  /* 跳过单词间的所有非字母字符 */
       while(tolower(c) >= 'a' && tolower(c) <= 'z')
       {     *word++ = c;
              c = fgetc(fpt);
       }
       *word = '\0';
       return 1;
}
void binary_tree(BNODE **t, char *word)
{     BNODE   *ptr, *p; int compres;
       p = NULL;   (1)  ;
       while (ptr)  /* 寻找插入位置 */
       {     compres=strcmp(word,   (2)   ); /* 保存当前比较结果 */
              if (!compres)
              {      (3)  ;  return; }
              else
              {       (4)  ;
                     ptr = compres>0 ? ptr->right : ptr->left;
              }
       }
       ptr = (BNODE *)malloc(sizeof(BNODE));
       ptr->left = ptr->right = NULL;
       ptr->word = (char *)malloc(strlen(word)+1);
       strcpy(ptr->word, word);
       ptr->count = 1;
       if (p == NULL)
                (5)  ;
       else if (compres > 0)
              p->right = ptr;
       else
              p->left = ptr;
}
void midorder(FILE *fpt, BNODE *t)
{     if ( t == NULL )
              return;
       midorder(fpt, t->left);
       fprintf(fpt, "%s %d\n", t->word, t->count);
       midorder(fpt, t->right);
}
void main()
{     FILE       *fpt;  char word[40];
       BNODE   *root=NULL;
       if ((fpt=fopen(INF, "r")) == NULL)
       {     printf("Can't open file %s\n", INF);
              return;
       }
       while(getword(fpt, word) == 1)
              binary_tree( &root, word );
       fclose(fpt);
       fpt = fopen(OUTF, "w");
       if (fpt == NULL)
       {     printf("Can't open file %s\n", OUTF);
              return;
       }
       midorder(fpt, root);
       fclose(fpt);
}
  
试题七
某单位职工情况数据库名为emp.mdb,其中含有一个数据表person,其表结构如下:
       字段名    数据类型     大小    缺省值    是否允许空值
       编号       Text         6      2004000        否  
       姓名       Text         8                     是
       工资       Real                               是
    现需要用VB开发一个应用程序,运行该应用程序就能够访问数据库emp.mdb,进行所需的数据库操作。用VB开发能访问数据库的应用程序,我们用两种方法实现。
1、利用“数据窗体设计器”自动生成数据窗体
设计步骤如下:
(1)          先利用VB中的可视化数据库管理器创建数据库emp.mdb以及其中的数据表person,输入数据内容。
(2)          在打开数据库emp.mdb的情况下(出现数据库窗口和SQL语句窗口),利用菜单“   (1)  ”,打开数据窗体设计器,填写窗体名称(如:职工情况表)、 (2)  (如:person);并利用中间的按钮,将左边的3个字段名全部移动右边;
(3)          利用“生成窗体”按钮生成数据窗体“frm职工情况表”。运行该窗体就能看到图10.11的界面。此时,用户非常容易进行各种数据操作。
2、利用数据控件访问数据库
   生成如下图所示的窗口。窗口下部有数据控件(命名为dataP),通过其左右各2个箭头可浏览上节创建的数据库emp中表person的各个记录,将其显示在各个文本框内。各个按钮可分别进行相应的数据记录操作。为使数据控件dataP与数据库emp中的表person相连接,需要设置dataP的属性如下:
      属性名         属性值             说     明                        
      connect        Access     默认连接的数据库类型为Access
        (3)          emp        设置所需连接的数据库
    RecordSource      (4)     设置所需连接的数据源(表名,或SQL语句字符串)
    为使文本框与数据控件dataP相连接,并指明所需显示的字段名,需要设置文本框的如下属性:
      属性名         属性值             说     明         
        (5)          dataP        设置所需连接的数据控件
DataField        字段名       设置所需连接的数据表字段名
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved