Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Serendipity14

#1
Programación C/C++ / Ayuda por favor!!
23 Diciembre 2011, 02:54 AM
Buenas!
Me estoy volviendo loca, necesito ayuda...
Tengo que hacer un programa que metiendo el usuario datos de consumo de agua en los meses de Noviembre y Diciembre, se haga el cálculo de litros consumidos en un cierto periodo, el precio al que asciende la factura y el máximo de litros consumidos y qué días. Por cierto, tengo que hacerlo con funciones.
Lo tengo prácticamente montado, pero tengo ciertos errores que no tengo ni idea de cómo solucionar. Si pudiera alguien que pilote un poco echarle un ojo y decirme qué es lo que falla le estaría muy agradecida.
Os dejo aquí lo que tengo hecho, muchas gracias.
_______________
#include<stdlib.h>
#include<stdio.h>
#define TOPE 31

int buscar_max(float v[],int tope);
void llenar_array(float v[],int tope);
int calcular(float v[],int dia1, int dia2);
int calcular_precio(float v[],int tope);

main()
{
      float nov[TOPE-1],dic[TOPE],totalNov,totalDic,precioTot,precioDic,precioNov;
      int op,i,p,n,pmaxN,pmaxD,pmax;

printf("Introduce el consumo,por dia, de Noviembre:\n");
llenar_array(nov,TOPE-1);
printf("\n\n");
printf("Introduce el consumo,por dia, de Diciembre:\n");
llenar_array(dic,TOPE);
printf("\n\n");

printf("Introduce un periodo comprendido entre dos dias y se calcularan los litros consumidos:\n");
printf("Elige el mes en el que quieres hacer el calculo:\n1.Noviembre.\n2.Diciembre.\n0.Finalizar.\n");
scanf("%d",&op);
switch (op)
{
       case 1:
            printf("Introduce los dias, separados por espacio, en los que quieres hacer el calculo:\n");
            scanf("%d" "%d",&i,&p);
            totalNov=calcular(nov,i,p);
            printf("El consumo total desde el dia %d hasta el dia %d es de %.2f",i,p,totalNov);
            break;
           
       case 2:
            printf("Introduce los dias, separados por espacio, en los que quieres hacer el calculo:\n");
            scanf("%d" "%d",&i,&p);
            totalDic=calcular(dic,i,p);
            printf("El consumo total desde el dia %d hasta el dia %d es de %.2f",i,p,totalDic);
            break;
       case 0:
            printf("Siguiente accion.\n");
            break;
}

printf("\nA continuacion estimaremos el total de la factura ciñendonos a los precios por consumo establecidos por la empresa.\n");
printf("La factura engloba ambos meses, Noviembre y Diciembre.\n");
precioNov=calcular_precio(nov,TOPE-1);
precioDic=calcular_precio(dic,TOPE);
precioTot=precioDic+precioNov;
printf("El total asciende a: %.2f.\n\n",precioTot);

printf("Consumo maximo de cada mes.\n ");
pmaxN=buscar_max(nov,TOPE-1);
pmaxD=buscar_max(dic,TOPE);
printf("El consumo maximo de noviembre son %.2f litros los dias: \n",nov[pmaxN]);
for(n=0;n<=TOPE;n++)
{if (nov[pmaxN]==nov[n])
{printf("%d\n",n+1);}
}
printf("El consumo maximo de diciembre son %.2f litros los dias: \n",dic[pmaxD]);
for(n=0;n<=TOPE;n++)
{if (dic[pmaxD]==dic[n])
{printf("%d\n",n+1);}
}





system("PAUSE");
}
_________Funciones
1.
#include<stdio.h>
void llenar_array(float v[],int tope)

{ int i,cons;


for(i=0;i<tope;i++)
{ do
  {
  printf("Introduce el consumo del dia %d de:\n",i+1);
  scanf("%d",&cons);
  }while (cons<0);

  v=cons;
}

}

2.
#include<stdio.h>

int calcular_precio(float v[],int tope)
{
    int i;
    float consumo=0;

for(i=0;i<tope;i++)
{ if(v<60)
  { if(v<30)
    {consumo=consumo+v*0.02;}
    else
    {consumo=consumo+v*0.05;}
  }
else
{consumo=consumo+v*0.07;} 
}
return float(consumo);

3.
#include<stdio.h>

int calcular(float v[],int dia1,int dia2)
{
  int k;
  float suma=0;
for(k=dia1-1;k<=dia2-1;k++)
{
    suma=suma+v[k];
}

return suma;
}

4.
#include<stdio.h>

int buscar_max(float v[],int tope)
{ int i;
  float pmax=0;

for(i=1;i<tope;i++)
{if (v>v[pmax])
    i=pmax;
}
return pmax;
}