-1

計算が終了した後、電卓を先頭にループさせようとしていますか? while ループを試してみて、それに関するチュートリアルを見ましたが、文脈に入れることができません。

このプログラムで実際に使用する方法を教えていただければ、それは素晴らしいことです。

#include<iostream>
using namespace std;

int main() {
  double num1, num2;
  char op;
  cout << "********C++ CALCULATOR********" << endl;
  cout << "Please enter your first number" << endl;
  cin  >> num1;
  cout << "Please enter your operand (+, -, *, /)\n" << endl;
  cin  >> op;
  cout << "Please enter your second number\n" << endl;
  cin  >> num2;
  if (op== '+') {
    cout << "The answer is: " << num1 + num2 << endl;
  } else if (op == '-') {
    cout << "The answer is: " << num1 - num2 << endl;
  } else if (op == '/') {
    cout << "The answer is: " << num1 / num2 << endl;
  } else if (op == '*') {
    cout << "The answer is: " << num1 * num2 << endl;
  } else {
    cout << "That was an invalid command!" << endl;
  }
}
4

3 に答える 3

2

私はあなたがこのようなものが欲しいと思います:

#include<iostream>
using namespace std;

int main() {
  double num1 = 0, num2 = 0;
  char op = '';
  char answer = '';
  while(answer != 'n') {  // Check condition
    cout << "********C++ CALCULATOR********" << endl;
    cout << "Please enter your first number" << endl;
    cin  >> num1;
    cout << "Please enter your operand (+, -, *, /)" << endl;
    cin  >> op;
    cout << "Please enter your second number\n" << endl;
    cin  >> num2;
    if (op == '+') {
      cout << "The answer is: " << num1 + num2 << endl;
    } else if (op == '-') {
      cout << "The answer is: " << num1 - num2 << endl;
    } else if (op == '/') {
      cout << "The answer is: " << num1 / num2 << endl;
    } else if (op == '*') {
      cout << "The answer is: " << num1 * num2 << endl;
    } else {
      cout << "That was an invalid command!\n Exit." << endl;
    }
    cout << "Do you want repeat? \"y\" or \"n\"\n" << endl;
    cin  >> answer;
  }
}

while コンストラクトは、コード ブロックと条件で構成されます。条件が評価され、条件が真の場合、ブロック内のコードが実行されます。これは、条件が false になるまで繰り返されます。while ループはブロックが実行される前に条件をチェックするため、制御構造は多くの場合、テスト前ループとしても知られています。ループの実行後に条件をテストする do while ループと比較してください。

于 2013-10-13T10:48:26.853 に答える
1

少なくとも 1 回実行したいものについては、do/while ステートメントを試すこともできます。

「do」という単語の代わりに、「while (again!='n');」を使用できます。そのループ行の中括弧 (プロセスで "while again!='n';" チェックを削除) を使用して、標準の while ループを作成します。

while(value==true) { ... }

とは対照的に

do { ... } while(value==true);

ただし、これには適切に初期化されたテスト変数が必要です。

さらにデモンストレーションを行うために、より大きな do/while ループに 2 番目の while ループを含めました。

#include<iostream>

using namespace std;

int main() {
double num1 = 0, num2 = 0;
char op;
char again;

do {  // set start point for loop
cout << "********C++ CALCULATOR********" << endl;
cout << "Please enter your first number" << endl;
cin  >> num1;
cout << "Please enter your operand (+, -, *, /)" << endl;
cin  >> op;
cout << "Please enter your second number" << endl;
cin  >> num2;

if (op == '+') {
cout << "The answer is: " << num1 + num2 << endl;
} else if (op == '-') {
cout << "The answer is: " << num1 - num2 << endl;
} else if (op == '/') {
cout << "The answer is: " << num1 / num2 << endl;
} else if (op == '*') {
cout << "The answer is: " << num1 * num2 << endl;
} else {
cout << "That was an invalid command!" << endl;
}

cout << "\nRun again? \"y\" or \"n\"" << endl; // prompt user
cin  >> again;

// here is a while loop in do/while statement to check for valid input if the user wants
// to go again 
while(again!='y' && again!='n'){
cout << "Invalid input. Run again? y or n" << endl;
cin >> again;
}

cout << endl;

} while(again!='n'); // now check if user wants to go again // end of do loop
// the condition for while loop could be like
// while (1); // any non zero being true
// if you want executions until program termination

}

}
于 2013-10-13T12:12:28.210 に答える
0

すべてを無限ループに巻き込むだけ

#include<iostream>

using namespace std;

int main() {
    for (;;) {

        // your code here
    }
}
于 2013-10-13T10:37:33.927 に答える