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.mzph.cn/web/56676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 应用开发:从入门到实战

Spring Boot 是一种基于 Spring 框架的开源项目&#xff0c;旨在简化基于 Spring 的开发过程。它通过自动化配置、内嵌服务器以及高效的开发工具&#xff0c;使得开发人员可以更加轻松地构建企业级应用程序。本篇文章将深入探讨 Spring Boot 的核心概念、开发过程以及实际的代码…

Flutter TextField和Button组件开发登录页面案例

In this section, we’ll go through building a basic login screen using the Button and TextField widgets. We’ll follow a step-bystep approach, allowing you to code along and understand each part of the process. Let’s get started! 在本节中&#xff0c;我们…

基于SSM+小程序的垃圾分类管理系统(垃圾2)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM小程序的垃圾分类管理系统实现了管理员及用户。 1、管理员功能结构图&#xff0c;管理员功能有个人中心&#xff0c;管理员管理&#xff0c;基础数据管理、论坛管理、垃圾信息管理…

【web安全】缓慢的HTTP拒绝服务攻击详解

文章目录 前言一、攻击原理二、攻击类型三、攻击特点四、HTTP慢速攻击实战工具简介使用参数介绍五、修复建议前言 缓慢的HTTP拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量http request攻击,直到服务器带宽被打满,造成…

【数据结构】概念篇

专栏说明&#xff1a;本专栏用于数据结构复习&#xff0c;文章中出现的代码由C语言实现&#xff0c;在专栏中会涉及到部分OJ题目&#xff0c;如对你学习有所帮助&#xff0c;可以点赞鼓励一下博主喔&#x1f493; 博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;数…

Go语言生成UUID的利器:github.com/google/uuid

在软件开发中&#xff0c;唯一标识符&#xff08;UUID&#xff09;是一种非常有用的工具&#xff0c;它可以帮助我们唯一地标识系统中的每一个元素。Go语言作为一种静态类型的编译型语言&#xff0c;提供了强大的并发和网络编程能力&#xff0c;但标准库中并没有直接提供UUID的…

python实战(一)——iris鸢尾花数据集分类

一、任务背景 本文是python实战系列专栏的第一篇文章&#xff0c;我们将从分类开始由浅入深逐步学习如何使用python完成常规的机器学习/深度学习任务。iris数据集是经典的机器学习入门数据集&#xff0c;许多分类任务教程都会以这个数据集作为示例&#xff0c;它的数据量是150条…

《西安科技大学学报》

《西安科技大学学报》主要刊载安全科学与工程、矿业工程、建筑与土木工程、地质与环境工程、测绘工程、材料科学与工程、化学与化工、机械工程、电气工程及自动化、通信与信息工程、计算机科学与工程、矿业经济管理等专业领域内具有创新性的学术论文和科研成果。 来稿必须符合以…

用STM32硬件思维学JAVA--23种设计模式

系列文章目录 1.【软考之软件设计师】PPT课件 2.【软考之软件设计师】学习笔记 3.【软考之软件设计师】上午题—信管网(每天更新) 4.【软考之软件设计师】上午题—希赛网(每天更新) 5.【软件设计师真题】下午题第一大题—数据流图设计 6.【软件设计师真题】下午题第二大题…

[教程][Ubuntu][Qt]将Qt程序打包成deb文件,发布、安装及使用

文章目录 在Ubuntu上用qt软件编写的程序完成后,如果需要在另一台纯净的Linux系统上运行,则可以通过打包成deb文件的形式进行移植,经测试可用。 一、前言 如果你是一名Qt开发者,并希望将你的应用程序打包成能在Ubuntu等基于Debian的Linux发行版上无缝分发和使用的包,那么理…

Web服务器之Nginx

Nginx&#xff08;发音为Engine X&#xff09;是一款开源的高性能HTTP和反向代理服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。由伊戈尔赛索耶夫&#xff08;Igor Sysoev&#xff09;为俄罗斯访问量第二的Rambler.ru站点开发&#xff0c;Nginx自发布以来&#xff0c;凭借…

前端浏览器知识总结

#1024程序员节 | 征文# 总结一些前端领域浏览器常用知识&#xff0c;浏览器跨域、缓存、渲染、存储、协议等。 目录 一、同源策略 1.定义 2.原理 3.作用 二、跨域问题 1.产生原因 2.解决方案 1&#xff09;JSONP 2&#xff09;CORS &#xff08;1&#xff09;定义 …

Django 序列化serializers

在Django中&#xff0c;序列化通常指的是将数据库中的模型数据转换为JSON、XML或其他格式的过程。Django提供了内置的序列化工具&#xff0c;可以通过django.core.serializers模块进行序列化操作。 当你使用Django的序列化功能时&#xff0c;可以序列化以下两种对象类型&#…

nginx负载均衡机制实现用户无感更新服务

项目用户数量比较多时&#xff0c;项目发布时用户不能访问&#xff0c;对用户来说体验很不好&#xff0c;对企业来说来说也是一种损失&#xff0c;如何无感知平滑稳定的升级&#xff0c;下面开始介绍。 当前文章用的方法是&#xff0c;后端服务器配置多个节点&#xff1a;在 N…

C++20中头文件syncstream的使用

<syncstream>是C20中新增加的头文件&#xff0c;提供了对同步输出流的支持&#xff0c;即在多个线程中可安全地进行输出操作&#xff0c;此头文件是Input/Output库的一部分。包括&#xff1a; 1.std::basic_syncbuf&#xff1a;是std::basic_streambuf的包装器(wrapper)&…

深度学习实战项目】基于OPenCV的人脸识别考勤系统软件开发【python源码+UI界面+功能源码详解】

背景及意义 人脸识别&#xff08;Face Recognition&#xff09;是基于人的脸部特征信息进行身份识别的一种生物识别技术&#xff0c;可以用来确认用户身份。本文详细介绍了人脸识别基本的实现原理&#xff0c;并且基于python与pyqt开发了人脸识别与信息管理软件&#xff0c;主要…

R语言机器学习教程大纲

文章目录 介绍机器学习算法监督学习Supervised Learning分类Classification回归Regression 无监督学习 Unsupervised Learning聚类 Clustering降纬 Dimensionality Reduction相关Association 强化学习Reinforcement Learning模型自由 Model-Free Methods模型驱动 Model-Based M…

猎板高频PCB技术深度解析与设计实践指南

高频PCB&#xff08;印刷电路板&#xff09;设计是电子工程领域的一项关键技术&#xff0c;特别是在通信、雷达、卫星导航等高速数据传输和信号处理应用中。本文档旨在提供一份聚焦的高频PCB技术资料&#xff0c;涵盖设计原则、材料选择、布线策略、接地与屏蔽、阻抗控制以及制…

【随便聊聊】MySQL数据类型详解:从基础到高级应用

MySQL数据类型详解&#xff1a;从基础到高级应用 在数据库设计和管理中&#xff0c;选择合适的数据类型对于数据的存储效率、查询性能以及数据完整性都至关重要。MySQL作为广泛使用的数据库管理系统&#xff0c;提供了多种数据类型以满足不同的需求。本文将详细解析MySQL中的各…