重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 求职面试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

下面程序的功能是是读取文本文件in.txt中的全部内容,...

下面程序的功能是是读取文本文件in.txt中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符字列反转,并输出到文件out.txt中。 文件int.txt的长度不大于1000字节。部分程序已给出,请将程序补充完成。 reverse()函数实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。 #include <iostream> #include <fstream> #include <cstring> using namespace std; class doc { private: char *str; //文本字符串首地址 int length; //文本字符个数 public: doc(char *filename); void reverse(); //将字符序列反转 ~doc(); void writeToFile(char *filename); }; doc::doc(char *filename) { ifstream myFile(filename); int len=1001,tmp; str=new char[len]; length=0; while((tmp=myFile.get())!=EOF) { str[length++]=tmp; } str[length]='\0'; myFile.close(); } void doc::reverse() { .............. } doc::~doc() { delete [] str; } void doc::writeToFile(char *filename) { ofstream outFile(filename); outFile< <str; outfile.close(); } int main() { doc mydoc("in.txt"); mydoc.reverse(); mydoc.writetofile("out.txt"); return 0;>

暂无答案
更多“下面程序的功能是是读取文本文件in.txt中的全部内容,...”相关的问题

第1题

请教:2010年下半年软考程序员-下午试题(标准参考答案版)第1大题第3小题如何解答?
【题目描述】

试题三(共15分)

阅读以下说明和C代码,回答问题1和问题 2,将解答写在答题纸的对应栏内。

【说明1】 下面代码的设计意图是:将保存在文本文件 data.txt 中的一系列整数(不超过 100 个)读取出来存入数组arr[],然后调用函数 sort()对数组arr 的元素进行排序,最后在显示屏输出数组arr 的内容。

【C代码】

【问题1】(9分)

以上 C 代码中有三处错误(省略部分的代码除外),请指出这些错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行。

【说明2】

 下面是用 C语言书写的函数 get_str 的两种定义方式以及两种调用方式。

 

【问题2】(6分)

若分别采用函数定义方式 1、2 和调用方式 1、2,请分析程序的运行情况,填充下

面的空(1)~(3)。

若采用定义方式1和调用方式1,则输出为“00000000” 。

若采用定义方式1和调用方式2,则     (1)  。 

若采用定义方式2和调用方式1,则    (2)  。

若采用定义方式2和调用方式2,则    (3)  。

【我提交的答案】:1: 第7行 return a; 第14行 FILE *fp; 第15行 fp=fopen("data.txt","r+");2:(1)texting (2)00000000 (3)texting

【参考答案分析】:

试题三(共15分)

【问题1】(9分)

以上解答不分次序

【问题2】(6分)

(1)输出为“00000000”        (2分)

 解答中出现“00000000”即给2分

(2)运行异常,无输出 或含义相同的叙述    (2分)

(3)输出为“testing”         (2分)

    解答中出现“testing”即给2分

求问题2的解析

点击查看答案

第2题

下面不能从文本文件中读取数据的是()。
A.TextStream对象的Read方法

B.TextStream对象的ReadLine方法

C.TextStream对象的ReadAll方法

D.TextStream对象的OpenAsTextStream方法

点击查看答案

第3题

请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制c++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。 要求: 补充编制的内容写在“//**********”与“//**********”两行之间。实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。 注意:程序最后已将结果输出到文件0ut.dat中,输出函数writeToFile已经给出并且调用。 //proj3.cpp include<iostream> include<fstream> include<catting> using namespace std;

class doc { private: char*sir;//文本字符串首地址 int length;//文本字符个数 public: //构造函数,读取文件内容,用于初始化新对象,filename是文件名字符串首地址 doc(char*filename); void reverse;//将字符序列反转 一doc; void writeToFile(char*filename); }; doc::doc(char}filename) { ifstream myFile(filename); int len=1001,tmp; atr=new char[1en]; length=0; while((trap=myFile.get)!=EOF) { str[1ength++]=trap; } str[1ength]=‘\0’; myFile.close; } void doc::reverse{ //将数组atr中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个 //字符交换…… //*************333*************

//*************666*************

} doc::~doe { delete[]str; } void doc::writeToFile(char*filename) { Ofstream outFile(filename); outFile<<str; outFile.close; } void main { doc myDoc(”in.dat”); myDoc.reveme; myDoc.writeToFile(”out.dat”); }

点击查看答案

第4题

函数ReadDat( )的功能是实现从文件IN7.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD( ),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat( )把结果xx输出到文件OUT7.DAT中。

例如,原文:dAe,BfC

CCbbAA

结果:fedCBA,

bbCCAA

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

注意:部分源程序已给出。

请勿改动主函数main( )、读函数ReadDat( )和写函数WriteDat( )的内容。

点击查看答案

第5题

函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。

例如,原文:Adb.Bcdza

abck.LLhj

结果:Aec.Bdeab

bcdl.LLik

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

注意:部分源程序已给出。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

点击查看答案

第6题

函数ReadDat()的功能是实现从文件IN32.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数StrOR(),该函数的功能是:以行为单位把字符串中所有小写字母。左边的字符串内容移至该串的右边存放,然后把小写字母。删除,余下的字符串内容移到已处理字符串的左边存放,最后把已处理的字符串仍按行重新存入字符串数组xx中。最后调用函数WriteDat()把结果输出到文件OUT32.DAT中。

例如,原文:You can create an index on any field

you have the correct record

结果:n any field Yu can create an index

