Dev - C++ - kilometraje

 
Vista:

kilometraje

Publicado por Kilometrage (2 intervenciones) el 31/10/2017 05:02:00
necesito ver como puedo modificar mi codigo y ver en me equivoque

Una compañía de renta de automóviles desea un programa para emitir las facturas de sus clientes. La forma de cobro es la siguiente:
a. Se cobra la cantidad fija de $1,000 si no se rebasan los 300 Km.
b. Para distancias mayores a 300 km:
• Si distancia > 300 km y <= 1,000 km: $1,000 + ($5 por cada km arriba de los 300).
• Si la distancia es mayor que 1,000 km: $1,000 + ($5 por cada km arriba de los 300 hasta los 1,000) + ($3 por cada km arriba de los 1,000).

porfavor alguien que me apoye
ejemplo de resultados
30 $1,000
300 $1,000
310 $1,000 + (10 km * $5) = $1,050
1,000 $1,000 + (700 km * $5) = $4,500
1,010 $1,000 + (700 km * $5) + (10 km * $3) = $4,530


mi codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
 
using namespace std;
 
double totalPago(int numKilometros);
 
int main() {
 
	int numKilometros;
 
	cout << "Introduce el numero de Km que has utilizado: ";
	cin >> numKilometros;
 
	cout << "La Cantidad a pagar por sus Km es: "<< totalPago(numKilometros) <<"$";
 
	return 0;
}
 
double totalPago(int numKilometros)
{
	double pago;
	int kmAdicionales;
 
	if(numKilometros<=300)
	{
		pago = 1000;
	}
	if(numKilometros>300 || numKilometros<1000)
	{
		kmAdicionales = numKilometros - 300;
 
		kmAdicionales = kmAdicionales % 10;
 
		pago = 1000 +(kmAdicionales * 5);
	}
	if(numKilometros==1000)
	{
		pago = 4500;
	}
	if (numKilometros>1000)
	{
		kmAdicionales = numKilometros - 700;
 
		kmAdicionales = kmAdicionales % 700;
 
		pago = 1000 + (kmAdicionales*5);
 
		kmAdicionales = kmAdicionales % 10;
 
		pago = pago + (kmAdicionales*3);
 
	}
	return pago;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder