2016-11-30 4 views
-1

申し訳ありませんが、私は非常に新しいですしないと急いでする必要があり、私はちょうどこれを我慢するたかったです。最初の入力(トピック、代数、基本数学などを選択)を試した後、コードが無作為に終了します。他のソースを試してみて、再フォーマットを試みましたが、それが何であるか分かりません。私はかなり新しいので、それは私が見落としたばかげた問題だと思う。プログラムは、ユーザーの入力した後に閉じて、それが必要ない理由

#include <iostream> 
#include <fstream> 
#include <string> 
#include <stdlib.h> 

using namespace std; 

int main() { 
    int calculatorChoice, choiceMath1; 
    int addition1, addition2, additionSum; 
    int subtraction1, subtraction2, subtractionDifference; 
    int multiplication1, multiplication2, multiplicationProduct; 
    int division1, division2, divisionQuotient; 
    cout << "What would you like to figure out?" << endl; 
    cout << "" << endl; 
    cout << "[1]: Basic Mathematic Equations" << endl; 
    cout << "[2]: Figuring out a Grade" << endl; 
    cout << "[3]: Algebra" << endl; 
    cout << "[4]: Inquiry Sciences" << endl; 
    cout << "[5]: Unit Conversion" << endl; 
    cin >> calculatorChoice; 
    if (calculatorChoice == 1) { 
     cout << "What would you like to do?" << endl; 
     cout << "" << endl; 
     cout << "[1]: Addition" << endl; 
     cout << "[2]: Subtraction" << endl; 
     cout << "[3]: Multiplication" << endl; 
     cout << "[4]: Division" << endl; 
     cin >> choiceMath1; 
     if (choiceMath1 == 1) { 
      cout << "Choose your first number." << endl; 
      cin >> addition1; 
      cout << "Choose your second number." << endl; 
      cin >> addition2; 
      additionSum = addition1 + addition2; 
      cout << "The sum of " << addition1 << " and " << addition2 << " is " << additionSum << "." << endl; 

     } 
     else if (choiceMath1 == 2) { 
      cout << "Choose the first number." << endl; 
      cin >> subtraction1; 
      cout << "Choose the second number." << endl; 
      cin >> subtraction2; 
      subtractionDifference = subtraction1 - subtraction2; 
      cout << "The difference of " << subtraction1 << " and " << subtraction2 << " is " << subtractionDifference << "." << endl; 
     } 
     else if(choiceMath1 == 3) { 
      cout << "Choose the first number." << endl; 
      cin >> multiplication1; 
      cout << "Choose the second number." << endl; 
      cin >> multiplication2; 
      multiplicationProduct = multiplication1 * multiplication2; 
      cout << "The product of " << multiplication1 << " and " << multiplication2 << " is " << multiplicationProduct << "." << endl; 
     } 
     else if(choiceMath1 == 4) { 
      cout << "Choose the first number." << endl; 
      cin >> division1; 
      cout << "Choose the second number." << endl; 
      cin >> division2; 
      divisionQuotient = division1/division2; 
      cout << "The quotient of " << division1 << " by " << division2 << " is " << divisionQuotient << "." << endl; 
     } 
     else { 
      cout << "That is not a choice." << endl; 
     } 
    } 
    else { 

    } 
} 
void calculator() { 

} 
+2

このような問題を解決する適切なツールは、デバッガです。スタックオーバーフローを尋ねる前に、コードを一行ずつ進める必要があります。詳しいヘルプは、[小さなプログラムをデバッグする方法(Eric Lippert)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を参照してください。最低限、問題を再現する[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例と、その問題を再現するためのデバッガ。 –

+0

あなたはどんな情報を提供していますか? 1以外の情報を入力した場合、プログラムは予期したとおりに終了します – user463035818

+2

このコードは何を期待していますか?私はそれにループがないことに気付きます。余談として – BPS

答えて

0

コードにはループがありません。つまり、入力を入力すると結果とプログラムが終了します。あなたのコードをどこかで停止したいのであれば(IDEに依存しますが、この解決策はVSのためです)、system("pause")と入力するだけで、あなたのプログラムがコンソールに表示されます。あなたはVSにない場合は、あなたがあなたのコードは、我々はあなたが簡単に助けることができませんことを期待もう少し帽子を説明する場合は、#include <cstdlib>

を追加します。

関連する問題