LineAvila 0 Denunciar post Postado Setembro 23, 2014 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
GBecker 51 Denunciar post Postado Setembro 23, 2014 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