c++-怎么让cin把句号当成输入结束,就像空格和回车的作用一样?

问题描述

怎么让cin把句号当成输入结束,就像空格和回车的作用一样?

怎么让cin把句号当成输入结束,就像空格和回车的作用一样?
如:
输入时是 12.14.12

解决方案

 // ConsoleApplication2.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include <string>
#include <iostream>
#include <list>
using namespace std;

list<string> split(string str, string separator)
{
    list<string> result;
    int cutAt;
    while ((cutAt = str.find_first_of(separator)) != str.npos)
    {
        if (cutAt > 0)
        {
            result.push_back(str.substr(0, cutAt));
        }
        str = str.substr(cutAt + 1);
    }
    if (str.length() > 0)
    {
        result.push_back(str);
    }
    return result;
}

int main()
{
    string s;
    cin >> s;
    list<string> result = split(s, ".");
    for (list<string>::iterator i = result.begin(); i != result.end(); i++)
    {
        cout << (string)*i << endl;
    }
    return 0;
}

12.3.45.678.9
12
3
45
678
9
Press any key to continue . . .

解决方案二:

如果是控制台程序,实现起来比较麻烦,且无意义。

解决方案三:

cin好像没有格式化输入什么的,也不知道有什么方法可以知己定义分隔符,不过你可以用循环cin一个int型的数然后cin.get()把后面那个"."给清除,然后继续cin...

时间: 2024-11-03 11:03:13

c++-怎么让cin把句号当成输入结束,就像空格和回车的作用一样?的相关文章

c++统计用户输入的字符串的空格字符,英文字符,数字个数,其他字符个数以及用户输入字符串的长度

问题描述 c++统计用户输入的字符串的空格字符,英文字符,数字个数,其他字符个数以及用户输入字符串的长度 我在统计中文的时候出现了问题,请各位大神指教一下 #include #include using namespace std; int main() { string str; cout << "请输入一个字符串,以换行为结束!n"; getline(cin, str); size_t count = 0; size_t spaceNum=0; size_t lette

c++-编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串。

问题描述 编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串. 编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串.例如,输入"jiangsu123"和删除位置5,则输出"jiansu123". 解决方案 #include <iostream> #include <string> using namespace std; int main() { char s1[100];

num-计算若干个浮点数的平均值,以‘Y’作为输入结束

问题描述 计算若干个浮点数的平均值,以'Y'作为输入结束 include int main(void){ float numsum=0avg; int count=0; while(1) { scanf(""%f""&num); if(num==Y)break; count++; sum=sum+num; } if(count!=0) avg=sum/count; printf(""平均值为:%f"",avg): re

在浏览器中输入Google.com并且按下回车之后发生了什么?(转)

  本文试图回答一个古老的面试问题:当你在浏览器中输入google.com并且按下回车之后发生了什么? 不过我们不再局限于平常的回答,而是想办法回答地尽可能具体,不遗漏任何细节. 这将是一个协作的过程,所以深入挖掘吧,并且帮助我们一起完善它.仍然有大量的细节等待着你来添加,欢迎向我们发送Pull Requset! 回车键按下 为了从头开始,我们选择键盘上的回车键被按到最低处作为起点.在这个时刻,一个专用于回车键的电流回路被直接或者通过电容器闭合了,使得少量的电流进入了键盘的逻辑电路系统.这个系统

js检测输入内容全为空格的方法_javascript技巧

JavaScript判断输入内容不能全为空格的方法,用来避免输入框的内容输入的全是空格: 复制代码 代码如下: <html> <head>  <script>   function checkBlankSpace(str){    while(str.lastIndexOf(" ")>=0){      str = str.replace(" ","");    }    if(str.length ==

c语言-难道输入字符串之后不是按回车输出么,为什么只是换行了

问题描述 难道输入字符串之后不是按回车输出么,为什么只是换行了 #include "stdio.h" #include "string.h" #include "ctype.h" #define MAXN 5000 + 10 char buf[MAXN], s[MAXN]; int p[MAXN]; int main() { int n,m=0,max=0,x,y; int i,j; fgets(buf,sizeof(s),stdin); n =

EditText输入手机号自动带空格

在android开发过程中,经常会要求用户输入手机号,为了便于观看,我们都会已135 xxxx xxxx这种格式展示 通过下面的方法,直接输入格式化. xml布局文件中写法如下: <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:maxLength=&quo

cin cout

cin.cout是对象,以cout为例说明. cout是ostream类的对象.声明在iostream文件中,   #ifdef _M_CEE_PURE __PURE_APPDOMAIN_GLOBAL extern istream cin, *_Ptr_cin; __PURE_APPDOMAIN_GLOBAL extern ostream cout, *_Ptr_cout; __PURE_APPDOMAIN_GLOBAL extern ostream cerr, *_Ptr_cerr; __PU

java-为什么当输入空格或者是直接按enter键的时候会抛出数组越界异常

问题描述 为什么当输入空格或者是直接按enter键的时候会抛出数组越界异常 public static void main(String[] args) throws IOException { int i=1; while(i!=0){ System.out.println("请输入用户名和密码,以分号分隔:"); Scanner sn=new Scanner(System.in); String userPWD=sn.nextLine(); if(userPWD!=null||!&