現在、ユーザーに文字列の入力を要求し、イテレータを介してこれらの値を読み取るプログラムを作成しようとしています。このプログラムの最後のステップは、メッセージをユーザーに表示する前に、単純なシーザー シフトをメッセージに適用することです。ただし、プログラムが「for」ループをスキップするエラーを犯したように見えるため(または使用するループを問わず、「for」から「while」、「if、else」ループまですべてを試しました)。私は C++ に比較的慣れていないので、最善を尽くしたにもかかわらず、単にループを正しく設定していないことを願っています。
#include <iostream>
#include <vector>
#include <string>
int main () {
std::vector <std::string> vector_1;
int c;
int d = 0;
int i = 0;
std::string message;
std::vector<std::string>::iterator it_1;
std::cout << "Please input the message to be Caesar Shifted \n";
while (std::cin >> message, d != 0) {
vector_1.push_back (message);
++d;
}
std::cout << "Encrypted message is";
for (std::vector<std::string>::iterator it_1 = vector_1.begin (); it_1 != vector_1.end (); ++it_1) {
std::cout << *it_1;
}
return 0;
}
私はかなりの時間を費やして同様の状況を調査しましたが、私が知る限り、他の人が同様の状況で陥った落とし穴を見逃していました. もちろん、私は初心者なので、常に間違っている可能性があります。