代码可以完美编译,但是执行时需要一个数字并发送“状态为-1073741510的进程终止”

时间:2019-04-05 18:25:21

标签: c++

控制台要求输入一个数字,因为我相信它可以执行第16和17行中的代码,但它不会访问while循环。

通常这与范围有关,对吗?要求计算机访问其中有垃圾的内存,但是我尝试了不同的方法,但仍然无法正常工作。

#include <iostream>

using namespace std;

int main()
{
    int numero = 0;
    float promedioSublote = 0.0;
    int acumuladorPromedio = 0;
    int cantidadDeSublotes = 1;
    int valorMaximo = 0;
    int posicionRelativa = 0;
    int contadorRelativo = 0;
    int posicionSublote = 0;
    int valorMinimo = 0;
    cout << "Ingrese un numero: " << endl;
    cin >> numero;
    while(numero >= 0){
        if(numero == 0){
            if(posicionRelativa > 0){
                cout << "El promedio de este sublote fue: " << promedioSublote << endl;
                cout << "El valor minimo de este sublote fue: " << valorMinimo << endl;
            }
            cantidadDeSublotes++;
            valorMinimo = 0;
            promedioSublote = 0;
            acumuladorPromedio = 0;
            posicionRelativa = 0;
            contadorRelativo = 0;
        }
        posicionRelativa++;
        if(numero > valorMaximo){
            valorMaximo = numero;
            posicionRelativa = contadorRelativo;
            posicionSublote = cantidadDeSublotes;
        }
        if(numero < valorMinimo){
            valorMinimo = numero;
        }
        acumuladorPromedio = acumuladorPromedio + numero;
        promedioSublote = acumuladorPromedio / contadorRelativo;

        cout << "Ingrese un numero: " << endl;
        cin >> numero;

    }
    cout << "El total de sublotes fue: " << cantidadDeSublotes << endl;
    cout << "El valor maximo del conjunto fue: " << valorMaximo << ". Y se encontro en el sublote: " << posicionSublote << ". En la posicion: " << posicionRelativa << endl;
}

这应该是数字,如果条件为真,则将它们存放在一些变量中,如果输入的数字为0,则应重新启动。什么也没发生,因为我收到“进程终止,状态为-1073741510(0分钟,2秒))。

1 个答案:

答案 0 :(得分:1)

您的变量contadorRelativo设置为零且从不增加,然后除以它。
当我尝试您的程序时,它崩溃并显示“浮点异常”。在您的系统上,这可能会显示为您所得到的。

提示:如果程序崩溃,请尝试在调试器中运行它。调试器将向您显示错误发生的确切位置,您可以查看变量的值。