簡単な fizzbuzz アプリケーションを作成して、C++ のスキルをテストしたかったのです。そのコードは以下に掲載されています。しかし、このアプリケーションを実行すると、おかしなことが起こります。これが私のコードです:
#include <iostream>
#include <string>
using namespace std;
bool ismultiple3(int i) {
int res = i%3;
if (res == 0)
return true;
return false;
}
bool ismultiple5(int i) {
int res = i%5;
if (res == 0)
return true;
return false;
}
int main() {
string output;
for (int i = 1; i <= 100; i++) {
output = i;
if (ismultiple5(i) || ismultiple3(i)) {
output = "";
if (ismultiple3(i)) output.append("Fizz");
if (ismultiple5(i)) output.append("Buzz");
}
cout << output;
}
}
そのため、実行してコンパイルすると、端末全体がめちゃくちゃになります。文字エンコーディングが何らかの形で変更されているようです。コマンドは通常どおり受け付けますが、見栄えが悪いだけです。これを実証するために ls を実行しました。
編集:誰かがこれに出くわした場合に備えてcout << i
、私のコンピューターの g++ コンパイラには C++11 のサポートがなかったため、else ステートメントを追加して実行することになりました。関数も短縮され、2 つの引数を受け入れる 1 つの関数に結合されましi
たn
。