Cout输出应用举例

打印 上一主题 下一主题

主题 1544|帖子 1544|积分 4632

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
                                   
Cout输出应用

         在main.cpp里输入程序如下:
         
#include <iostream>  //使能cin(),cout();

         
#include <stdlib.h>  //使能exit();

         
#include <sstream>

         
 

         
#include <iomanip>   //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags();

         
//setbase( char x )是设置输出数字的基数,如输出进制数则用setbase(8);如输出进制数则用setbase(10);如输出进制数则用setbase(16);

         
//setbase( char x )的参数x只能是,10和,其它参数无效,setbase对厥后的cout都有影响;

         
 

         
//当程序需要在屏幕上表现输出时,可以使用插入操纵符“<<”向cout输出流中插入字符;

         
//例如: cout<<"I love C++\n";

         
//当程序需要执行键盘输入时,可以使用抽取操纵符“>>”从cin输人流中抽取字符;

         
//例如: int myAge;   cin>>myAge;

         
//I/O流的常用控制符如下:

         
//dec  置基数为;

         
//hex  置基数为;

         
//oct  置基数为;

         
//left   左对齐

         
//right  右对齐

         
//setiosflags(ios::left)           左对齐,left位于ios文件中

         
//setiosflags(ios::right)          右对齐,right位于ios文件中

         
//setiosflags(ios::uppercase)      控制进制数大写输出

         
//resetiosflags(ios::uppercase)    控制进制数小写输出

         
 

         
//setfill(c)                       没填充字符为c,对厥后的cout都有影响;

         
//setw(n)                          设置值的输出宽度为n个字符,仅仅影响下一个数值输出;

         
 

         
//setiosflags(ios::showpos)        逼迫表现正负号,对于浮点数和十进制数,正数将表现+;

         
 

         
//setiosflags(ios::fixed)          固定以小数方式表现

         
//setiosflags(ios::showpoint)      若只有整数部分,则逼迫表现小数点;

         
//setprecision(n)                  设置浮点数小数点后有n位小数;

         
 

         
//setiosflags(ios::scientific)     指数表现;

         
 

         
 

         
//注意:在使用setiosflags()之后,肯定要使用resetiosflags(()恢复到默认设置;否则,会出现意想不到的错误;

         
//例如:在cout<<setiosflags(ios::fixed)被使用完后,要调用cout<<resetiosflags(ios::fixed)恢复到默认设置;

         
//注意:cout<<setiosflags(ios::lowercase);  //控制进制数小写输出,在Visual studio C++2005中,不支持该语句;

         
 

         
//在不使用#include<iomanip>时,cout.setf(ios::right); //设置为右对齐输出;

         
 

         
//浮点数默认表现位有效位;

         
using namespace std; //告诉编译器使用std标准程序库;

         
int main()

         
{

         
    cout<<"设置浮点数的有效位数\n";

         
    double float_value=220.0/7;

         
    cout<<setiosflags(ios::fixed);     //固定以小数方式表现

         
    cout<<setiosflags(ios::showpoint); //若只有整数部分,则逼迫表现小数点;

         
    cout<<"浮点数默认表现: "<<float_value<<endl;  //浮点数默认表现,小数点反面有位小数;

         
    cout<<"浮点数表现位小数: "<<setprecision(1)<<float_value<<endl;

         
    cout<<"浮点数不表现小数: "<<setprecision(0)<<float_value<<endl;

         
    cout<<"浮点数表现位小数: "<<setprecision(2)<<float_value<<endl;

         
    cout<<"浮点数表现位小数: "<<setprecision(3)<<float_value<<endl;

         
    cout<<"浮点数表现位小数"<<setprecision(8)<<float_value<<endl;

         
    cout<<resetiosflags(ios::fixed);     //不再固定以小数方式表现

         
    cout<<resetiosflags(ios::showpoint); //若只有整数部分,则逼迫表现小数点;

         
 

         
    cout<<"\n设置逼迫表现正负号\n";

         
    cout<<setiosflags(ios::showpos);   //逼迫表现正负号;

         
    cout<<setiosflags(ios::fixed);     //固定以小数方式表现

         
    cout<<setiosflags(ios::showpoint); //若只有整数部分,则逼迫表现小数点;

         
    cout<<"浮点数表现位小数"<<setprecision(8)<<float_value<<endl;

         
    cout<<resetiosflags(ios::fixed);     //不再固定以小数方式表现

         
    cout<<resetiosflags(ios::showpoint); //若只有整数部分,则逼迫表现小数点;

         
    cout<<resetiosflags(ios::showpos);  //不逼迫表现正负号;

         
    cout<<"设置不逼迫表现正负号\n\n";

         
 

         
    cout<<"浮点数用科学计数法表现: ";

         
    cout<<setiosflags(ios::scientific);

         
    cout<<float_value<<endl;

         
    cout<<resetiosflags(ios::scientific);     //不再用科学计数法表现;

         
 

         
    cout<<"\n设置用小数方式表现\n";

         
    double f1,f2,f3;

         
    f1=1;

         
    f2=12;

         
    f3=101.1234;

         
    cout<<setiosflags(ios::fixed);     //固定以小数方式表现

         
    cout<<setiosflags(ios::showpoint); //若只有整数部分,则逼迫表现小数点;

         
    cout<<setprecision(8);             //浮点数只有位有效值

         
    cout<<"f1= "<<f1<<endl;

         
    cout<<"f2= "<<f2<<endl;

         
    cout<<"f3= "<<f3<<endl;

         
    cout<<setprecision(1);             //浮点数只有位有效值

         
    cout<<"f3= "<<f3<<endl;

         
    cout<<resetiosflags(ios::fixed);     //不再固定以小数方式表现

         
    cout<<resetiosflags(ios::showpoint); //若只有整数部分,则逼迫表现小数点;

         
 

         
    cout<<"\n测试左右输出对齐\n";

         
    int i;

         
    //cout.setf(ios::right); //设置为右对齐输出;

         
    cout<<setiosflags(ios::right);  //设置为右对齐输出;

         
    //cout<<right;  //设置为左对齐输出;

         
    for(i=8;i<13;i++)

         
    {

         
       cout<<setw(5);        //设域宽为个字符;

         
        cout<<setfill('*');   //填充字符为*;

         
       cout<<i;

         
       if(i==12) cout<<endl;

         
    }

         
    cout<<resetiosflags(ios::right);  //恢复默认设置;

         
 

         
       //cout.setf(ios::left); //设置为左对齐输出;

         
    cout<<setiosflags(ios::left);  //设置为左对齐输出;

         
    //cout<<left;  //设置为左对齐输出;

         
    for(i=8;i<13;i++)

         
    {

         
       cout<<setw(5);

         
        cout<<setfill('*');

         
       cout<<i;

         
       if(i==12) cout<<endl;

         
    }

         
    cout<<setiosflags(ios::left);  //恢复默认设置,设置为左对齐输出;

         
    cout<<setw(0); //恢复默认设置

         
 

         
    cout<<"\n按照进制数表现:\n";

         
    for(i=8;i<13;i++)

         
    {  

         
       cout<<dec;   //设置为进制输出;

         
       cout<<"  "<<i;

         
    }

         
    cout<<"\n按照进制数表现:\n";

         
    for(i=8;i<13;i++)

         
    {

         
       cout<<hex;   //设置为进制输出;

         
       cout<<"  "<<i;

         
    }

         
    cout<<"\n按照进制数表现:\n";

         
    for(i=8;i<13;i++)

         
    {

         
       cout<<oct; //设置为进制输出;

         
       cout<<"  "<<i;

         
    }

         
 

         
    cout<<"\n控制进制数小写输出:\n";

         
    //cout<<setiosflags(ios::lowercase);  //在Visual studio C++2005中,不支持该语句;

         
    cout<<resetiosflags(ios::uppercase);  //恢复默认设置,16进制小写字母输出;

         
    for(i=8;i<13;i++)

         
    {

         
       cout<<hex<<"  "<<i;

         
    }

         
    cout<<"\n控制进制数大写输出:\n";

         
    cout<<setiosflags(ios::uppercase);  //控制进制数大写输出

         
    for(i=8;i<13;i++)

         
    {

         
       cout<<hex<<"  "<<i;

         
    }

         
    cout<<resetiosflags(ios::uppercase);  //恢复默认设置,16进制小写字母输出;

         
 

         
    cout<<"\nskipws忽略空缺输出:\n";

         
    istringstream cstr(" 1 2 3 4 5 6 7 8 9");

         
    char a;

         
    cstr>>skipws;  //跳过空格输入;

         
    for(i=0;i<9;i++)

         
    { cstr>>a;

         
      cout << a;

         
      if(a=='9') cout << endl;

         
    }

         
    system("pause");  //程序停息,按任意键继续执行;

         
    cout<<"\nskipws不忽略空缺输出:\n";

         
    cstr.seekg(0);           //seekg设置获取指针的位置为起始位置;

         
    cstr>>noskipws;  //不跳过空格输入;

         
    for(i=0;i<18;i++)

         
    { cstr>>a;

         
      cout << a;

         
      if(a=='9') cout << endl;

         
    }

         
    return(0); //退出函数;

         }
          
          
         //参考:http://www.cplusplus.com/reference/iostream/istringstream/
         
                           


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

飞不高

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表