rd yu have the crrect rec

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

注意:部分源程序已给出。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include<stdio. h>

include<string. h>

include<conio. h>

char xx[50] [80];

int maxline=0;

int ReadDat (void);

void WriteDat(void);

void StrOR (void)

{

void main ()

{

clrscr ( );

if (ReadDat ( ) )

{

printf ("数据文件IN32.DAT不能打开! \n\007");

return;

}

StrOR ( );

WriteDat ( );

}

int ReadDat (void)

{

FILE *fp;

int i=0;

char *p;

if ( (fp= fopen ( "IN32. DAT", "r" ) ) ==NULL) return 1;

while (fgets (xx [i] , 80, fp) ! =NULL)

{

p=strchr [xx[i] , '\n');

if (p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat (void)

{

FILE *fp;

int i;

ctrscr ( );

fp=fopen ("OUT32 .DAT", "w");

for (i=0; i<maxline; i++)

{

printf("%s\n",xx[i]);

fprint f (fp, "%s\n", xx [i]);

}

fclose(fp);

}

点击查看答案

第7题

函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,

替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)的值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序已给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include <stdio.h>

include <string.h>

include <conio.h>

include <ctype.h>

unsigned char xx[50] [80];

int maxline = 0; /* 文章的总行数 */

int ReadDat(void);

void WriteDat(void);

void encryptChar()

{

}

main ( )

{

clrscr();

if (ReadDat ())

{

printf ("数据文件ENG9. IN不能打开 ! \n\007 ");

return;

}

encryptChar();

WriteDat();

}

int ReadDat (void)

{

FILE *fp;

int i= 0;

unsigned char *p;

if ((fp = fopen("ENG9.IN","r")) ==NULL) return 1;

while(fgets(xx[i], 80, fp) !=NULL)

{

p = strchr(xx[i], '\n');

if(p) *p = 0;

i++;

}

maxline = i;

fclose (fp);

return 0;

}

void WriteDat (void)

{

FILE *fp;

int i;

fp = fopen("PS9.DAT", "w");

for(i = 0; i < maxline; i++)

{

printf("%s\n", xx[i]);

fprintf(fp, "%s\n", xx[i]); }

fclose (fp);

}

点击查看答案

第8题

函数ReadDat()的功能是实现从文件ENG4.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS4.DAT中。

替代关系:f(p)=p*11mod256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序已给出。

原始数据文件存放的格式是:每行的宽度均小于,80个字符。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include <stdio.h>

include <string.h>

include <conio.h>

include <ctype.h>

unsigned char xx[50][80];

int maxline = 0;/* 文章的总行数 */

int ReadDat (void);

void WriteDat(void);

void encryptChar()

{

main ( )

{

clrscr ();

if (ReadDat ())

{

printf ("数据文件ENG4.IN不能打开! \n\007");

return;

}

encryptChar ();

WriteDat ();

}

int ReadDat (void)

{

FILE *fp;

int i = 0;

unsigned char *p;

if((fp = fopen("ENG4.IN", "r")) ==NULL) return 1;

while(fgets(xx[i], 80, fp) !=NULL)

{

p = strchr(xx[i], '\n');

if (p) *p = 0;

i++;

}

maxline = i;

fclose (fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

fp = fopen("PS4.DAT", "w");

for(i = 0; i < maxline; i++)

{

printf("%s\n", xx[i]);

fprintf(fp, "%s\n", xx[i]);

}

fclose (fp);

}

点击查看答案

第9题

函数ReadDat()的功能是实现从文件ENG49.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS49.DAT中。

替代关系;f(p)=p*11 mod 256 (p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)的值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序已给出。

原始数据文件的存放格式是:每行的宽度均小于80个字符。

请勿改动主函数main()、读函数ReadDat()和写函数WtiteDat()的内容。

试题程序:

include<conio.h>

include<stdio.h>

include<string.h>

include<ctype.h>

unsigned char xx[50] [80];

int maxline=0;

int ReadDat(void);

void writeDat(void);

void encryChar()

{

}

void main()

{

clrscr();

if(ReadDat())

{

print f ( "数据文件ENG49.IN 不能打开! \n\007" );

return;

}

encryChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fP;

int i=0;

unsigned char *p;

if((fp=fopen("ENG49.IN","r"))==NULL)

return 1;

while(fgets(xx[i],80,fp)!=NULL)

{

p=strchr(xx[i],'\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat()

{

FILE *fp;

int i;

fp=fopen("ps49.dat","w");

for(i=0;i<maxline;i++)

{

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

点击查看答案

第10题

函数ReadDat()的功能是实现从文件ENG96.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件ps96.dat中。

替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)的值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序已给出,原始数据文件的存放格式是每行的宽度均小于80个字符。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include<conio.h>

include<stdio.h>

include<string.h>

include<ctype.h>

unsigned char xx[50][80];

int maxline=0;

int ReadDat(void);

void WriteDat(void);

void encryChar()

{

}

void main()

{

clrscr();

if(ReadDat())

{

printf("数据文件ENG96.IN不能打开!\n\007");

return;

}

encryChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

unsigned char *p;

if((fp=fopen("ENG96.IN","r"))==NULL) return 1;

while(fgets(xx[i],80,fp)!=NULL)

{

p=strchr(xx[i],'\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat()

{

FILE *fp;

int i;

fp= fopen("ps96.dat","w");

for(i=0;i<maxline;i++)

{

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp)

}

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案