Código
#include <iostream.h> #include <conio.h> int num; int numNuevo; int auxiliar = 0; //VARIABLES DE TIPO ENTERO int promedio; int numAgregado; int numResta; void main(){ cout << "Programado por ;Curso de Algoritmos;Tarea 6" << endl; cout << "Carne 1190" << endl << endl; cout << "Programa que calcula promedio de enteros impares" << endl; cout << "Ingrese 9999 si desea terminar -- Ingrese numeros para el promedio" << endl; cin >> num; auxiliar++; //DETERMINAMOS SI EL NUMERO INGRESADO ES 9999 while(num != 9999){ cout << "Ingrese otro numero: " << endl; cin >> numNuevo; auxiliar++; if (numNuevo == 9999){ auxiliar--; //CALCULAMOS PROMEDIO promedio = numAgregado/auxiliar; //IMPRIMIMOS RESULTADOS cout << "El promedio es: " << promedio << endl; break; } else{ numAgregado = num+numNuevo; } } getch(); }
Aclarando: Uso Borland, se que hay algunas funciones que no debo de utilizar o estan desfasadas pero son simples ejercicios y solo tengo que presentar el código nada más.
Donde esta el problema? Se puede decir que en la línea 27. Cuando ingreso 1 numero en la 17 aumenta 1 a la variable auxiliar en la linea 18, bien, ahora en el while, si ingreso otro número, automaticamente agrega 1 otra vez a la variable en la linea 25 siempre y cuando no sea 9999. Despues de eso, ingreso 9999 y vuelve a sumar 1 a auxiliar, pero le resto 1 despues dentro del if en la linea 27 para que la division sea exacta (si ingreso 2 numeros, se debe dividir en 2, si ingreso 3, se debe dividir en 3, por eso la variable), lo probe y funcionó con 2 numeros, pero de 3 en adelante, es como si la línea 27 no hiciera efecto porque divide mal, no hace su función. Podrían decirme el porqué? Perdon si no me explico bien, me avisan y vuelvo a explicar, saludos a todos!
Mod: Datos bloqueados para proteger la privacidad