0

私はこのプログラムを作成しました。コンパイルするとエラーは発生しませんでしたが、プログラムはすぐに閉じられました。回答をいただければ幸いです。

#include <iostream> //Main commands
#include <string> // String commands
#include <windows.h> // Sleep
using namespace std;

int main ()
{
    //Declaring variables
    float a; 
    bool end; 
    std::string input;

    end = false; // Making sure program doesn't end instantly

    cout << "Enter start then the number you want to count down from." << ".\n";

    while (end = false){
        cin >> input;
        cout << ".\n";

        if (input.find("end") != std::string::npos) // Ends the program if user types end
            end = true;

        else if (input.find("start" || /* || is or operator*/ "restart") != std::string::npos) // Sets up the countdown timer if the user types start 
        {
            cin >> a;
            cout << ".\n";

            while (a>0){
                Sleep(100);

                a = a - 0.1;

                cout << a << ".\n";
            }

            cout << "Finished! Enter restart and then another number, or enter end to close the program" << ".\n";
         }

        else // Tells user to start program
        cout << "Enter start";

    }

    return 0; // Ends program when (end = true)

}
4

1 に答える 1

5
while (end = false)

これは割り当てであり、常に false になります。これは、while が入力されないことを意味します。

while (end == false)(notice double ==) またはそれwhile (!end)を修正するために置き換えます

于 2013-10-29T14:48:30.917 に答える