C++实验报告6

  • 格式:doc
  • 大小:78.50 KB
  • 文档页数:5

电子信息工程学院2013级电子信息工程《C++面向对象程序设计》实验报告

姓名: 陈函 学号:222013333210054

实验序号: 6

实验项目: C++的流类库与输入输出

实验目的:

(1) 掌握C++格式化的输入输出方法

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

(3) 掌握磁盘文件的输入输出方法

实验内容:

1、下面给的程序用于打印九九乘法表,但程序中存在错误。请上机调试使得运行后结果正确。

#include "stdafx.h"

#include

#include

using namespace std;

int main()

{

int i,j;

cout<<"*"<

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

{

cout<

}

cout<<"9";

cout<

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

{

cout<

cout<

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

cout<

cout<

cout<

}

return 0;

}

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

#include "stdafx.h"

#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、重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信息。商品的信息有编号、商品名和价格。

#include "stdafx.h"

#include

class Merchandise{

public:

Merchandise();

~Merchandise();

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

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

private:

int no;

char*name;

double price;

};

Merchandise::Merchandise()

{

name = new char [20];

}

Merchandise::~Merchandise()

{

delete []name;

}

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

{

cout<<"输入商品信息:"<

cout<<"输入商品编号:";

in>>s.no;

cout<<"输入商品名称:";

in>>;

cout<<"输入商品价格";

in>>s.price;

return in;

}

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

{

cout<<"输出商品信息:"<

cout<<"商品编号:";

out<

out<<;

cout<

out<

cout<

return out;

}

int main()

{

Merchandise mer;

cin>>mer;

cout<

return 0;

}

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

#include "stdafx.h"

#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)

{

cout<

file3.put(ch);

}

file3.close();

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

cout<<"\n 文件"<

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

cout<

cout<

file3.close();

file4.open(filename3,ios::in);

cout<<"文件"<

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

cout<

cout<

file1.close();

file2.close();

file4.close();

return 0;

}

实验总结:

C++中,要进行文件的输入输出,必须先创建一个流对象,然后将这个流对象与文件相关联,再才能进行读写操作,读写操作完成后再关闭文件。

对二进制文件的读写有两种方式,其一是使用get函数和put函数,另外一种是使用read和write。