




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系数据输出机制数据输出机制C+面向对象程序设计蚌埠学院计算机系数据输入机制数据输入机制C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象
2、程序设计蚌埠学院计算机系 组成标准组成标准 I/O 流库的类:流库的类:ios、istream、ostream、iostreambuf 实现文件操作的类:实现文件操作的类:fstreambase、ifstream、ofstream、fstream、filebufC+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系#include void main() int i = 8; float j = 5.5; double k = 78.
3、9; char * s = Hello; couti = i, j = jendl; coutk= k, s = s , World!endl; 程序运行结果:i = 8 , j = 5.5k = 78.9 , s = Hello , World!C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系#includevoid main() int m; float n; char s10; coutmn; couts; cout m= m, n = nendl; cou
4、tssendl;程序运行结果:程序运行结果:请依次输入一个整数和一个单精度数:请依次输入一个整数和一个单精度数:4 8.6请依次输入一个字符串:请依次输入一个字符串:abcddem= 4 , n=8.6s = abcddeC+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系#include void main() char ch; while( (ch = ci
5、n.get()!=/n ) cout.put(ch);运行结果:welcome you!welcome you!程序说明:当输入字符串程序说明:当输入字符串“welcome you”后按回车键结束,然后输出结果。后按回车键结束,然后输出结果。 C+面向对象程序设计蚌埠学院计算机系#include void main() char a80,b80 ,c80 ,d20; cout请键入一个字符:; coutcin.get()endl; /用无参数的get()函数接收一个字符 cin.get(); cout请输入一行字符串:; for(int i=0; i80; i+) /与for循环结合在一起实现
6、字符串的输入 ai = cin.get(); if( ai = /n ) ai = 0; break; C+面向对象程序设计蚌埠学院计算机系coutaendl;cout请输入一行字符串:;cin.get(b,80) ;/有三个参数的get()函数,当遇到行结束字符(缺省值为/n)/或输入80个字符就结束coutbendl;cin.get();cout请输入一行字符串:;cin.getline(c,80); /用getline()函数接收字符串coutcendl;cout请输入一行字符串:;cin.read(d,10); /输入包含10个字符的字符串cout.write(d,7); /输出字符串
7、中前5个字符coutendl;C+面向对象程序设计蚌埠学院计算机系程序运行结果:请输入一个字符:a97请输入一行字符串:Hello world!Hello world!请输入一行字符串:Thanck you!Thanck you!请输入一行字符串:C+ programC+ program请输入一行字符串:Welcome youWelcomeC+面向对象程序设计蚌埠学院计算机系#include void main() char a20; char ch; cout请输入一个字符串:; cin.ignore( 5); /跳过输入流中的5个字符 cin.getline(a,20); coutaend
8、l; cout请输入一个字符:; ch = cin.get(); coutchendl; cin.putback(ch); /最后一次用函数get() 从输入流提取的字符放回到输入流中 coutchendl; cin.get(ch); coutchendl; 程序运行结果:请输入一行字符串:Hello world! world!请输入一个字符:aaaaC+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系表11.1 格式状态标志C+面向对象程序设计蚌埠学院计算机系表11.2 定义于头文件 iostream.h中的格式化函数C+面向对象程序设
9、计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系#include #include void main() int a=28; double b=3.4567; couta=aendl; coutb=bendl; couta=hexaendl; coutb=setprecision(3)bendl; couta=setiosflags(ios:showbase)hexaendl; coutb=resetiosflags(ios:scientific)bendl;程序运行结果:a=28b=3.4567a=1cb=3.46a=0 x1cb=3.46C+面向对象程序设计蚌埠学院计算机系#inc
10、lude#includeostream & fprint(ostream & stream) stream.setf(ios:left); streamsetw(10)setfill(*); return stream;void main() cout28 fprint28;程序运行结果:28 28*程序说明:在用一个或多个语句输出多个变量值时,每次都需要用程序说明:在用一个或多个语句输出多个变量值时,每次都需要用控制符控制符setw设置合适的字宽,因为设置合适的字宽,因为setw无长效性。每当输出一个无长效性。每当输出一个值后,字宽即变为值后,字宽即变为0。C+面向对象程序设计蚌埠学院计算机
11、系#include #include void main() const double pi=3.14159; double r=5,c,s; c = 2.0 * pi * r; s = pi * r * r; cout圆的周长(小数)为:setiosflags(ios:fixed)cendl; /使用定点形式表示浮点数,第一个输出语句 cout圆的面积(小数)为:setiosflags(ios:fixed)sendl; cout圆的周长(指数)为:setiosflags(ios:scientific)cendl; cout圆的面积(指数)为: setiosflags(ios:scientif
12、ic)sendl; coutsetiosflags(ios:fixed); /固定浮点显示 cout圆的周长(小数)为:cendl; cout圆的面积(小数)为:sendl; coutresetiosflags(ios:fixed); /清除格式化标志 coutsetiosflags(ios:scientific); /指数表示 cout圆的周长(指数)为:cendl; cout圆的面积(指数)为:sendl;C+面向对象程序设计蚌埠学院计算机系程序运行结果:程序运行结果:圆的周长(小数)为:圆的周长(小数)为:31.415900圆的面积(小数)为:圆的面积(小数)为:78.539750圆的周
13、长(指数)为:圆的周长(指数)为:31.4159圆的面积(指数)为:圆的面积(指数)为:78.5397圆的周长(小数)为:圆的周长(小数)为:31.4159圆的面积(小数)为:圆的面积(小数)为:78.5397圆的周长(指数)为:圆的周长(指数)为:3.141590e+001圆的面积(指数)为:圆的面积(指数)为:7.853975 e+001程序说明:程序说明:在第一个在第一个coutcout语句中将语句中将c c的输出格式规定为的输出格式规定为setiosflags(ios:fixedsetiosflags(ios:fixed) ),使,使c c在显示时以固定的形式显示浮点数。在显示时以固定
14、的形式显示浮点数。因此在第三个与第四个输出语句中显示结果仍然为默认的显示样式。因此在第三个与第四个输出语句中显示结果仍然为默认的显示样式。若在第二个若在第二个coutcout之后加上语句之后加上语句 coutresetiosflags(ios:fixedcoutresetiosflags(ios:fixed); ); 用于清除以固定形式标志,则第三个与第四个输出语句显示的结果与用于清除以固定形式标志,则第三个与第四个输出语句显示的结果与第七条和第八条输出语句的结果相同。第七条和第八条输出语句的结果相同。C+面向对象程序设计蚌埠学院计算机系#include void main() cout.wi
15、dth(6); /只对随后一个数的输出域宽起作用 cout1233.145endl; coutsetw(6)123setw(8)3.145endl; cout.width(6); cout.precision(3); cout123setw(8)3.145endl; coutsetw(6)123setw(8)setprecision(2)3.145endl; /setprecision(2)设置浮点数的有效数字 cout.setf(ios:fixed, ios:floatfield); /今后以定点格式显示浮点数(无指数部分) cout.width(6); cout.precision(3);
16、 /当格式为ios:fixed时,设置小数点后的位数为3 cout123setw(8)3.145endl; 程序运行结果:1233.145123 3.145123 3.15123 3.1123 3.145C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系#include #include void main() for(int n=1; n5; n+) coutsetfill( )setw(n) setfill(*)setw(9-2*n)*endl; 程序运行结果:* * * *如果只写:coutsetfill(*)setw(9-2*n
17、)*endl;程序运行结果:*C+面向对象程序设计蚌埠学院计算机系#include #include #include void main() int n; double b = sqrt(3.0); coutn; coutn十六进制为:hexnendldecn八进制为:octnendln十进制为:nendl; coutsetiosflags(ios:fixed)Precision set by precision member function:endl;for(int i=0; i5; i+) cout.precision(i); coutbendl; coutPrecision set
18、by the setprecision manipulator:endl; for(i=0; i5; i+) coutsetprecision(i)bendl; 请输入一个整数:2020十六进制为:1420八进制为:2424十进制为:24Precision set by precision member function:21.71.731.7321.7321Precision set by the setprecision manipulator:21.71.731.7321.7321C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系
19、C+面向对象程序设计蚌埠学院计算机系图7.4 I/O类的继承关系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系表表11.5文件的打开方式文件的打开方式C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系#include iostream.h#include fstream.h#include iomanip.hvoid main()ofstream outfile;ifs
20、tream infile;int x; /用来存放读入的数据outfile.open(test.txt);if(!outfile) /判断文件是否成功打开cout文件打开失败!endl;return;cout请输入已列数字,以9999结束,如:123 34 9999x;while(x!=9999)outfilexx;cout数字已经写入文件!n;outfile.close();infile.open(test.txt);/存放整数的文件if(!infile) /判断文件是否成功打开cout打不开输入文件 test.txt x )coutsetw(8)x;coutn读入文件结束!endl;inf
21、ile.close(); /关闭文件程序运行结果:请输入已列数字,以9999结束,如:123 34 999956 345 123 666 268 9999数字已经写入文件! 56 345 123 666 268读入文件结束!C+面向对象程序设计蚌埠学院计算机系C+面向对象程序设计蚌埠学院计算机系#include iostream.h#include fstream.hvoid main()char filename255;coutfilename;ifstream infile(filename);if(!infile)cout源文件打开失败!endl;return;C+面向对象程序设计蚌埠学院计算机系coutfilename;ofstream outfile(filename);if(!outfile)cout打不开目标文件打不开目标文件endl;return; char c;while(!infile.eof() /判断是否到文件尾判断是否到文件尾c=infile.get(); /读入一个字符并赋给读入一个字符并赋给coutfile.put(c); /写入一个字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论