例74利用控制输入输出这程序建立了如下的表 include<iostream. h sart(x) x 2 15 includesmath.h> 1.4142 void maino 1.7321 i double x; 4 496 cout, precision (4) 2.2361 25 cout<” x sqrt(x)6 2.4495 36 for(x1.3203+)7 2.6458 49 t cout width (8); 8 2.8284 64 3 81 cout<<x<< 10 3.1623 100 cout width (8) 3.3166 121 cout<<sqrt(x)<<”‘;12 3.4641 144 cout width (8); 13 3.6056 169 cout<x*x<<?Ⅶn’; 14 3.7417 196 15 3.873 225 16 4 256 4.1231 289 18 4.2426 324 19 4.3598 361 20 4.4721 400
例7.4 利用控制输入输出格式的成员函数建立对齐的数字表 #include<iostream..h> #include<math.h> void main() { double x; cout,precision(4); cout<<” x sqrt(x) x^2\n\n”; for(x=1.0;x<=20.0;x++) { cout.width(8); cout<<x<<’ ‘; cout.width(8); cout<<sqrt(x)<<’ ‘; cout.width(8); cout<<x*x<<’\n’; } } 这程序建立了如下的表 x sqrt(x) x^2 1 1 1 2 1.4142 4 3 1.7321 9 4 2 16 5 2.2361 25 6 2.4495 36 7 2.6458 49 8 2.8284 64 9 3 81 10 3.1623 100 11 3.3166 121 12 3.4641 144 13 3.6056 169 14 3.7417 196 15 3.873 225 16 4 256 17 4.1231 289 18 4.2426 324 19 4.3598 361 20 4.4721 400 15
7.3.2使用操作符进行输入输出格式控制 16 C++提供了另一种进行JO格式控制的方法,这一方法使用了一种 称为操纵符(也称为操纵函数)的特殊函数。在很多情况下,使用 操纵符进行格式化控制比用ios格式标志和成员函数要方便。 1.C++预定义的操纵符 C+预定义的操纵符是以一个流引用作为其参数,并返回同一流 的引用,因此它可以嵌入到输入输出操作的链中。操纵符可用来 改变域宽,使整型数以八进制或十六进制形式输入或输出,并设 置填充字符等。许多操纵符的功能类似于上面介绍的ios类成员 函数的功能。C++提供的预定义操纵符如下: (1)dec以十进制形式输入或输出整型数,可用于输入或输出 (2)hex以十六进制形式输入或输出整型数,可用于输入或输出。 (3)oct以八进制形式输入或输出整型数,可用于输入或输出 (4)ws用于在输入时跳过开头的空白符,仅用于输入 (5)end插入一个换行符并刷新输出流,仅用于输出。 (6)ends插入一个空字符,通常用来结束一个字符串,仅用于输出。 7)iush刷新一个输出流,仅用于输出。 (8) setbase(intn)把转换基数设置为n(n的值为0,8,10,或16),n的缺 省值为”0”,即以十进制形式输出
7.3.2使用操作符进行输入输出格式控制 C++提供了另一种进行I/O格式控制的方法,这一方法使用了一种 称为操纵符(也称为操纵函数)的特殊函数。在很多情况下,使用 操纵符进行格式化控制比用ios格式标志和成员函数要方便。 1. C++预定义的操纵符 C++预定义的操纵符是以一个流引用作为其参数,并返回同一流 的引用,因此它可以嵌入到输入输出操作的链中。操纵符可用来 改变域宽,使整型数以八进制或十六进制形式输入或输出,并设 置填充字符等。许多操纵符的功能类似于上面介绍的ios类成员 函数的功能。C++提供的预定义操纵符如下: ( 1 ) dec 以十进制形式输入或输出整型数,可用于输入或输出。 ( 2 ) hex 以十六进制形式输入或输出整型数,可用于输入或输出。 ( 3 ) oct 以八进制形式输入或输出整型数,可用于输入或输出。 ( 4 ) ws 用于在输入时跳过开头的空白符,仅用于输入。 ( 5 ) endl 插入一个换行符并刷新输出流,仅用于输出。 ( 6 ) ends 插入一个空字符,通常用来结束一个字符串,仅用于输出。 ( 7 ) flush 刷新一个输出流,仅用于输出。 ( 8 ) setbase( int n )把转换基数设置为n(n的值为0,8,10,或16),n的缺 省值为”0”,即以十进制形式输出。 16
(9) resetiosflags( long f)关闭由参数f指定的格式标志,可用于 输入或输出 0) setiosflags(ongf)设置由参数f指定的格式标志,可用于 输入或输出。 (11) setfill((intc)c为填充字符,缺省时为空格,可用于输入 或输出。 12) setprecision(intn)设置数据小数部分的位数,缺省时小数的 位数为6,可用输入输出。 (13)setw(intn)设置域宽为n,可用于输入或输出
( 9 ) resetiosflags (long f ) 关闭由参数f 指定的格式标志,可用于 输入或输出。 ( 10 ) setiosflags (long f ) 设置由参数f 指定的格式标志,可用于 输入或输出。 ( 11 ) setfill (int c ) c 为填充字符,缺省时为空格,可用于输入 或输出。 ( 12 ) setprecision (int n )设置数据小数部分的位数,缺省时小数的 位数为6,可用输入输出。 ( 13 ) setw (int n) 设置域宽为n,可用于输入或输出。 17