Solamente me falta calcular en la condicion: if(gramos>30 && gramos<=200)
una oficina de correo aplica la siguiente tarifa para sus envios 10 pesos por los primeros 20 gramos, 2 pesos por gramo para los siguientes 10 gramos, 1.50 pesos por gramo hasta los 200 gramos.
#include <iostream>
using namespace std;
float peso();
float gramos, pago;
int main()
{
peso();
return 0;
}
float peso(){
cout<<"Ingrese el peso de envio en gramos: ";
cin>>gramos;
if(gramos<=20){
pago=10;
cout<<"Monto a pagar: "<< pago;
}else{
if(gramos>20 && gramos<=30){
pago = (gramos - 20)*2+10;
cout<<"Monto a pagar: "<< pago;
}
}if(gramos>30 && gramos<=200){
cout<<"Monto a pagar: "<<pago;
}else{
if(gramos > 200)
cout<<"No se acepta";}
}
Para hacer esto debes mirar la cantidad que tienes cada vez, algo así:
Los primeros 20 gramos valen 10 pesos, eso es, pase lo que pase ya cobras 10.
precio = 10
Ahora hay que quitarse esos 20 gramos de encima, por tanto si el paquete mesa igual o mas a 20 gramos los quitas del peso. Si pesa menos lo llevas a 0.
Siguiente.
Si el paquete sigue pesando 10 gramos o más sumas al precio 2*10 y restas al peso del paquete los 10 gramos. En cambio si pesa menos de 10 gramos sumas al precio el peso actual por 2 pesos/gramo, y llevas el peso a 0.
Para terminar.
Si el peso supera los 200 gramos lo pones a 200. Ahora sumas al precio el peso actual por 1.5 pesos/gramo.
El precio resultante es el que debe pagar el cliente.