不同计算机的用户输入处理方式是否不同?C++;Windows窗体 < >我用C++和Windows窗体创建了一个计算器(创建一个空的CLR文件..NETFramework)。 我有一个功能,可以防止错误的用户输入。在我的电脑上,一切正常,但我的朋友有一个错误消息框,关于任何输入的错误输入(如,3和3)。我已从发布模式发送.exe版本。 为什么会发生这种情况,我该如何解决

不同计算机的用户输入处理方式是否不同?C++;Windows窗体 < >我用C++和Windows窗体创建了一个计算器(创建一个空的CLR文件..NETFramework)。 我有一个功能,可以防止错误的用户输入。在我的电脑上,一切正常,但我的朋友有一个错误消息框,关于任何输入的错误输入(如,3和3)。我已从发布模式发送.exe版本。 为什么会发生这种情况,我该如何解决,c++,.net,user-input,windows-forms-designer,C++,.net,User Input,Windows Forms Designer,功能代码: bool Protect() { if (textBox1->Text->Length != 0 && textBox2->Text->Length != 0) { for (int i; i < textBox1->Text->Length; i++) { if (textBox1->Text[i] >= '0' && tex

功能代码:

bool Protect() {
        if (textBox1->Text->Length != 0 && textBox2->Text->Length != 0) {
            for (int i; i < textBox1->Text->Length; i++) {
                if (textBox1->Text[i] >= '0' && textBox1->Text[i] <= '9' || textBox1->Text[i] == ',' || textBox1->Text[i]=='-')
                    return true;
                else
                    return false;
            }
            for (int i; i < textBox2->Text->Length; i++) {
                if (textBox2->Text[i] >= '0' && textBox2->Text[i] <= '9' || textBox2->Text[i] == ',' || textBox1->Text[i] == '-')
                    return true;
                else
                    return false;
            }
        }
        else
            return false;
    }
bool-Protect(){
如果(textBox1->Text->Length!=0&&textBox2->Text->Length!=0){
用于(int i;iText->Length;i++){
如果(textBox1->Text[i]>='0'&&textBox1->Text[i]Text[i]=','| | textBox1->Text[i]='-')
返回true;
其他的
返回false;
}
用于(int i;iText->Length;i++){
如果(textBox2->Text[i]>='0'&&textBox2->Text[i]Text[i]=','| | textBox1->Text[i]='-')
返回true;
其他的
返回false;
}
}
其他的
返回false;
}

您可以尝试在错误消息中添加一些flavourtext(即告诉用户出了什么问题)。这可能有助于缩小问题的范围,否则这个问题对我来说似乎有点模糊。这就是用户输入的字符与我输入的字符相同,但程序处理他的输入时不正确的问题。但是程序是否看到相同的用户输入?如果用户输入相同,则不应崩溃,因此,逻辑的计算方式不同,或者出于某种原因,相同的用户操作导致不同的输入(如果NumLock关闭,则相同的用户操作[按num1]将导致代码[1在一种情况下,结束]在另一种情况下产生不同的结果)。如果您不提供这两种情况之间的区别,那么就很难进行诊断