c++输入输出流实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四输入输出流
实验课程名:面向对象程序设计(C++)
专业班级:学号:姓名:
实验时间:实验地点:指导教师:
代码分析:
1)在输入时调用getline()以换行符作为输入姓名时的结束标志,已达到输入空格的目的
2)输出时采用resetiosflags(ios::right)实现结束向左对齐,用setw(8)实现输出域宽为8,使用一系列的格式控制字符来实现输出格式的控制。
2. 重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信息。商品的信息由编号、商品名和价格。假如商品类Merchandise的框架如下:class merchandise{
public:
Merchandiss();
~Merchandiss();
friend istream& operator>>(istream& in,Merchandiss& s);
friend ostream&operator<<(ostream& out,Merchandiss& s);
private:
int no;
char *name;
double price;
};
要求实现该类,并编写以下的main函数对该类进行操作。
int main()
{ Merchandise mer;
cin>>mer;
cout< return 0; } 实验代码: #include using namespace std; class merchandise{ out< return out; } int main() { merchandise mer; cin>>mer; cout< return 0; } 实验结果: 实验分析: 先定义一个商品的类,构造函数定义为无参函数在函数体中将name置为空,其他为0.在重载>>时使用getline函数,输入name以’\n’作为结束标记重载<<时直接输出。在主函数中调用这些函数实现输入输出的功能。 3.将一个源文件复制为两个不同名目的文件,源文件与目的文件均用构造函数打开,使用成员函数get与put复制第一个目的文件,使用getline与插入运算符复制第二个目的文件。(提示:用get函数将输入文件流对象的指针指向文件尾后,无法将该指针移到文件首位置。所以只能定义两个输入文件流对象打开同一源文件,用于两种方式的文件 copyfile_c(); cout<<"a文?件t中D的Ì?内¨²容¨Y为a:êo"; display("a.txt"); cout<<"b文?件t中D的Ì?内¨²容¨Y为a:êo"; display("b.txt"); cout<<"c文?件t中D的Ì?内¨²容¨Y为a:êo"; display("c.txt"); return 0; } 实验结果: 定义几个函数分别实现:创建文件、复制文件、读取文件中的内容到显示器在主函数中调用创建函数,创建一个文件a,调用复制文件的函数将a中的 实验分析: 定义三个函数分别实现:创建文件,排序,输出文件。排序采用冒泡排序将平均成绩排序,若前面的大于后面的,将各个对应项交换,达到排序的目的。在主函数中调用这三个函数,实现程序的功能 5. 编写一个程序,将两个文本文件连接成一个文件,然后将此文件中所有小写字母转换成大写字母,并打印出来。 实验代码: #include #include #include using namespace std; void createfile(char *filename) { ofstream outfile(filename); if(!outfile) { cerr<<"open file error!"< exit(1); } char str[80]; cin.getline(str,80); int i=0; infile.close(); //关?闭À?文?件t流¢¡Â outfile.close(); cout< } int main() { cout<<"请?输º?入¨?a文?件t中D的Ì?数ºy据Y:êo"; createfile("a.txt"); cout<<"请?输º?入¨?b文?件t中D的Ì?数ºy据Y"; createfile("b.txt"); system("copy a.txt+b.txt c.txt"); change(); copyfile(); return 0; } 实验结果: int c = 0; for(i=201;i<=400;i++) { if(judge(i))//若i是素数,则将i存入文件中 { outfile< c++; if(c%5==0) { cout< outfile< } } } cout< outfile.close(); } int main() { createfile(); return 0; } 实验结果: