私はC++の基礎を学んでいます。私は与えられた入力の各単語のすべての文字を大文字にする簡単な関数を書こうとしています。私が書いたもの:関数が正しく動作しない
#include <iostream>
#include <string>
#include <vector>
#include <cctype>
int main()
{
std::cout << "Please enter a sentence: ";
std::vector<std::string> words;
std::string x;
while (std::cin >> x) {
words.push_back((std::string) x);
}
std::cout << std::endl;
std::vector<std::string>::size_type size;
size = words.size();
for (int j = 0; j != size; j++) {
std::string &r = words[j];
for (int i = 0; i != r.length(); i++) {
r = toupper(r[i]);
std::cout << r << std::endl;
}
}
}
大文字の各単語の最初の文字を返します。私はハロー世界を記述する場合、例えば、プログラムリターン:
H
W
は、誰かが私が間違っているとどのようにそれを修正するよ何を教えてくださいすることができます。
で
<algorithm>'s
std::transform()
を使用する方法の始まりである - それは何もしません。 –*私は、与えられた入力の各単語のすべての文字を大文字にする簡単な関数を書こうとしています* - アルゴリズム関数 "C++の基礎"を学ぶことを考えるなら、 'std :: transform(wordsその 'i'ループの代わりに[j] .begin()、words [j] .end()、words [j] .begin()、toupper); – PaulMcKenzie