实验六C++的流类库与输入输出

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验 6 C++的流类库与输入输出

一、实验目的

1. 掌握C++格式化的输入输出方法。

2. 掌握重载运算符“<<”和“>>”的方法。

3. 掌握磁盘文件的输入输出方法。

二、实验准备及要求

在开始实验前,应回顾或复习相关内容。

需要一台主算机,其中安装有Visual C++ 6.0集成开发环境软件。

三、实验内容与结果

1. 下面给出的test7_1_1.cpp程序用于打印九九乘法表,但程序中存在错误。请上机调试,使得此程序运行后,能够输出如下所示的九九乘法表。

* 1 2 3 4 5 6 7 8 9

1 1

2 2 4

3 3 6 9

4 4 8 12 16

5 5 10 15 20 25

6 6 12 18 24 30 36

7 7 14 21 28 35 42 49

8 8 16 24 32 40 48 56 64

9 9 18 27 36 45 54 63 72 81

//test7_1_1.cpp

#include

#include

using namespace std;

int main()

{

int i,j;

cout<<"*"<<"\t";

for(i=1;i<=9;i++)

cout<

cout<

for(i=1;i<=9;i++)

{

cout<

for(j=1;j<=i;j++)

cout<

cout<

}

return 0;

}

2.下面的程序用于统计文件xyz.txt中的字符个数,请填空完成程序。 //test7_2_1.cpp

#include

#include

using namespace std;

int main()

{ char ch;

int i=0;

ifstream file;

file.open(“xyz.txt”,ios::in);

if( !file )

{

cout<<”xyz.txt cannot open”<

abort();

}

while (!file.eof())

{

file.get(ch);

i++;

}

cout<<”文件字符个数:”<

file.close();

return 0;

}

3.重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信息。商品的信息由编号、商品名和价格。假如商品类Merchandise的框架如下:#include

using namespace std;

class Merchandise{

public:

Merchandise()

{

cout<<"构造"<

}

~Merchandise()

{

cout<<"析构"<

}

friend istream& operator>>(istream& in,Merchandise& s)

{

in>>s.no>>>>s.price;

return in;

}

friend ostream& operator<<(ostream& out,Merchandise& s)

{

out<<"no:"<

return out;

}

private:

int no;

char name[18];

double price;

};

void main()

{

Merchandise mer;

cin>>mer;

cout<

}

4.编写一个程序,将两个文本文件连接成一个文件,然后将此文件中所有小写字母转换成大写字母,并打印出来。

#include

#include

using namespace std;

int main()

{

fstream file1,file2,file3,file4;

char filename1[10],filename2[10],filename3[10],ch;

cout<<"输入源文件1名:";

cin>>filename1;

cout<<"输入源文件2名:";

cin>>filename2;

cout<<"输入目标文件名:";

cin>>filename3;

file1.open(filename1,ios::in);

file2.open(filename2,ios::in);

file3.open(filename3,ios::out);

cout<<"文件1"<

while((ch = file1.get()) != EOF)

{

cout<

file3.put(ch);

}

cout<<"\n 文件"<

while((ch = file2.get()) != EOF)

{

相关文档
最新文档