当前位置: 首页 > article >正文

Cout输出应用举例

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/


http://www.kler.cn/news/365480.html

相关文章:

  • Qt容器类
  • MySQL 初阶——多版本控制 MVCC
  • 函数的力量:掌握C语言的基石
  • 【等保测评】安全物理环境
  • 一文详解视频参数——FFmpeg -i选项下的视频参数解析
  • k8s-service详解
  • Python 模块导入方式详解:从基础到进阶【超清晰大白话版!!】
  • 青少年编程与数学 02-002 Sql Server 数据库应用 09课题、规则、约束和默认值
  • 【Unity】【游戏开发】【VR开发】如何让按钮在被Ray选中时发声?
  • docker网络-network(下集)自定义网络模式
  • QT + MSVC + spdlog乱码
  • 使用 pydub 的 AudioSegment 获取音频时长 - python 实现
  • Docker搭建DVWA靶场以及刷题记录
  • Spring Boot框架下中小企业设备管理系统开发
  • 关于在vue2中实现el-table的表头合并
  • 无人机之低空管控技术
  • 论文阅读-Causality Guided Disentanglement for Cross-PlatformHate Speech Detection
  • ctfshow-web入门-web172
  • WPF中StaticResource和DynamicResource
  • Spring Cloud --- Sentinel 流控规则
  • 2024年项目管理新风向:敏捷开发与瀑布开发,哪个更优?
  • [项目][boost搜索引擎#3] Searcher模块 | 单例设计 | 去重 | 构建json
  • 新手直播方案
  • Linux-Centos操作系统备份及还原(整机镜像制作与还原)--再生龙
  • 《深度学习》Dlib库 CNN卷积神经网络 人脸识别
  • 线性代数学习