Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: escuderoi en 12 Junio 2015, 23:39 pm



Título: Ayuda ejercicio c++
Publicado por: escuderoi en 12 Junio 2015, 23:39 pm
Les dejo el enunciado, apenas logro comprender lo que se pide... si alguno lo comprende por favor paseme aunque sea el pseudocodigo o un diagrama de flujo para pensarlo yo.

Gracias

POR CIERTO, SOLO VIMOS HASTA CICLOS CON WHILE, NO USAMOS FOR NI VIMOS VECTORES/MATRICES

EJERCICIO 2 Un estacionamiento público cobra una tarifa mínima de $20.00 por estacionarse hasta tres horas;  luego cobra $5.00 por cada hora o fracción a partir de las tres horas. La tarifa máxima por período de 24 horas es de $100.00. Suponga que ningún automóvil se estaciona por más de 24 horas a la vez. Escriba un programa que calcule e imprima las cuentas por estacionamiento de tres clientes que dejaron allí sus autos ayer. Usted introduce las horas de estacionamiento de cada cliente. Su programa imprimirá los resultados en forma tabular y con orden, y calculará e imprimirá el total de los recibos de ayer. Sus salidas deberán aparecer en el siguiente formato:
Auto         Horas             Cargo
1           1.5        20.00
2           4.0        25.00
3         24.0      100.00
TOTAL      29.5           145.00


Título: Re: Ayuda ejercicio c++
Publicado por: Regexp en 13 Junio 2015, 00:10 am
Buenas,

¿Tienes un máximo de clientes para tabular? Si es así, es un ejercicio de módulo (el operador %). Sino, me temo que se debe hacer con vectores (o una lista)

Saludos


Título: Re: Ayuda ejercicio c++
Publicado por: escuderoi en 13 Junio 2015, 00:18 am
Según el enunciado, aclara "de tres clientes" únicamente


Título: Re: Ayuda ejercicio c++
Publicado por: Regexp en 13 Junio 2015, 03:27 am
Según el enunciado, aclara "de tres clientes" únicamente

Buenas, en ese caso necesitas tres variables, escribo algo de psudocódigo sólamente para una factura.

Código:
sea horas y factura variables tipo flotante
sea aux de tipo entero

si horas<=3 entonces factura = 20
si horas>3 entonces
aux = casting horas a entero
factura =20 + [ aux - 3 ]*5
si factura>100 entonces factura = 100

Entiendo que cuando dice 20 como tarifa mínima hasta 3 horas y 5 por hora o fracción adicional pide por ejemplo que si son 4 horas son 20+5 el total, y si son, por ejemplo 4 horas y media el total a pagar por ese cliente sería 20+0.5*5 (o sea la fracción de hora adicional)

Con casting me refiero a lo siguiente
Código
  1. (int) factura
  2.  

En ese caso se trunca el numero flotante a su parte entera, si es 3.5, devuelve 3.

Mientras no introduzcan cantidades exorbitantes des horas no dará problemas. Creo que la librería stándar math.h trae algo por el estilo. Quizás también te sirva.

Seguramente necesites una variable para almacenar los totales y tres pares de variables para las facturas y las oras para ir pidiendo de tres en tres.

Saludos