Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: grossgore en 19 Febrero 2017, 23:39 pm



Título: Consulta de ejercicio lenguaje C
Publicado por: grossgore en 19 Febrero 2017, 23:39 pm
Hola estoy resolviendo una guia practica de mi escuela y estoy trancado en un ejercicio, pienso que el ejercicio es facil pero realmente no entiendo como hacerlo...a ver no quiero que me lo resuelvan solo que me den como un empujoncito de como hacerlo o una pista...

el ejercicio es el siguiente:   Calcular el monto a pagar en una cabina de Internet si el costo por hora es de 1,5 y por cada 5 horas te dan una hora de promoción gratis.

lo que no logro hacer es como poner lo de que cada 5 horas te dan una promocion gratis, yo lo habia hecho de una manera pero esta mal porque lo que hice fue que cuando la persona tuviera 5 horas le dieran una promocion gratis, pero que pasa si esa persona lleva10 horas o 15 horas... esa es mi duda

Código
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int hora;
  5. float costo;
  6. float paga;
  7. costo=1.5;
  8.  
  9. printf("Ingrese la cantidad de horas que lleva en el internet:\n");
  10. scanf("%i",&hora);
  11.  
  12. paga=hora*costo;
  13. printf("El monto a pagar es: %.2f\n",paga);
  14.  
  15. return 0;
  16. }


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Consulta de ejercicio lenguaje C
Publicado por: engel lex en 19 Febrero 2017, 23:51 pm
puedes usar división de enteros

cuando son enteros
1/5 = 0
4/5 = 0

así que puedes usar esto a tu favor sabiendo cuantas "cinco horas" han pasado

divides las horas entre 5 y el resultado, se lo restas a la cantidad de horas y luego multiplicas por el costo


Título: Re: Consulta de ejercicio lenguaje C
Publicado por: ivancea96 en 19 Febrero 2017, 23:52 pm
Lo más trivial sería ir hora a hora sumando (y cada 5, la sigueinte no sumarla).

Lo más eficiente sería calcular cuantas horas gratis hay. Para ello, puedes usar una fórmula, sin contar hora a hora. Pero bueno, creo que es mejor que primero lo hagas como puedas, no tendría sentido que te dé la fórmula y ya.

Prueba eso, sumar cada hora. Con un for, por ejemplo (o un while, vaya).