如何设计一个C++程序,让用户输入一段英文文本,然后使用字符串数据结构存储并进一步提取所有的单词,并将这些单词存储到向量容器中?
时间: 2024-11-15 10:21:35 浏览: 35
设计一个C++程序来完成这个任务,首先需要包含一些必要的库,如`iostream`用于输入输出,`string`处理字符串,以及`vector`作为动态数组存储单词。以下是简单的步骤:
1. 定义一个函数来读取用户输入:
```cpp
std::string getUserInput() {
std::string input;
std::cout << "请输入一段英文文本: ";
getline(std::cin, input); // 使用getline处理换行符
return input;
}
```
2. 创建一个函数来提取单词并将它们添加到向量中:
```cpp
void extractWords(const std::string& text, std::vector<std::string>& words) {
size_t start = 0;
for (size_t i = 0; i < text.size(); ++i) {
if (text[i] == ' ') { // 遇到空格,结束上一个单词
if (start != i) { // 如果不是第一个字符,即有单词存在
words.push_back(text.substr(start, i - start)); // 添加单词到向量
}
start = i + 1; // 更新起始位置
} else if (i == text.size() - 1) { // 如果到达字符串结尾,可能是最后一个单词
words.push_back(text.substr(start));
}
}
}
```
3. 主函数中整合上述功能:
```cpp
int main() {
std::vector<std::string> words;
std::string input = getUserInput();
extractWords(input, words);
std::cout << "提取的单词: ";
for (const auto& word : words) {
std::cout << word << " ";
}
return 0;
}
```
阅读全文