按e执行程序C++

按e执行程序C++,c++,C++,我制作了一个最小-最大计算器,它可以显示最小值、最大值以及你喝了多少酒。现在我想让它通过按“e”来执行程序,因此,如果您输入完数字,请按“e”来执行程序并显示结果。请保持简单,因为这是一个学校项目。我知道它是用德语写的 #include <iostream> using namespace std; int main() { float Ein, Min, Max, Anz, Ges; char Noch, Enter; Anz = 0; Ges

我制作了一个最小-最大计算器,它可以显示最小值、最大值以及你喝了多少酒。现在我想让它通过按“e”来执行程序,因此,如果您输入完数字,请按“e”来执行程序并显示结果。请保持简单,因为这是一个学校项目。我知道它是用德语写的

#include <iostream>

using namespace std;

int main()
{
    float Ein, Min, Max, Anz, Ges;
    char Noch, Enter;
    Anz = 0;
    Ges = 0;
    do
    {
        cout << "Zum Bestaetigen --> e druecken" << endl;
        do
        {
            cout << "Eingabe: "; cin >> Ein || cin >> Enter;
            if (Min >= Ein)
            {
                Min = Ein;
            }
            if (Max <= Ein)
            {
                Max = Ein;
            }
            Anz = Anz + 1;
        } while (Enter != 'e');
        cout << "Anzahl, Maximum und Minimum " << Anz << " " << Max << " " 
<< Min << endl;
        cout << "Programm erneut ausfuehren? --> j: "; cin >> Noch;
    } while (Noch == 'j');
    return 0;
}
||是逻辑or,这意味着它被用在逻辑表达式中,让我们简化一下,它被用在if语句中,比如

if(number == 5 || number == 7){
    do something
}
这意味着,若数字等于5或等于7,“做某事”将被调用

要检查用户是否希望完成数字输入,您可以在windows上使用Ctrl+Z快捷键发送EOF进行输入,概念验证如下:

int main(){
    int number;
    cout<<"enter any number you want or press Ctrl+Z to break\n";
    while(cin>>number){
        cout<<"you entered :"<<number<<endl;
    }
    cout<<"user has pressed ctrl+z (EOF detected)";
}

没有任何标准的C++机制来检测单个按键。如果假设CIN > EIN“CIN > >输入将把单个用户输入到EIN或输入,那么输入就错了。由于操作员短路,您将接受输入,尝试将其写入Ein。如果失败,您将再次尝试获取输入,将其放入Enter,但失败,因为您的流已经处于失败状态,并且尚未清除。据我所知,当前代码永远不会写入Enter。注意:除非选择了“使用旧版控制台”选项,否则在Win10 cmd.exe上默认情况下Ctrl+Z处于禁用状态。还请注意,Ctrl+Z在许多Linux shell中还有另一种含义。这是真的,但我认为这是学校编程项目中最简单的解决方案,没有字符串->数字转换或其他高级解决方案。现在,如果我按ctrl+z,程序将输出Zahl:,因此while循环不会停止。您需要像输入数字一样“输入”ctrl+z,然后按enter键