ep9_3.cpp
上传用户:wxcui2006
上传日期:2022-07-12
资源大小:1274k
文件大小:2k
- /*9.3 编程实现以下数据输入输出:
- a) 以左对齐方式输出整数,域宽为12;
- b) 以八进制、十进制、十六进制输入输出整数;
- c) 实现浮点数的指数格式和定点格式的输入输出,并指定精度;
- d) 把字符串读入字符型数组变量中,从键盘输入,要求输入串的空格也全部读入,以回车换行符结束;
- e) 以上要求用流成员函数和流操作子各做一遍。
- */
- #include<iostream>
- #include<iomanip>
- using namespace std;
- int main(void){
- int inum1=255,inum2=8191,inum3=65535;
- double fnum=31.415926535,fnum1;
- char str[255];
- cout<<"以左对齐方式输出整数,域宽为12:"<<endl;
- cout.flags(ios::left);
- cout.width(12);cout<<inum1;
- cout.width(12);cout<<inum2;
- cout.width(12);cout<<inum3<<endl;
- cout.flags(ios::left|ios::oct|ios::showbase);//或(cout.flags()|ios::oct|ios::showbase)
- cout.width(12);cout<<inum1;
- cout.width(12);cout<<inum2;
- cout.width(12);cout<<inum3<<endl;
- cout.setf(ios::hex,ios::hex|ios::oct);//或cout.setf(ios::hex);cout.unsetf(ios::oct);
- //特别注意第二个参数要包含第一个参数,否则两个参数位置上的位全清零,结果错
- cout.width(12);cout<<inum1;
- cout.width(12);cout<<inum2;
- cout.width(12);cout<<inum3<<endl;
-
- cout.precision(10); //精度为10位,小数点后10位
- cout.setf(ios::scientific,ios::floatfield);//floatfield为0x1800
- cout<<"科学数表达方式:"<<fnum<<'n';
- cout.setf(ios::fixed,ios::floatfield); //设为定点,取消科学数方式
- cout<<"定点表达方式:"<<fnum<<'n';
- cout<<"请输入PI:"<<endl;
- cin.precision(4);
- cin>>fnum1;//输入3.1415926535
- cout<<fnum1<<'n';//由输出看输入精度无作用
- cin.get();//吸收回车
- cout<<"请输入一个字符串:"<<endl;
- cin.getline(str,255);
- cout<<str<<endl;
-
- cout.flags(0);
- cout<<"以左对齐方式输出整数,域宽为12:"<<endl;
- cout<<left<<dec<<setw(12)<<inum1;
- cout<<setw(12)<<inum2;
- cout<<setw(12)<<inum3<<endl;
- cout<<showbase<<oct<<setw(12)<<inum1;
- cout<<setw(12)<<inum2;
- cout<<setw(12)<<inum3<<endl;
- cout<<hex<<setw(12)<<inum1;
- cout<<setw(12)<<inum2;
- cout<<setw(12)<<inum3<<endl;
- cout<<setprecision(10)<<scientific<<"科学数表达方式:"<<fnum<<'n';
- cout<<fixed<<"定点表达方式:"<<fnum<<'n';//精度6位,而不是小数点后
- return 0;
- }