本文实例讲述了C++对cin输入字符的判断及分段函数处理方法。分享给大家供大家参考,具体如下:

这两个本来也不是什么问题,然而真正遇到还是有地方可以研究的。首先是C++对于cin输入的判断,有时候你定义了一个整形,然后就是有些人就喜欢给你乱输个字符串进去,你必须处理一下,这里不像Java用抛出异常处理用户输入,也不像JavaScript用isNaN来判断,对此可参考前面的一篇《JavaScript对数字的判断与处理实例分析》。C++是用cin.fail()来判断。

至于分段函数的处理,比如要你完成如下的一个分段函数:

大多数人第一个想法,就是写一大堆if~else if~else来整,其实用?:问号冒号三目条件运算符,配合switch-case-break来搞,更加清晰哦。

上述的分段函数可以划分成如下的3个情况:

因此就得到如下的代码:

#include

using namespace std;

void main(){

int x,y;

cout<

cin>>x;

//处理乱输入!

while(cin.fail()){//如果cin出现了问题,那么cin调用fail()就会返回真,也就是说进入循环中

cin.clear();//复位标志,将流cin中的所有状态值都重设为有效状态

cout<

cin.ignore(10000,'\n');//清空上次输入,cin.ignore(10000,'\n');表示:如果输入流的前一百的字符内存在\n的话,那么在\n 前的字符全部忽略掉,\n之后的字符依然有效

cout<

cin>>x;//重新输入x

}

int flag=(x<0)?0:(x<3)?1:2;//x<0吗?是,则为情况0,否,判断x<3吗?是,则为情况1,否,为情况2。再有就在这个问号冒号三目条件运算符下累加下去

switch(flag){//是switch-case-break结构,不要记switch-case结构,这样常常会忘掉break的。

case 0:

y=x;

break;

case 1:

y=3*x;

break;

case 2:

y=2*x;

break;

}

cout<

}

运行结果如下:

这里,由于?:问号冒号三目条件运算符与switch-case-break几乎在各大编程语言都是存在的,因此,可以据此推广到部分出现多条件分支的场合。在出现多条件分支的场合,可以考虑上述写法。

希望本文所述对大家C++程序设计有所帮助。

分段函数返回字符c语言,C++对cin输入字符的判断及分段函数处理方法示例相关推荐

  1. c语言枚举如何当函数返回值,C语言学习五 — 数组与枚举

    数组 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比如 numbe ...

  2. java语言中实现键盘输入_Java程序设计中的键盘输入数据的方法分析

    1. 引言 高校中很多学校开设了Java语言程序设计课程,这是一门实践性很强的语言,在程序设计中经常需要从键盘随机输入所需要的数据,Java语言中的键盘输入数据没有像C语言给我们提供的scanf(), ...

  3. c语言子函数返回值,C语言函数说明与返回值

    在学习C语言函数以前,我们需要了解什么是模块化程序设计方法. 人们在求解一个复杂问题时,通常采用的是逐步分解.分而治之的方法,也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解.程序员在 ...

  4. ostream作为函数返回值_GO语言基础函数

    GO语言基础–函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数 ...

  5. C语言 const 修饰函数返回值 - C语言零基础入门教程

    目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 二.const 修饰在函数名前面 三.const 修饰在函数名后面 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : ...

  6. 在c语言中怎么返回引用参数,C语言函数 函数的声明 C语言的头文件 #include的用法 形参和实参 函数的返回值 - 猫扑天空...

    C语言函数 一.是什么? 是指编程中对一块功能代码的封装,可以理解一个程序片段 二.有什么用? 可以封装代码,方便调用,提高复用性 三.怎么用? 定义:  返回值类型  函数名(形参类型 参数名1-. ...

  7. void*作为函数返回类型(C语言)

    返回void*的情况 void*作为函数的返回类型的情况 导入 void*介绍 代码示例 结论 void*作为函数的返回类型的情况 导入  C语言中有一种返回值类型比较特殊,就是void*,void作 ...

  8. c语言中自定义函数返回数组,C语言自定义函数返回数组的方法(图文详解)

    C语言自定义函数返回数组的方法(图文详解) 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数中,写成char *类型返回值,直接返回呢?,代码如下: 直接返回str ...

  9. ostream作为函数返回值_Go语言入门必知教程-函数

    函数是为了执行特定任务而存在于程序内的一组语句,函数接受输入并返回输出. 函数允许将常用的代码块提取出来成为单个组件. 使用最广的Go函数是main(),每个独立的Go程序都必须有个main函数. 创 ...

最新文章

  1. k8s使用kube-router网络插件并监控流量状态
  2. DuiLib的Combo控件点击无响应的问题
  3. 解决内存不可read和written的问题
  4. 电脑中的php怎么删除文件夹,php中删除文件夹以及文件夹中的文件的方法
  5. .net中从GridView中导出数据到excel(详细)
  6. boost::serialization模块指针反序列化的安全异常处理示例
  7. 打开高效文本编辑之门_Linux sed之多行命令与循环命令
  8. [CentOS] CentOS 6 IPv6 关闭方法
  9. VC++ SetLayeredWindowAttributes 部分窗口透明鼠标穿透
  10. 典型相关分析(cca)原理_微生物多样研究—关联分析及系统发生进化关系
  11. JavaScript笔记 Object对象
  12. 利用 Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。 如果该年没有举办世界杯,则输出:没有举办世界杯。
  13. 首页-文章列表 (三) -列表文章布局-Cell 单元格组件-一张图和三张图 van-ellipsis 内容超过一行会省略 w33-宽度33%剩余1%做了图片之间间隙.md
  14. 网站建设制作需要多少钱呢?费用是多少?
  15. poi读取doc文档
  16. 数据中心太耗电,送你一个节能神器
  17. 论文阅读笔记 1.《Open Flow: Enabling Innovation in Campus Networks》(2022.12.22)
  18. Day7 字符串详解——python学习之路
  19. openjudge 1.7.11 潜伏者
  20. 古希腊悲剧《美狄亚》(2)

热门文章

  1. 百度搜索引擎优化指南_百度SEO优化和其他搜索引擎优化用什么不同的地方
  2. php ajax传值中文乱码问题,PHP Ajax JSON中文乱码各种问题解决办法
  3. Java 虚拟机学习笔记 | 运行时数据区总结
  4. Java Swing Mysql学生选课系统
  5. 基于JAVA+SpringBoot+Mybatis+MYSQL的仓库信息管理系统
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的药方中医管理系统
  7. 2010-09-11
  8. Unity的IOS接入新浪微博
  9. ifttt.com:让你的网络行为能引发连锁反应
  10. 类的使用经典案例使用类的成员函数显示时间、找出元素的最大值【C++面向对象编程】