elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  el resultado de la división no me con puntos decimales
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: el resultado de la división no me con puntos decimales  (Leído 2,473 veces)
alexfajam

Desconectado Desconectado

Mensajes: 1


Ver Perfil
el resultado de la división no me con puntos decimales
« en: 6 Septiembre 2017, 20:45 pm »

Ayuda hice el siguiente código pero el resultado de la división no me con puntos decimales, lo declare con float y o encuentro el error

Código
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5. void portada (void);
  6. int Leervariable (void);
  7. int Suma (int A,int B);
  8. int Resta (int A,int B);
  9. int Multiplicacion (int A,int B);
  10. float Division (int A,int B);
  11. void Imprimir (int C);
  12.  
  13. int main (void)
  14. {
  15.    int A,B,C,op;
  16.    float C1;
  17.  
  18.    portada();
  19.    A=Leervariable();
  20.    B=Leervariable();
  21.    C=Suma (A,B);
  22.    C=Resta (A,B);
  23.    C=Multiplicacion (A,B);
  24.    C1=Divicion (A,B);
  25.  
  26. cout<<endl<<endl<<"\t\t Menu";
  27. cout<<endl<<endl<<"\t\t 1. Suma";
  28. cout<<endl<<endl<<"\t\t 2. Resta";
  29. cout<<endl<<endl<<"\t\t 3. Multiplicacion";
  30. cout<<endl<<endl<<"\t\t 4. Division";
  31. cout<<endl<<endl<<"\t\t Selecciona una opcion\t";
  32. cin>> op;
  33. switch (op)
  34. {
  35. case 1:
  36.    C=Suma (A,B);
  37.    cout<<endl<<endl<<"\t\t Tu resultado:\t\t" <<C<<"\n\t\t";
  38. break;
  39. case 2:
  40.    C=Resta (A,B);
  41.    cout<<endl<<endl<<"\t\t Tu resultado:\t\t" <<C<<"\n\t\t";
  42. break;
  43. case 3:
  44.    C=Multiplicacion (A,B);
  45.    cout<<endl<<endl<<"\t\t Tu resultado:\t\t" <<C<<"\n\t\t";
  46. break;
  47. case 4:
  48.    C1=Division (A,B);
  49.    cout<<endl<<endl<<"\t\t Tu resultado:\t\t" <<C1<<"\n\t\t";
  50. break;
  51. default:cout<<endl<<endl<<"\t\t No existe opcion"<<"\n\t\t";
  52. }
  53.    system ("pause");
  54.    return 0;
  55. }
  56. void portada (void)
  57. {
  58. cout<<endl<<endl<<"\t\t Instituto Politecnico Nacional";
  59. cout<<endl<<endl<<"\t\t Escuela Superior de Ingieneria Mecanica y Electrica";
  60. cout<<endl<<endl<<"\t\t Ingenieria en Comunicaciones y Electronica";
  61. cout<<endl<<endl<<"\t\t Grupo:1CV11               Turno Vespertino";
  62. cout<<endl<<endl<<"\t\t Fajardo Munoz Alejandro";
  63. }
  64. int Leervariable (void)
  65. {
  66.    int A;
  67.    cout<<endl<<endl<<"\t\t Ingresa un valor"<<"\t";
  68.    cin>>A;
  69.    return A;
  70. }
  71. int Suma (int A,int B)
  72. {
  73.    int C;
  74.    C=A+B;
  75. return C;
  76. }
  77. int Resta (int A,int B)
  78. {
  79.    int C;
  80.    C=A-B;
  81. return C;
  82. }
  83. int Multiplicacion (int A,int B)
  84. {
  85.    int C;
  86.    C=A*B;
  87. return C;
  88. }
  89. float Division (int A,int B)
  90. {
  91.    float C1;
  92.    C1=A/B;
  93. return C1;
  94. }


· Los códigos deben ir en etiquetas GeSHi
· Lostítulos deben ser  descriptivos
>aquí las reglas del foro
-Engel Lex


« Última modificación: 7 Septiembre 2017, 01:15 am por engel lex » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Switch
« Respuesta #1 en: 6 Septiembre 2017, 22:29 pm »

En la línea de la función división "C1=A/B;".
C1 -> float
A -> int
B -> int

Separemos por partes. A C1 le estás asignando el resultado de A/B.
Por tanto, olvidemos C1, y centrémonos en A/B.
A y B son int, por tanto, cualquier operación básica que hagas con ellos, dará como resultado un int. Esto es así con todos los tipos cuando son iguales.
En resumen, A/B da un resulado entero, así que da igual que C1 sea float, le estás asignando un entero.

Otro caso sería que A fuera int y B fuera float. Si uno de los miembros de la operación es float o double, el resultado será float o double.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines