首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。 此程序将int.txt文件中的内容输出到屏幕,并且将文件按
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。 此程序将int.txt文件中的内容输出到屏幕,并且将文件按
admin
2018-10-23
66
问题
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。
此程序将int.txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件out1.txt和out2.txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释//********1********后添加适当的语句。
(2)把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。请在注释//******2******后添加适当的语句。
(3)将输入文件的后一半内容存储在第二个文件中,请在注释//********3********后添加适当的语句。
(4)使用文件流对象打开输入文件in.txt,请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
1 #include<iostream.h>
2 #include<fstream.h>
3 #include<stdlib.h>
4 class TestClass
5 {
6 public:
7 TestClass(char* fileName)
8 {
9 len=0;
10 fstream infile;
11 infile.open(fileName,ios::in);
12 char ch;
13 //********1********
14 while()
15 {
16 cout<<ch;
17 //********2********
18
19 }
20 infile.close();
21 }
22 void split()
23 {
24 fstream outfile1;
25 fstream outfile2;
26 outfile1.open(’’out1.txt’’,ios::out);
27 outfile2.open(’’out2.txt’’,ios::out),
28 int i=0;
29 for(i=0;i<len/2;i++)
30 {
31 outfile1<<buf
;
32 }
33 do {
34 //********3********
35
36 } while(i!=len);
37 outfile1.close();
38 outfile2.close();
39 }
40 private:
41 int len;
42 char buf[1024];
43 };
44 void main ()
45 {
46 //********4********
47 TestClass Fsp();
48 Fsp.split();
49 return;
50 }
选项
答案
(1)将“while()”完整为:while(infile.get(ch)) (2)添加语句:buf[len++]=ch; (3)添加语句:outfile2<<buf[i++]; (4)将“Testclass Fsp();”完整为:TestClass Fsp(”modi3.txt”);
解析
在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的main主函数开始入手,可以看出程序通过调用类TestClass及其成员函数实现各种输出操作。
(1)题目1要求“从输入文件中获得一个字符,并判断是否到文件结尾”。程序中的“while()”循环判断语句中缺少从文件中获得的字符,所以这里补全while循环判断条件,即“while(infile.get(ch))”。
(2)题目2要求“把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。”所以为buf分配空间,即“buf[len++]=ch;”。
(3)题目3要求“将输入文件的后一半内容存储在第二个文件中。”在C++中,用流插入运算符为“<<”,所将buf中存放的数据存入文件outfile2,以根据题干中的要求,即这里补全“outfile2<<buf[i++];”。
(4)题目4要求“使用文件流对象打开输入文件modi3.txt。”程序应该是调用类“TestClass”中的成员函数“split”。类的构造函数定义中存在参数char*fileName,所以修改注释下的语句缺少参数。即“TestClass Fsp(’’modi3.txt");”。
转载请注明原文地址:https://kaotiyun.com/show/5wAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列有关拷贝构造函数的描述中错误的是()。
下面程序输出的结果为#include"iostream.h”classA{public:A(){cout<<"CLASSA"<<endl;}~A(){}};class
下面程序的执行结果是#include"iostream.h"voidmain(){int*p,r;p=newint;*p=20;r=sizeof(*p);cout<<r<<endl
以下for语句中不是死循环的是
关于下列程序段的描述中,正确的是()。#include<iostream.h>intfun(int,int);voidmain(){cout<<fun(1,2)<<endl;
下列叙述中正确的是()。
若类A和类B的定义如下:#include<malloc.h>classA{inti,j;public:intgeti(){returni;}};classB:
请在下列程序中的横线处填写正确的语句。#include<iostream>usingnamespacestd;classBase{public:voidfun(){cout<<“Basefun”<<endl;}
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、______和选择排序等。
以下类定义中可能会引起错误的语句是()。ClassA{public:~A(){}//1inti;//2private:intj;//3A(inti){i++;}//4}
随机试题
妊娠________周以后,经腹可触及子宫内胎体,妊娠________周以后,触诊时能区分胎头、胎背、胎臀和胎儿肢体。
女性,64岁,车祸后4小时,临床高度怀疑骨盆粉碎性骨折。查体:血压80/54mmHg,脉搏128次/分,呼吸32次/分,经输血、输液等治疗后,病人血压和中心静脉压均升高不明显。考虑可能的原因为
3岁小儿不慎将异物误吸进气管后入院行全麻后支气管镜下取出异物,为避免麻醉后呛咳反应减弱使食物误入气管,护士应告知家长术后应禁食
排土场又称废石场,是指露天矿山采矿排弃物集中排放的场所。排土场作为矿山接纳废石的场所,是露天矿开采的基本工序之一,当排土场受大气降雨或地表水的浸润作用,排土场内堆积体的稳定状态会迅速恶化,引发滑坡和泥石流等灾害。以下不属于排土场滑坡类型为(
施工总承包管理模式与施工总承包模式( )。
S公司采用成本与可变现净值孰低法对存货进行期末计价,成本与可变现净值按单项存货进行比较。2008年2月31日,A、B、C三种存货成本与可变现净值分别为:A存货成本18万元,可变现净值为16万元;B存货成本18万元,可变现净值22万元;C存货成本27万元,可
下列因素中,与固定增长股票内在价值呈反方向变化的有()。
管理评审是为了评审质量管理体系的适宜性、充分性和有效性,其中有效性是指_________。
基克认为,一般性的问题解决大致包括哪些阶段?()
维护个人利益是个人行为的唯一动机。因此,维护个人利益是影响个人行为的主要因素。以下哪项如果为真,最能削弱题干论证?
最新回复
(
0
)