Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucas fantin

programa c

Recommended Posts

Alguém consegue me ajudar nesse código?

 

  1. A companhia energética ACME realiza leituras mensalmente em todas as residências de uma determinada cidade. Depois de um acordo com a prefeitura, estabeleceu-se valores da tarifa cobrado por cada kilowatt/hora (kWh) de acordo com as faixas de consumo para incentivar a economia de energia. Assim, caso alguém consuma 150 kWh, pagará pelos 100 primeiros de acordo com a tarifa da faixa 1 e os 50 restantes pela tarifa da faixa. A tabela a seguir relaciona os valores de tarifas que foram acordados entre a companhia e a prefeitura.

Faixa

Tarifa(R$)

1

Primeiros 100 kWh

0,2913

2

101 a 250 kWh

0,3623

Faça uma aplicação para ajudar a companhia ACME a calcular os valores das contas de luz da cidade. Para calcular e exibir essas informações, a aplicação deverá receber como entrada, para cada residência, o código da unidade consumidora, a leitura anterior em kWh (maior que zero), a leitura atual em kWh (maior que zero). O valor total a ser pago é dado pelo valor calculado pelo consumo de energia adicionado ao valor de 25% de ICMS. Mostrar no formato "O valor da unidade consumidora número 999 é R$ 999.99". Ao final, efetuar a pergunta: "Deseja efetuar o cálculo para outra residência?" ('s' ou 'n'). Se a resposta for positiva, repetir a operação.

Eu fiz isso mas não consigo ir pra frente:

#include <stdio.h>
#include <stdlib.h>
int main(void) {
setbuf(stdout, NULL);
float gasto, anterior, atual;
int uniCons;
char novoCalculo;
do {
printf("informe o código da unidade consumidora: ");
scanf("%f", &uniCons);
fflush(stdin);
printf("informe o valor anterior em kWh: ");
scanf("%f", &anterior);
fflush(stdin);
printf("informe o valor atual em kWh: ");
scanf("%f", &atual);
fflush(stdin);
gasto = anterior - atual;
do {
printf("Deseja efetuar o calculo para outra residencia?");
novoCalculo = getchar;
} while (novoCalculo != 's' && novoCalculo != 'n');
} while (novoCalculo == 's');
return EXIT_SUCCESS;
}

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na replicação do seu post, não vai conseguir ajuda.

 

Tente postar pelo menos o código formatado, e usando o BBcode, além

de especificar onde está com grandes dificuldades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz aqui...testa ai :)

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <stdlib.h>
#include <locale.h>

main(void){
	
	*setlocale(LC_ALL,"");

	int cod;
	float l1, l2, total, consumo, varia;
	char resp;
	
	do{
		total=0;
		consumo=0;
		
		printf("Digite o código da unidade consumidora: \n");
		scanf("%d", &cod);
		fflush(stdin);
		
		printf("Digite o valor da leitura antiga: \n");
		scanf("%f", &l1);
		fflush(stdin);
	
		printf("Digite o valor da leitura atual: \n");
		scanf("%f", &l2);
		fflush(stdin);
	
		consumo= l2-l1;

		if(consumo>100.0){
			varia= consumo-100.0;
			varia= varia*0.3623;
			total=(100*0.2913)+varia;		
		}
	
		if(consumo<100.0){
			total= consumo*0.2913;
		}
	
		total= total*1.25;
	
		printf("O valor da unidade consumidora %d é de : %f ", cod, total);
		printf("Deseja efetuar o cálculo para outra residência? (s ou n ?)");
		scanf("%c", &resp);
		fflush(stdin);
		
	}while(resp!='n');

getch();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não use fflush na entrada padrão.

Use %*c no scanf ou fgets.

 

Pode crer! Faz tempo q nao programo em C . Voltei a dar uma lida sobre o scanf e realmente eles tem alguns problemas. Tks

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.