注册 登录
编程论坛 C++教室

这个正确的程序为啥运行后输入没反应呢

哒哒哒啦啦啦 发布于 2016-03-15 21:34, 3458 次点击
就是输入“a b ee gg”后按回车了啊,小写变大写的程序
#include <iostream>
#include <vector>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::vector;
using std::string;

int main()
{
    vector<string> vec;
    for (string word; cin >> word; vec.push_back(word));
    for (auto &str : vec) for (auto &c : str) c = toupper(c);

    for (int i = 0; i != vec.size(); ++i)
    {
        if (i != 0 && i % 8 == 0) cout << endl;
        cout << vec[i] << " ";
    }
    cout << endl;

    return 0;
}
14 回复
#2
hjx11202016-03-15 21:48
for 还能这么用,涨见识了
#3
哒哒哒啦啦啦2016-03-15 21:53
回复 2楼 hjx1120
是啊,国外论坛找到的答案,可是运行后输入字符为啥没反应呢
#4
哒哒哒啦啦啦2016-03-15 21:55
回复 2楼 hjx1120
是c++11的新语句
#5
rjsp2016-03-16 08:22
就是输入“a b ee gg”后按回车
仅仅回车就有用吗?你可以google一下怎么结束输入,windows控制台用Ctrl+Z然后回车,linux终端用Ctrl+D……
这是windows下输入输出
a
b
ee
gg
^Z
A B EE GG

#6
yangfrancis2016-03-16 15:58
for (auto &str : vec) for (auto &c : str) c = toupper(c);
楼主能否解释一下这个语法是要实现什么?关键字不是已经和for循环有冲突了吗?
#7
诸葛欧阳2016-03-16 16:18
以下是引用哒哒哒啦啦啦在2016-3-15 21:53:42的发言:

是啊,国外论坛找到的答案,可是运行后输入字符为啥没反应呢

歪果仁写代码就是不一样
#8
哒哒哒啦啦啦2016-03-16 20:37
回复 5楼 rjsp
啊啊,感觉好牛逼,以前都是直接回车呀。。
#9
哒哒哒啦啦啦2016-03-16 20:39
回复 6楼 yangfrancis
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
#10
wengbin2016-03-16 22:02
回复 9楼 哒哒哒啦啦啦
十马教材?
#11
哒哒哒啦啦啦2016-03-17 16:59
知乎上推荐的 感觉确实不错 非常细致~
只有本站会员才能查看附件,请 登录
#12
hjx11202016-03-17 17:48
这本教材才难了,我换了【C++ Primer Plus】
#13
哒哒哒啦啦啦2016-03-17 18:03
回复 12楼 hjx1120
我看直呼上都说这本好,确实也是有英文原版的,感觉不错,国外论坛上有答案~
#14
hjx11202016-03-17 18:20
这两本教材的中文版本和英文版本我都有,C++ Pimer
还有一本习题答案
好想买原著,可惜手中的大洋。。。。
<C++ primer plus>
http://www.
<C++ primer>
http://www.
可惜我只有《Cplusplus primer》的英文版本,《C++ primer plus》的只有电子版本
#15
哒哒哒啦啦啦2016-03-19 22:20
回复 14楼 hjx1120
大神!!
1