实验六C++的流类库与输入输出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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) {