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


 


Tema destacado: Doble factor de autenticación o verificación en dos pasos


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  controlador de alcoholemia en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: controlador de alcoholemia en c++  (Leído 279 veces)
santiagocohen18

Desconectado Desconectado

Mensajes: 2


Ver Perfil
controlador de alcoholemia en c++
« en: 2 Septiembre 2017, 20:25 »

necesito ayuda  :-\
estoy haciendo algo mal en la cuenta o en los int/float
teniendo en cuenta la formula de alcoholemia: (ml de sustancia / 100 ) x graduacion alcoholica (cerveza 5.5), todo eso por 0.8 y despues divides por (peso x el genero (mujer = 0.6 y hombre 0.7), lo que me sale mal es la parte "matematica" del programa, en calculadora me da distinto que en el programa

solo necesito eso del primer caso y a partir de ese caso puedo hacer los demas, gracias!



Código
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <cstdlib>
  4. #include <math.h>
  5. #include <stdio.h>
  6.  
  7. using namespace std;
  8. int main (){
  9.      int opc,a,b,xd,ml;
  10.      float res,d,cc,bb,alcolemiaa,alcolemiab,alcolemiac,hrasa,horasb,horasc,horasd,alcolemiax,kg,c;
  11.  
  12. while(xd != 5){
  13.  
  14. cout <<"\n--------MENU-------";
  15. cout <<"\n1.Nivel de alcoholemia";
  16. cout <<"\n2.En cuanto podre manejar";
  17. cout <<"\n3.en cuanto no tendre alcohol";
  18. cout <<"\n4.salir";
  19.  
  20. cout <<"\nElija una opcion ===>";cin >> opc;
  21.  
  22. switch(opc){
  23. case 1:
  24. system ("cls");
  25. cout <<"cuantos ml tomaste?"<<endl;
  26. cin >>ml;
  27. cout <<"que tomaste? (1.cerveza,2.vino,3.whisky)"<<endl;
  28. cin >>c;
  29. cout <<"cuantos pesas? (kg)"<<endl;
  30. cin >>kg;
  31. cout <<"Hombre o Mujer (1/2)"<<endl;
  32. cin >>b;
  33. if (b = 1){
  34. bb = 0.7;
  35. }
  36. if (b = 2){
  37. bb = 0.6;
  38. }
  39. if (c = 1){
  40. cc = 5.5;
  41. }
  42. if (c = 2){
  43. cc = 12;
  44. }
  45. if (c = 3){
  46. cc = 40;
  47. }
  48. res = (((ml/100)*cc)*0.8)/(kg*bb); // cc es graduacion alcoholica, bb es el genero
  49. cout <<"la respuesta es: "<<res<<endl;
  50. system ("pause");
  51. system ("cls");
  52. break;
  53. ]
  54.  
  55.  


« Última modificación: 2 Septiembre 2017, 21:17 por santiagocohen18 » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.201


ASMático


Ver Perfil WWW
Re: controlador de alcoholemia en c++
« Respuesta #1 en: 2 Septiembre 2017, 20:42 »

(ml/100)
ml es int, por lo tanto, ese /100 va a generar otro int (perdiendo los decimales)
Te diría que pongas todas las avriables que vas a usar en la fórmula como float (o al menos, las necesarias, por ejemplo, "int * float" resulta en un float).

A parte de esto, cuando vayas a hacer una pregunta, di exactamente qué es lo que ocurre, "no sé qué estoy haciendo mal" no ayuda. Di qué es lo que hace el programa mal.


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.201


ASMático


Ver Perfil WWW
Re: controlador de alcoholemia en c++
« Respuesta #2 en: 2 Septiembre 2017, 21:45 »

Y bueno, en las condiciones:
Código
  1. if (b = 1)
"=" es una asignación, no una comparación. Para comparar es "==".
En línea

santiagocohen18

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: controlador de alcoholemia en c++
« Respuesta #3 en: 2 Septiembre 2017, 21:54 »

es verdad, que estupido, ya funciona, gracias!!!
« Última modificación: 2 Septiembre 2017, 21:56 por santiagocohen18 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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