Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: gallardo22 en 28 Octubre 2012, 14:33 PM

Título: Ayuda con un programa muy facil
Publicado por: gallardo22 en 28 Octubre 2012, 14:33 PM
tengo que hacer una tarea tal que en una empresa calcules el consumo de la factura.

entonces lo que yo tengo hecho de codigo es esto:#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
   float empresa, particular, pensionista;
   float precio_de_la_factura;
   float consumo;
   printf("Introduzca la cantidad (en m^3):");
   scanf("%f", &consumo);
   if (consumo < 50.0f)
       precio_de_la_factura = 0.50f * consumo;
   else if (consumo > 50.0f)
       precio_de_la_factura = 0.75f * consumo;
   printf("Empresa,particular,pensionista: ");
   scanf("%f", empresa);
   scanf("%f", particular);
   scanf("%f", pensionista);
   
   if(empresa==empresa)
     precio_de_la_factura = precio_de_la_factura* 0.73f;
   if (particular==particular)
     precio_de_la_factura = precio_de_la_factura* 0.77f;
   if (pensionista==pensionista)
     precio_de_la_factura = precio_de_la_factura* 0.88f;    
     if (precio_de_la_factura < 10.0f)
       precio_de_la_factura = 10.0f;
   printf("el precio de la factura es: %.2f euros\n", precio_de_la_factura);
   system("pause");
   return (EXIT_SUCCESS);
}


Ahora mi duda viene con la parte de si eres particular, empresa o pensionista, a la hora de introducir el descuento. No se muy bien como hacerlo, lo he intentado pero no me lo toma como valido el compilador y  se salta esas lineas.

Muchas gracias de antemano  ;D
Título: Re: Ayuda con un programa muy facil
Publicado por: leosansan en 28 Octubre 2012, 20:25 PM
Quedaría por "ajustar "cositas" en el código, pero para que salgas de la duda y variando lo mínimo tu código, sería:
Código (cpp) [Seleccionar]

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
    int empresa_particular_pensionista;
    float precio_de_la_factura;
    float consumo;
    printf("Introduzca la cantidad (en m^3):");
    scanf("%f", &consumo);
    if (consumo < 50.0)
        precio_de_la_factura = 0.50 * consumo;
    else if (consumo > 50.0)
        precio_de_la_factura = 0.75 * consumo;
    printf("Empresa (1),particular (2),pensionista (3): ");
    scanf("%d", &empresa_particular_pensionista);

    if(empresa_particular_pensionista==1)
        precio_de_la_factura*=0.73;
    if (empresa_particular_pensionista==2)
        precio_de_la_factura*=0.77;
    if (empresa_particular_pensionista==3)
        precio_de_la_factura*=0.88;
    if (precio_de_la_factura < 10.0)
        precio_de_la_factura = 10.0;
    printf("el precio de la factura es: %.2f euros\n", precio_de_la_factura);
    system("pause");
    return (EXIT_SUCCESS);
}

Saludos!.
Título: Re: Ayuda con un programa muy facil
Publicado por: gallardo22 en 28 Octubre 2012, 21:02 PM
muchisimas gracias! estaba atascado en eso y ya no sabia que hacer :D

PD: por curiosidad, tu que cambiarias del codigo?
Título: Re: Ayuda con un programa muy facil
Publicado por: flony en 28 Octubre 2012, 21:23 PM
creo que alguna macama me mande en la parte de la funcion pago
esta hecho en c++ pero mas o menos para tener una idea
#include <iostream>

using namespace std;

float pago(float metro_cubico)
{
float pago;

if(metro_cubico<=10){pago=10.0;}
else {
   if ((metro_cubico>10 )&&( metro_cubico<50)){
pago=((metro_cubico-10)*0.50 + 10.0);}
else {
if(metro_cubico>=50){
pago=((metro_cubico * 0.75)+10.0);}
}
}
return pago;
}

float tipo_prestador(int a)
{
float tasa;
if (a==1){ tasa= (1.27);}
if (a==2){ tasa=1.23;}
if (a==3){ tasa=1.12;}
return tasa;
}

void main()
{
float m3;
int prestador;
cout<<"buen dia ingrese los metros cubicos: " <<endl;
cin>>m3;
cout<<"ahora ingrese el tipo de prestador: " <<endl;
cin>>prestador;
cout<<"pago "<<endl;
cout <<pago(m3)*tipo_prestador(prestador)<<endl;
system("PAUSE");
}