?? ep9_3.cpp
字號:
/*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;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -