版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东南大学08级C+(下)上机试卷A和答案解析(考试时间80分钟,卷面成绩100分)学号 姓名 机位号 说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。一、改错题 (50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹。【题目】以下程序用于构造一个空的数组对象,通过调用插入函数建立按升序排列的数组,并输出数组内容。 【含错误的源程序
2、】#include #includeusing namespace std;class Array int *p; int last; /最后一个元素下标public: Array(int=20); /创建一定长度的空表,给定长度缺省值为20 Array(); void insertOrder(int); /在升序表中插入一个元素,使之仍然升序 void print();void Array:Array(int max) /错误行 last=-1; p=new int; /初始化为给定长度 /错误行Array:Array()delete p; /错误行void print() /错误行 for
3、(int i=0;i=last;i+) coutsetw(4)pi; cout=0&keypi) pi+1=pi; /错误行 i-; pi=key; /错误行 last+;void main() Array a(); /创建数组 /错误行 int t; for(int i=0;it; a.insertOrder(int t); /错误行 print(); /输出数组 /错误行二、编程题(50分) 【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹。【题目】以下程序定义了一个整型数组类Array,数组长度为30个元素。数组的初始化数据来源以及程序结束后数组的数据保存都指向工程文件夹下的
4、文本文件”vdata.txt”。即,创建数组对象时,在构造函数中读该取文件获得数据(首次创建对象时文件是打不开的,数组就没有初始化值),当程序结束时,析构函数将数据写入上述文件。【说明】本程序的执行流程是,创建数组对象并初始化,向数组中添加一些数据。请按以上说明和要求将下面程序补充完整,并调试运行。#include #includeusing namespace std;class Array;ostream& operator(ostream &os,Array &a);class Array int v30; int last; /最后一个元素下标public: Array(); /创建表
5、,从文件中读取数据进行初始化 Array(); /数据保存到文件中 void insertAfter(int); /在当前表的最后添加一个元素 friend ostream& operator(ostream &, Array &); /用于直接输出数组对象;Array:Array() /此处添加代码Array:Array() /此处添加代码void Array:insertAfter(int t) last+; vlast=t;ostream& operator(ostream &os,Array &a) /此处添加代码void main() Array vector; /创建数组 int
6、t; coutvector; cout向数组添加3个数:; for(int i=0;it; vector.insertAfter(t); cout当前数组内容:endl; coutvector; 【提醒】上传的学号文件夹中只需包含f1.cpp、f2.cpp及vdata.txt三个文件即可,其余文件上传前尽可删除。答案解析:一改错题#include #includeusing namespace std;class Arrayint *p; int last; /最后一个元素下标 public:Array(int=20); /创建一定长度的空表,给定长度缺省值为20 Array();void i
7、nsertOrder(int); /在升序表中插入一个元素,使之仍然升序 void print(); Array:Array(int max) last=-1; p=new intmax; /初始化为给定长度 Array:Array() delete p; void Array:print() /错误行 for(int i=0;i=last;i+) coutsetw(4)pi; cout=0 & keypi ) pi+1=pi; /错误行 i-; pi+1=key; /错误行 last+; void main()Array a; /创建数组 int t;for(int i=0;it; a.in
8、sertOrder(t); a.print(); /输出数组 二编程题#include #includeusing namespace std;class Array;ostream& operator(ostream &os,Array &a);class Array int v30; int last; /最后一个元素下标public: Array(); /创建表,从文件中读取数据进行初始化 Array(); /数据保存到文件中 void insertAfter(int); /在当前表的最后添加一个元素 friend ostream& operatorvvi; vi=vvi;last=last+1;datafile.close();Array:Array()fstream datafile (d:vdata.txt,ios:out);for(int i=0;ilast;i+)datafilevit;datafile.close();void Array:insertAfter(int t) vlast=t;last+;ostream& operator(ostream &os,Array &a)for(int i=0;ia.last;i+) /此处添加代码 osa.vit;return os
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省武汉市洪山区2025-2026学年初三下学期教学质量检查化学试题理试题含解析
- 贵州省贵阳市贵安新区民族中学2026年初三第三次中考适应性考试化学试题含解析
- 江苏省南京市高淳县第三中学2025-2026学年中考模拟生物试题试卷含解析
- 内蒙古乌兰浩特市第十三中学2025-2026学年初三5月学情调查化学试题含解析
- 安徽省合肥市滨湖区寿春中学2026年初三调研测试(二)化学试题含解析
- 广西河池市凤山县2025-2026学年学业水平考试生物试题模拟卷(十一)含解析
- 一对二课堂奖惩制度
- 中专班规奖惩制度
- 中层奖惩制度
- 主管业绩奖惩制度
- TD-T 1041-2013 土地整治工程质量检验与评定规程
- 农网改造施工工艺
- TCRHA 015-2023 成人经鼻高流量氧疗护理规范
- GB/T 32764-2016边鸡
- GB/T 224-2019钢的脱碳层深度测定法
- 机械设备、人员一览表
- 函数y=Asin(wx+φ)的图象与性质优质课比赛课件
- 2022年环境监测技能知识考试参考题500题(含各题型)
- 分数百分数应用题的复习课件
- 交通索道桥(悬索桥)工程专项施工方案
- 《红楼梦》 简答题 试卷及答案 汇编全集(第1-80回合集资料)
评论
0/150
提交评论