빠른 fizzbuzz 응용 프로그램을 사용하여 C++ 기술을 테스트하고 싶었습니다. 그 코드는 아래에 게시되어 있습니다. 그러나,이 응용 프로그램을 실행하면 뭔가 미친 일이 발생합니다. 내 코드는 다음과 같습니다.FizzBuzz 재해
#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를 실행했습니다.
편집 : 경우 사람이 가로 지르는에서 컴퓨터의 g ++ 컴파일러는 C++ 11 지원이 부족하기 때문에, else가 문을 추가하고 그 안에 cout << i
을하고 끝났다. 함수는 단축되어 두 개의 인수, 즉 i
과 n
을 허용하는 단일 함수로 결합되었습니다.
'output = i' 라인은 여러분이 생각하는대로하지 않습니다! – ruakh
'to_string'함수가 편리해야합니다. 또한'ismultiple '함수는 필요한 것보다 길다. –
나는 내 다음 밴드 이름에 대해이 질문 제목을 훔치고있다. – Blastfurnace