Ir para conteúdo
Fórum Script Brasil
  • 0

Meu total de consumo não funciona


celiofreitas

Pergunta

Boa noite!

Sou novo programando, estou precisando fazer um programa que leia o número de habitantes de uma determinada cidade, o valor do kwh, e para cada habitante gere aleatoriamente os seguintes dados: consumo do mês (0 - 500)e o código do consumidor (1-Residencial, 2-Comercial, 3-Industrial). No final imprima o maior, o menor e a média do consumo dos habitantes; e por fim o total do consumo de cada categoria de consumidor.

Estou com problema na hora de demonstrar o total de consumo de cada categoria, é gerado números aleatórios e não a soma correta dos consumos.]

outro problema que não consigo solucionar é que as vezes quando copila, sempre no primeiro habitante, o código do consumidor não aparece, ficando vazio e em baixo em todos os outros aparece, acho que pode ser até por isso que os valores das somas dão errado, só que não consigo resolver esse problema.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

main(){
	int nh, consumo, np=0, cdc, maior, menor=500;
	float vkw, tc, mc, cr,ccom, ci;
	char cc;
	srand(time(NULL));
	
	printf("digite o numero de habitantes da cidade \n");
	scanf("%d", &nh);
	
	printf("digite o valor do kwh \n");
	scanf("%.2f", &vkw);
	
	while(np<nh){
		consumo=rand()%500;
		cdc=rand()%4;
	    np=np+1;
	    tc=tc+consumo;
		mc=tc/nh;
		    
			if(cdc==1){
			cc='r';
			cr=cr+consumo;
		
		}
		  if(cdc==2){
		  	cc='c';
		  	ccom=ccom+consumo;
		  	
		  }
		  if(cdc==3){
		  	cc='i';
		  	ci=ci+consumo;
		    
		  	
		  }
		  if(consumo>maior){
		  	maior=consumo;
		  }
		  if(consumo<menor){
		  	menor=consumo;
		  }
		  
		printf("o consumo foi %d o tipo foi %c \n", consumo, cc);
		
	}
	printf("\no maior consumo foi de %d", maior);
	printf("\no menor consumo foi de %d", menor);
	printf("\no meu total de consumo foi de %.0f", tc);
	printf("\nminha media de consumo foi %.1f", mc);
	printf("\no total de consumo das residencias são %.0f \n o total de consumo dos comercios são %.0f \no total de consumo das indistriais são %.0f \n", cr, ccom, ci);


	

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olha cara não sei se você ainda está tentando resolver ou se já resolveu, mas pelo o que eu percebi no seu código, você não está usando a variável vkw, tipo depois que você obtém o valor do usuário o que você faz com ela.

Outra coise que pescebi é que você não está alocando os dados dos consumidores, e também o uso do rand() ele pode retornar 0 tanto para código quanto para consumo.

Se você não tiver resolvido ainda posso tentar te ajudar, vamos começar pela compilação, você disse que estava com problemas para compilar, em que plataforma você está Window, Linux, Mac ?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...