Ir para conteúdo

POWERED BY:

Arquivado

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

LineAvila

Exercício Linguagem C

Recommended Posts

Oi gente, sou iniciante nesse mundo da Computação e tenho o seguinte exercício pra resolver:

 

"O departamento do Meio Ambiente mantém três listas (A, B e C) de indústrias conhecidas por serem altamente poluentes da atmosfera. Os resultados de várias medidas são combinadas parar formar o que é chamado de "índice de poluição". Isto é controlado regularmente. Normalmente os valores caem entre 0.05 e 0.25. Se o índice de poluição atingir 0.25 a situação é de alerta; se o valor atingit 0.30, as indústrias da lista A serão chamadas a suspender as operações até que os valores retornem ao intervalo normal. Se o índice aitingir 0.40, as indústrias da lista B serão notificadas também. Se o índice exceder 0.50, as indústrias de todas as três listas serão avisadas para suspenderem as atividades. Escreve um programa para ler o indice de poluição e emitir um relatório notificando as indústrias, caso seja necessário. Deve constar no relatório a situação ocorrida (abaixo do normal, normal ou alerta)

 

Teste o programa com os seguintes conjuntos de valores:

 

0,26

R.: Alerta

 

0,03

R.: Abaixo do Normal

 

0,30

R.: Indústrias da Lista A: suspensas

 

0,06

R.: Normal

 

0,40

R.: Indústrias da Lista A: suspensas

R.: Indústrias da Lista B: suspensas

 

0,35

R.:Indústrias da Lista A: suspensas

 

0,53

R.: Indústrias da Lista A: suspensas

R.: Indústrias da Lista B: suspensas

R.: Indústrias da Lista C: suspensas

 

Meu código foi:

#include <stdio.h>

int main () {

	double ip;
	
	printf ("Digite o índice de poluição: ");
	scanf ("%lf", &ip);
	
	
	if(ip < 0.05) {
		printf("Abaixo do normal\n");
	}
		
	if (ip >= 0.05 && ip < 0.25 ){
		printf("Índice Normal\n");
	}
	
	if (ip == 0.25 || ip > 0.25 ){
		printf("ALERTA!\n");
	}
	
	if (ip == 0.30 || ip > 0.30){
		printf ("Indústrias da Lista A: suspensas\n");
	}
	
	if (ip == 0.40 || ip > 0.40){
		printf("Indútrias da Lista B: suspensas\n");
	}
	
	if(ip > 0.50){
		printf("Indústrias da Lista C: suspensas\n");
	}

		
	return 0;	
}

O fato é: Acho que o código pode ser otimizado, não tá da maneira mais inteligente e na saída dada no exercício a mensagem ALERTA não aparece sempre, no meu código ALERTA vai aparecer sempre que o índice for > 0,25 e no exercício somente notifica as Listas e não aparece ALERTA.

Como resolvo?

De antemão, obrigada :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize else-if, ou seja, if's encedeado.

 

Por exemplo:

if(ip < 0.05) {
    printf("Abaixo do normal\n");
}else  if (ip >= 0.05 && ip < 0.25 ){
    printf("Índice Normal\n");
}

se EXPRESSÃO faça

instrução

senão se EXPRESSÃO faça

instrução

fim se

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.