q。编写一个程序,它使用一个char数组和一个循环来一次读取一个单词 直到输入完成的单词。程序应该报告的数量 输入的单词(不计算完成)。
我希望计数增加,直到在字符串中找到完成。我在网上找到了这个问题的解决方案
#include <iostream>
#include <string>
int main()
{
using namespace std;
string word;
string matchword = "done";
int numwords=0;
cout << "Enter words (to stop, type the word done):\n";
cin >> word;
while(word != matchword)
{
cin >> word;//how does it read the next word ????
numwords++;
};
cout << "\nYou entered a total of " << numwords << " words.";
cin.get();
cin.get();
return 0;
}
cin如何阅读字符串的下一个单词。我的问题主要是有人向我解释cin和string的工作。
答案 0 :(得分:0)
您需要一个分隔符,以便您能够分割字符串并获得单词内的单词。
最简单的方法是创建一个单词串数组并收集输入的单词(循环直到单词(N + 1)为&#34;&#34;或者为null。然后你可以遍历单词数组并列出每个单词,你也可以得到多少单词的数量。
CIN解释......(有点)...... 在你的情况下,cin是一支笔,字符串是一个白板。 你用cin在单词上写东西。 每次使用cin时,都会擦除白板,然后写下新单词。
答案 1 :(得分:0)
http://www.cplusplus.com/doc/tutorial/basic_io/
从链接引用“cin”用于将输入值取为“word”变量,并且每次都替换“word”的值,所以如果第一个单词是“dog”word = input =“dog” 如果下一个单词是“cat”,那么单词= input =“cat”而不是“dogcat”。就像每次按下回车一样,它会替换它自己。这是你想解释的吗?
希望你理解
POOM
答案 2 :(得分:0)
每次在while循环中,您都要求用户输入一个单词, cin 重播单词变量的内容。