C/C++ Y/N 重复输入功能实现

简介: Y/N :最好使用char数组进行实现  ,不要用cin.get() getchar()或者scanf一切关于字符的函数实现 C++使用cin.getline() 不包含换行符 C使用fgets() 包含换行符   1 /********************...
Y/N :最好使用char数组进行实现  ,不要用cin.get() getchar()或者scanf一切关于字符的函数实现
C++使用cin.getline() 不包含换行符
C使用fgets() 包含 换行符

  1 /*************************************************************************
  2     > File Name: YN.cpp
  3     > Author: gaopeng
  4     > Mail: gaopp_200217@163.com 
  5     > Created Time: Thu 05 May 2016 01:58:08 PM CST
  6  ************************************************************************/
  7 
  8 #include<iostream>
  9 #include<string.h>
 10 using namespace std;
 11 
 12 int main(void)
 13 {
 14     char ch[20];
 15     //cin >> ch;
 16     cin.getline(ch,20);
 17     int cot=0;
 18 //  cout<< strlen(ch) << endl;
 19     while (1)
 20     {
 21     cot++;
 22 //  cout<< strlen(ch) << endl;
 23     if (!strcmp(ch,"Y") || !strcmp(ch,"y" ) )
 24     {
 25         cout<<"true"<<endl;
 26         break;
 27     }
 28     else if(!strcmp(ch,"N") || !strcmp(ch,"n" ))
 29     {
 30         cout<<"flase"<<endl;
 31         break;
 32     }
 33     else if(cot >10)
 34     {
 35         cout<<"max is rech"<<endl;
 36         break;
 37     }
 38     else
 39     {
 40         cout<<"unkown"<<endl;
 41         cin.getline(ch,20);
 42         continue;
 43     }
 44     }
 45     return 0;
 46 }    
<endl;
<endl;
<endl;
<endl;
<endl;
<endl;

C:
  8 #include
  9 #include
 10 
 11 int main(void)
 12 {
 13     char ch[20];
 14     fgets(ch,20,stdin);
 15     ch[strlen(ch)-1]='\0';
 16     printf("%ld\n",strlen(ch));
 17     while (1)
 18     {
 19     if (!strcmp(ch,"Y") || !strcmp(ch,"y" ) )
 20     {
 21         printf("%s\n","true");
 22         break;
 23     }
 24     else if(!strcmp(ch,"N") || !strcmp(ch,"n" ))
 25     {
 26         printf("%s\n","flase");
 27         break;
 28 
 29     }
 30     else
 31     {
 32         printf("%s\n","unkown");
 33         fgets(ch,20,stdin);
 34         ch[strlen(ch)-1]='\0';
 35         continue;
 36     }
 37     }
 38     return 0;
 39 }
~                  
                      


</endl;
</endl;
</endl;
</endl;
</endl;
</endl;
相关文章
|
7月前
|
设计模式 uml C++
C++中的装饰器模式:灵活地扩展功能
C++中的装饰器模式:灵活地扩展功能
102 0
|
7月前
|
编译器 C++
【C++】—— c++11新的类功能
【C++】—— c++11新的类功能
|
7月前
|
编译器 程序员 Linux
C++系列九:预处理功能
C++系列九:预处理功能
|
7月前
|
数据采集 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Force IP强制修改网口IP功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Force IP强制修改网口IP功能(C++)
64 0
|
7月前
|
算法 C语言 C++
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(一)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
2611 1
|
7月前
|
缓存 算法 安全
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(三)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
351 1
|
9天前
|
算法 网络协议 数据挖掘
C++是一种功能强大的编程语言,
C++是一种功能强大的编程语言,
39 14
|
2月前
|
存储 C++ UED
【实战指南】4步实现C++插件化编程,轻松实现功能定制与扩展
本文介绍了如何通过四步实现C++插件化编程,实现功能定制与扩展。主要内容包括引言、概述、需求分析、设计方案、详细设计、验证和总结。通过动态加载功能模块,实现软件的高度灵活性和可扩展性,支持快速定制和市场变化响应。具体步骤涉及配置文件构建、模块编译、动态库入口实现和主程序加载。验证部分展示了模块加载成功的日志和配置信息。总结中强调了插件化编程的优势及其在多个方面的应用。
336 68
|
7月前
|
安全 调度 C++
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(二)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
795 0
|
3月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
286 0