我正在尝试制作一个显示输入单词的单词长度的程序。
这是它的样子:
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.example.app</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>iCloudDemoApp</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
</dict>
基本上,一旦用户输入了单词,按回车键后,音节的数量就会随之增加。不幸的是,当您按Enter键时,cin代码实际上考虑了回车键,因此长度输出不再位于同一行,而是换行了。
我正试图找到一种方法来删除cin制造的新行或忽略它,至少这样我可以实现所需的输出。
谢谢!
Word Length
Come 4
Again 5
Hair 4
The 3
实际输出:
string words[4];
int wlength[4];
cout <<"word length" <<endl;
cout << endl;
cout << "";
cin >> words[0];
wlength[0] = words[0].length();
cout << wlength[0] <<endl;
cout << "";
cin >> words[1];
wlength[1] = words[1].length();
cout << wlength[1] << endl;
cout << "";
cin >> words[2];
wlength[2] = words[2].length();
cout << wlength[2] << endl;
cout << "";
cin >> words[3];
wlength[3] = words[3].length();
cout << wlength[3] << endl;
答案 0 :(得分:0)
这将满足您的要求,尽管您不能轻松地返回一行,但是您可以清除整个控制台并再次打印所有内容。我的实现也可以使用4个以上的单词。
#include <iostream>
#include <string>
#include <vector>
int main()
{
std::vector<std::string> words;
for (;;)
{
std::cout << "Word\t\tLength\n";
for (auto& word : words)
std::cout << word << "\t\t" << word.length() << "\n";
std::string newWord;
std::cin >> newWord;
words.push_back(newWord);
system("cls");
}
std::getchar();
return 0;
}