저는 C++로 약간의 계산기 프로젝트를 프로그래밍 했었습니다. 내 기술을 훈련하기 위해 (그리고 희망적으로 나에게 성취감을주기 위해), 그러나 나는 while while 문제가 있습니다. 고리.C++ while 루프가 예상대로 작동하지 않음/
본질적으로 프로그램은 사용자에게 '모드'/ 명령 (예 : 곱셈, 나누기 등)을 요구 한 다음 적절한 명령을 호출합니다. 일단 끝나면 다시 시작점으로 되돌아 가야합니다 (사실상 while 루프 인 while 루프). 다시 시작 (return 0)하고 종료 옵션 (return 1)과 함께 다시 시작해야합니다. 그러나 첫 번째 이후 즉시 종료됩니다. 내가 뭔가 잘못하고 있는거야? C++ 프로그래밍을 진지하게 오해합니까? 또는 무엇을? 다음은 내 코드입니다 (대부분의 기능은 잘라)
#include <iostream>
using namespace std;
int cMode(); // function prototypes
int add();
int sub();
int mult();
int divide();
int sqr();
int main() { // main function start
do {
cMode();
} while (0);
return 0;
}
int cMode() { // mode selection func
int mode;
cout<<"Please select which mode you would like to avail from the following:\n";
cout<<"1. Addition\n2. Subtraction\n3. Multiplication\n4. Division\n5. Sqaure root finder\n6. Exit\n";
cin>>mode;
if (mode == 1) {
return add();
}
}
int add() { // addition function
int x, y; // variables
cout<<"Please type the first number to add: ";
cin>>x;
cin.ignore();
cout<<"Please type the second number to add: ";
cin>>y;
x = x + y;
cout<<"The answer is "<< x <<".";
return 0;
}
어쨌든, 도움을 줄 수있는 사람이 많이 주시면 감사하겠습니다합니다. 또한 밖으로 두 가지 더 작은 질문 라인 밖으로 < < "...."< < x < <; "왜"나는 그것을 실행하기 위해 마지막에 포함시켜야합니까? 나는 그 (것)들에 과실을 얻고 있었다, 그리고 왜 내가 어림줄에 ""끝에 끝에 endl을 두는가?
감사합니다!
... 거짓과 끝으로 평가하면서 0);''while (1);' – DimChtz
@DimChtz 아니요, 아마도 변수가 함수의 반환 값으로 설정된'while (variable)'이어야합니다. –
원하는 편집기를 사용하고 코드에 붙여 넣으려고합니다. 그들이 모두가 좋아하는 키 바인딩을 설정하려한다면, 아무도 그것을 좋아할 것입니다;) – jaggedSpire