Advertisement
daniel_c05

Introduction to "Double" type variables

Jan 28th, 2012
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. #include <iostream>         //Le decimos al preprocesador que prepare los archivos contendios en el input/output stream header file? lol
  2. #include <iomanip>          //manipulador de flujo parametrizado? lolwtf
  3. using std::cin;         //predefinimos que vamos a utilizar flujo de entrada standar  
  4. using std::cout;        //predefinimos que vamos a utilizar flujo de salida standar
  5. using std::endl;        //predefinimos que vamos a utilizar el liberador de linea
  6. using std::fixed;  
  7. using std::setprecision;    //asigna la precision de la salida numerica
  8.  
  9. int main()          //iniciamos el programa main
  10.  
  11. {
  12. // Hora de declarar ALL the variables we will use, they are all "int" porque solo almacenan enteros.
  13.  
  14. int sumaDeNotas;    
  15. int contadorDeNotas;
  16. int calificacion;
  17. double promedioNotas;       //double porque necesitamos almacenar decimales :D
  18.  
  19. //Fase inicial, asignar valores inciales. El contador empieza en 0 y las notas aun no tienen valor, i.e 0
  20.  
  21. sumaDeNotas = 0;
  22. contadorDeNotas = 0;
  23.  
  24. /*Fase de procesamiento, primero, le decimos al usuario cual va a ser el trigger
  25.   para indicar que no hay mas calificaciones por ingresar
  26. */
  27.  
  28. cout << "Por favor introduzca la calificacion (Use '-1' para finalizar):\n";
  29. cin >> calificacion;
  30.  
  31. /*
  32.   hora de generar nuestro loop
  33.   Siempre y cuando el valor de "calificacion" sea diferente al trigger "-1"
  34.   se le pide al usuario que introduzca una nota mas
  35.   la cual se almacena en la variable "calificacion"
  36.   y luego se añade el valor de "calificacion" obtenido, a "sumaDeNotas"
  37.   por ultimo, se hace contar que se introdujo una nota mas, y por ende "contadorDeNotas"
  38.   recibe un aumento de 1 entero.
  39. */
  40.  
  41. while (calificacion != -1) {
  42. sumaDeNotas = sumaDeNotas + calificacion;
  43. contadorDeNotas = contadorDeNotas + 1;
  44. cout << "Por favor introduzca la calificacion (Use '-1' para finalizar):\n";
  45. cin >> calificacion;
  46. }
  47.  
  48. /*Una vez el loop ha concluido, porque el usuario ingreso el trigger "-1",
  49.   se calcula el promedioNotas, y se imprime el valor en pantalla.
  50.   Primero tenemos que asegurarnos que no vamos a dividir entre 0, porque eso es
  51.   un error FATAL
  52. */
  53. if (sumaDeNotas != 0) {
  54. /*
  55. Con el operador "static_cast" hacemos una copia del operando "sumaDeNotas" en tipo "double" no "int" - su tipo original
  56. C++ solo puede evaluar expresiones en las cuales los operandos son del mismo tipo, asi que el programa solo convierte
  57. el operando "contadorDeNotas" a tipo "double" para realizar la division.
  58. Todo esto con el fin de que el resultado sea un valor del tipo double (o variable en punto flotante)
  59. */
  60. promedioNotas = static_cast< double >(sumaDeNotas) / contadorDeNotas;
  61. /*
  62. Con el manipulador "setprecision" le indicamos al programa que el output tiene que ser redondeado a (2) decimales
  63. El manipulador "fixed" indica que usaremos notacion de punto fijo, y no notacion cientifica; en la variable "promedioNotas"
  64. */
  65. cout << "El promedio de la clase es: " << setprecision (2) << fixed << promedioNotas << "\n" << endl;
  66. }
  67. else {
  68. cout << "Usted no introdujo ninguna calificacion";
  69. }
  70. return 0;       //indica que el programa termino satisfactoriamente
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement