Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream> //Le decimos al preprocesador que prepare los archivos contendios en el input/output stream header file? lol
- #include <iomanip> //manipulador de flujo parametrizado? lolwtf
- using std::cin; //predefinimos que vamos a utilizar flujo de entrada standar
- using std::cout; //predefinimos que vamos a utilizar flujo de salida standar
- using std::endl; //predefinimos que vamos a utilizar el liberador de linea
- using std::fixed;
- using std::setprecision; //asigna la precision de la salida numerica
- int main() //iniciamos el programa main
- {
- // Hora de declarar ALL the variables we will use, they are all "int" porque solo almacenan enteros.
- int sumaDeNotas;
- int contadorDeNotas;
- int calificacion;
- double promedioNotas; //double porque necesitamos almacenar decimales :D
- //Fase inicial, asignar valores inciales. El contador empieza en 0 y las notas aun no tienen valor, i.e 0
- sumaDeNotas = 0;
- contadorDeNotas = 0;
- /*Fase de procesamiento, primero, le decimos al usuario cual va a ser el trigger
- para indicar que no hay mas calificaciones por ingresar
- */
- cout << "Por favor introduzca la calificacion (Use '-1' para finalizar):\n";
- cin >> calificacion;
- /*
- hora de generar nuestro loop
- Siempre y cuando el valor de "calificacion" sea diferente al trigger "-1"
- se le pide al usuario que introduzca una nota mas
- la cual se almacena en la variable "calificacion"
- y luego se añade el valor de "calificacion" obtenido, a "sumaDeNotas"
- por ultimo, se hace contar que se introdujo una nota mas, y por ende "contadorDeNotas"
- recibe un aumento de 1 entero.
- */
- while (calificacion != -1) {
- sumaDeNotas = sumaDeNotas + calificacion;
- contadorDeNotas = contadorDeNotas + 1;
- cout << "Por favor introduzca la calificacion (Use '-1' para finalizar):\n";
- cin >> calificacion;
- }
- /*Una vez el loop ha concluido, porque el usuario ingreso el trigger "-1",
- se calcula el promedioNotas, y se imprime el valor en pantalla.
- Primero tenemos que asegurarnos que no vamos a dividir entre 0, porque eso es
- un error FATAL
- */
- if (sumaDeNotas != 0) {
- /*
- Con el operador "static_cast" hacemos una copia del operando "sumaDeNotas" en tipo "double" no "int" - su tipo original
- C++ solo puede evaluar expresiones en las cuales los operandos son del mismo tipo, asi que el programa solo convierte
- el operando "contadorDeNotas" a tipo "double" para realizar la division.
- Todo esto con el fin de que el resultado sea un valor del tipo double (o variable en punto flotante)
- */
- promedioNotas = static_cast< double >(sumaDeNotas) / contadorDeNotas;
- /*
- Con el manipulador "setprecision" le indicamos al programa que el output tiene que ser redondeado a (2) decimales
- El manipulador "fixed" indica que usaremos notacion de punto fijo, y no notacion cientifica; en la variable "promedioNotas"
- */
- cout << "El promedio de la clase es: " << setprecision (2) << fixed << promedioNotas << "\n" << endl;
- }
- else {
- cout << "Usted no introdujo ninguna calificacion";
- }
- return 0; //indica que el programa termino satisfactoriamente
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement