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)

这是一个分配,总是导致错误的意思是永远不会输入

替换为while (end == false)(注意 double ==)或while (!end)修复它

于 2013-10-29T14:48:30.917 回答