2016-10-20 6 views
-2

私は、ユーザーの入力に基づいて乗算表を計算するコードを作成しました。問題は、結果を印刷した後にプログラムが終了し、別の入力と結果を得るためにプログラムを再起動する必要があることです。新しい結果を得るために再実行する必要のないプログラムを作成するにはどうすればよいですか?

私は結果を得て、ユーザーから新しい価値を得るためにキーを押したいと思っています。私は常にプログラムを閉じて開きたくありません。これどうやってするの?
これは私のコードです:

#include <iostream> 

using namespace std; 

int main() 
{ 
    int a, range; 

    cout << "Introduce value: "; 
    cin >> a; 

    printf("\n"); 

    cout << "Introduce range: "; 
    cin >> range; 

    printf("\n"); 

    for (int i = 1; i <= range; ++i) 
    { 
     cout << a << " * " << i << " = " << a*i << endl; 
    } 

    printf("\n"); 

    system("pause"); 
} 
+5

MS-DOS、ええ?私はニュースを壊す人になりたくはありませんが、あなたは30年ほど遅れています。 – IInspectable

+1

MS-DOSでは、コンソールウィンドウを意味します。 – Angew

+0

私は[あなたの質問を編集しました](http://stackoverflow.com/revisions/)あなたが尋ねていることをより明確に理解しています。私が間違ってやっていて、質問があなたが求めているものと違っていると感じたら、あなたは私がやったことをロールバックするか、それ以上明確にするために質問を編集することができます。私はあなたのアプリケーションにループを持つ方法を尋ねているので、それを開いたり閉じたりする必要はありません。 – Tas

答えて

1

while文の内部の状態は常にtrueになりますので、ここにあなたのコードはループが永遠になりますwhile(1)

#include <iostream> 

using namespace std; 

int main() 
{ 

    while(1){ 
    int a, range; 

    cout << "Introduce value: "; 
    cin >> a; 

    printf("\n"); 

    cout << "Introduce range: "; 
    cin >> range; 

    printf("\n"); 

    for (int i = 1; i <= range; ++i) 
    { 
     cout << a << " * " << i << " = " << a*i << endl; 
    } 

    printf("\n"); 

    system("pause"); 
    } 
} 

ような何かを追加します!

+0

ありがとうございました!私はプログラムを学び始めたのでこれをやりたいと思っています:D – Victor

1

キーを押して別の値を継続するかどうかを判断するには、do whileループを使用します。

int main(void){ 
char c; 
do{ 

    //......your code 


    cout<<"Do you want to continue?"; // press 'y' if yes 
    cin>>c; 

}while(c=='y'); 

return 0; 
} 

を押して続行するには 'Y' または停止することは何か。 このコードでは、最後にシステム(「一時停止」)が必要ありません。

+1

これはコンパイルされません。なぜなら、 'c 'は' do while'の前に宣言する必要があるからです。 – Tas

関連する問題