1、http:/ 08 级 C+(下)上机试卷 A(考试时间 80 分钟卷面成绩 100 分)学号 姓名 机位号 说明:首先在 Z 盘建立一个以自己的学号命名的文件 夹,用于存放上交的 *.CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上, 注意:提交时只保留文件夹中的 CPP 文件。一、改错题 (50 分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。【注意】源程序以“学号 f1.cpp”命名,存入自己学号文件夹。【题目】以下程序用于构造一个空的数组对象,通过调用插入函数建立按升序排列的数组,并输出数
2、组内容。 【含错误的源程序】#include #includeusing namespace std;class Arrayint *p;int last; /最后一个元素下标public:Array(int=20); /创建一定长度的空表,给定长度缺省值为 20Array();void insertOrder(int); /在升序表中插入一个元素,使之仍然升序void print();void Array:Array(int max) /错误行last=-1;p=new int; /初始化为给定长度 /错误行Array:Array()delete p; /错误行void print() /错
3、误行for(int i=0;i=0a.insertOrder(int t); /错误行print(); /输出数组 /错误行二、编程题(50 分) 【注意】源程序以“学号 f2.cpp”命名,存入自己学号文件夹。【题目】以下程序定义了一个整型数组类 Array,数组长度为 30 个元素。数组的初始化数据来源以及程序结束后数组的数据保存都指向工程文件夹下的文本文件”vdata.txt”。即,创建数组对象时,在构造函数中读该取文件获得数据(首次创建对象时文件是打不开的,数组就没有初始化值) ,当程序结束时,析构函数将数据写入上述文件。【说明】本程序的执行流程是,创建数组对象并初始化,向数组中添加一些数据。请按以上说明和要求将下面程序补充完整,并调试运行。#include #includeusing namespace std;class Array;ostreamvector.insertAfter(t); cout“当前数组内容:“endl;coutvector; 【提醒】上传的学号文件夹中只需包含 f1.cpp、f2.cpp 及 vdata.txt 三个文件即可,其余文件上传前尽可删除。