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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ejercicio  (Leído 2,014 veces)
flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
ejercicio
« en: 8 Enero 2013, 15:40 pm »

bueno acá un ejercicio de libro...y no se donde esta la falla
Citar
"un estacionamiento cobra una cuota mínima de $2,00 por estacionarse hasta tres horas. El estacionamiento cobra $0.5 adicionales por cada hora o fracción que se pase de tres horas. El cargo máximo para cualquier periodo dado de 24Hs.es de $10,00 Suponga que ningún auto se estaciona durante mas de 24hs. a la vez. Escriba un programa que calcule y muestre los cargos por estacionamiento para cada uno de tres clientes que estacionaron su auto . Debe introducir las horas de estacionamiento para cada cliente"
acá mi código uso la logica de que entran y salen el mismo dia...o sea 00:00:00 hasta 24:00:00
Código:
#include <iostream>
using namespace std;
int diferencia;
 
int hora_segundo(int h, int m,int s)
{
return (h*3600)+(m*60)+s;
}

void diferencia_hora()
{
int h_e,h_s,m_e,m_s,s_e,s_s;
int hora_ingreso, hora_egreso, diferencia;
cout<<"ingrese la hora de entrada en formato 24hs."<<endl;
cout<<"ejemplo 15:30:25 un dato a la vez"<<endl;
cout<<"ingrese la hora de entrada"<<endl;
cin>>h_e;
cout<<"ingrese los minutos"<<endl;
cin>>m_e;
cout<<"ingrese los segundos"<<endl;
cin>>s_e;
hora_ingreso=hora_segundo(h_e, m_e, s_e);
cout<<"ingrese la hora de salida en formato 24hs."<<endl;
cout<<"ejemplo 20:35:42 un dato a la vez"<<endl;
cout<<"ingrese la hora de entrada"<<endl;
cin>>h_s;
cout<<"ingrese los minutos"<<endl;
cin>>m_s;
cout<<"ingrese los segundos"<<endl;
cin>>s_s;
hora_egreso=hora_segundo(h_s, m_s,s_s);
diferencia=hora_egreso-hora_ingreso;

}

void horas()
{
int sec, hr, min;
sec=diferencia;
    hr = sec / (60*60);
    sec %= 60*60;
    min = sec / 60;
    sec %= 60;
    cout << hr << " hora";
    if(hr != 1) cout << "s";
    cout << ":" << min << " minuto";
    if(min != 1) cout << "s";
    cout << ":" << sec << " segundo";
    if(sec != 1) cout << "s";
}

int calcularCargo()
{
int dif, rdo, rdo1;
dif=diferencia;
if (dif<=10800)
{
rdo=2;
}
else
{
if ((dif<10800)&&(dif>=86400))
{
rdo=(dif-10800)/3600;
rdo1 %= 60*60;
if (rdo1>=1)
{
rdo=rdo+1;
}
rdo=2+(rdo*0.5);
}

}
return rdo;

}

int main()
{
diferencia_hora();
horas();
calcularCargo();
system("PAUSE");
cin.get();
return 0;
}
lo peor es que es un error logico, porque compila y todo  :(


En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: ejercicio
« Respuesta #1 en: 8 Enero 2013, 16:12 pm »

lo peor es que es un error logico, porque compila y todo  :(

.........................................sorry, ya ví que declaras diferencia como variable global pero no le "llega"  a las funciones "horas();   calcularCargo();"
Por cierto, te falta  "#include <cstdlib>" para usar "system("PAUSE");".
REEDITO: Ahora sí llega:
Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int diferencia;
  5.  
  6. int hora_segundo(int h, int m,int s){
  7. return (h*3600)+(m*60)+s;
  8. }
  9.  
  10. int diferencia_hora()
  11. {
  12. int h_e,h_s,m_e,m_s,s_e,s_s;
  13. int hora_ingreso, hora_egreso, diferencia;
  14. cout<<"ingrese la hora de entrada en formato 24hs."<<endl;
  15. cout<<"ejemplo 15:30:25 un dato a la vez"<<endl;
  16. cout<<"ingrese la hora de entrada"<<endl;
  17. cin>>h_e;
  18. cout<<"ingrese los minutos"<<endl;
  19. cin>>m_e;
  20. cout<<"ingrese los segundos"<<endl;
  21. cin>>s_e;
  22.  
  23. hora_ingreso=hora_segundo(h_e, m_e, s_e);
  24. cout<<"hora_ingreso "<<hora_ingreso<<endl;
  25. cout<<"ingrese la hora de salida en formato 24hs."<<endl;
  26. cout<<"ejemplo 20:35:42 un dato a la vez"<<endl;
  27. cout<<"ingrese la hora de salida"<<endl;
  28. cin>>h_s;
  29. cout<<"ingrese los minutos"<<endl;
  30. cin>>m_s;
  31. cout<<"ingrese los segundos"<<endl;
  32. cin>>s_s;
  33. hora_egreso=hora_segundo(h_s, m_s,s_s);
  34. cout<<"hora_egreso "<<hora_egreso<<endl;
  35. diferencia=hora_egreso-hora_ingreso;
  36. cout<<"diferencia "<<diferencia<<endl;
  37. return diferencia;
  38.  
  39. }
  40.  
  41. void horas(int dif)
  42. {
  43. /*cout<<"diferencia "<<dif<<endl;
  44. cout<<"diferencia "<<diferencia<<endl;*/
  45. int sec, hr, min;
  46. sec=diferencia;
  47.    hr = sec / (60*60);
  48.    sec %= 60*60;
  49.    min = sec / 60;
  50.    sec %= 60;
  51.    cout << hr << " hora";
  52.    if(hr != 1) cout << "s";
  53.    cout << ":" << min << " minuto";
  54.    if(min != 1) cout << "s";
  55.    cout << ":" << sec << " segundo";
  56.    if(sec != 1) cout << "s";
  57. }
  58.  
  59. int calcularCargo(int dif)
  60. {
  61. int  rdo, rdo1;
  62.  
  63. if (dif<=10800)
  64. {
  65. rdo=2;
  66. }
  67. else
  68. {
  69. if ((dif<10800)&&(dif>=86400))
  70. {
  71. rdo=(dif-10800)/3600;
  72. rdo1 %= 60*60;
  73. if (rdo1>=1)
  74. {
  75. rdo=rdo+1;
  76. }
  77. rdo=2+(rdo*0.5);
  78. }
  79.  
  80. }
  81. return rdo;
  82.  
  83. }
  84.  
  85. int main()
  86. {
  87. diferencia=diferencia_hora();
  88. /*cout<<"diferencia2 "<<diferencia<<endl;
  89. system("PAUSE");*/
  90. horas(diferencia);
  91. calcularCargo(diferencia);
  92. system("PAUSE");
  93. cin.get();
  94. return 0;
  95. }
  96.  
Saluditos!.


« Última modificación: 8 Enero 2013, 16:48 pm por leosansan » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejercicio 506
Ejercicios
ieman 0 3,941 Último mensaje 13 Mayo 2005, 17:42 pm
por ieman
Ejercicio en C
Ejercicios
ߣ@î§ 3 10,855 Último mensaje 4 Septiembre 2005, 06:31 am
por ߣ@î§
Help Ejercicio 122 en C
Ejercicios
ANELKAOS 4 5,189 Último mensaje 15 Septiembre 2005, 23:41 pm
por Arcangel_RZ
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 16,655 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
ejercicio conclase pag 70 ejercicio 1
Programación C/C++
flony 2 4,596 Último mensaje 17 Octubre 2010, 12:16 pm
por Akai
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines