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。