Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ja tentei quase tudo
#3
Vê se isto te serve. Foi feito à pressa por isso é possível que tenha algun(s) bug(s)


[codebox]#include <stdio.h>

unsigned int anterior[10] = {10,3,2,1,5,7,8,1,1,5};
unsigned int actual[10] = {12,453,47,856,33,78,33,93,784,22};
unsigned int tipoCliente[10] = {1,2,3,1,2,3,1,2,3,1};

float residencial = 0.09;
float comercial = 0.13;
float rural = 0.04;

float residencialTotal = 0;
float comercialTotal = 0;
float ruralTotal = 0;

int i = 0;

int verificaClientes(int array[])
{
for(i = 0; i < 10; i++)
if(array[i] < 1 || array[i] > 3)
return -1;
return 0;
}

int verificaLeituras(int anterior[], int actual[])
{
for(i = 0; i < 10; i++)
if(anterior[i] == 0 || actual[i] == 0 || (anterior[i]>actual[i]) )
return -1;
return 0;
}

float calcValor(int indice)
{
int temp = actual[indice]-anterior[indice];
int tipo = tipoCliente[indice];
int valor = 0;

switch(tipo)
{ case 1:
valor=(temp*residencial);
if(valor<15) valor = 15;
residencialTotal=residencialTotal+valor;
break;
case 2:
valor=(temp*comercial);
if(valor<15) valor = 15;
comercialTotal=comercialTotal+valor;
break;
case 3:
valor=(temp*rural);
if(valor<15) valor = 15;
ruralTotal=ruralTotal+valor;
break;
}

return valor;
}

int main(void)
{
if(verificaClientes(tipoCliente) < 0)
printf("Erro em tipo de clientes\n");
if(verificaLeituras(anterior, actual) < 0)
printf("Erro nas leituras\n");

int j = 0;

printf("Medidor\t, Consumo\t,Valor da Conta\n");
for(j = 0; j < 10; j++)
printf("%d,\t %d,\t %6.2f\n",
actual[j],
actual[j]-anterior[j],
calcValor(j)
);

printf("Total Residencial: %.2f\nTotal Comercial: %.2f\nTotal Rural: %.2f\n", residencialTotal, comercialTotal, ruralTotal);

return 0;

}

[/codebox]
Reply


Messages In This Thread
ja tentei quase tudo - by edimar0007 - 22-12-2007, 01:56 AM
ja tentei quase tudo - by Alexandre Caetano - 22-12-2007, 10:31 AM
ja tentei quase tudo - by Rui Azevedo - 22-12-2007, 06:17 PM
ja tentei quase tudo - by edimar0007 - 25-12-2007, 03:35 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Quase... João Barbosa 8 3.059 15-08-2007, 09:24 PM
Last Post: Marco Ribeiro
  Tudo o que queiram dizer? Carlos Costa 6 2.980 02-08-2007, 01:15 PM
Last Post: diospiro_verde
  Tudo a saltar!!! Diogo Ramalho 10 4.695 15-07-2005, 11:26 PM
Last Post: Bruno Nobre

Forum Jump:


Users browsing this thread: 1 Guest(s)