Ir ao conteúdo
  • Cadastre-se

C índice de poluição medido e emita a notificação adequada aos diferentes grupos


Jeffrey54

Posts recomendados

Pessoal, estou estudando  função em linguagem c, e não conseguir fazer um exercício

 

O exercício é este aqui:

 

Uma organização de Meio Ambiente que controla o índice de poluição mantém 3 grupos de indústrias que são altamente poluentes do meio ambiente.

 

O índice de poluição aceitável varia de 0,05 até 0,25. Se o índice sobe para 0,3 as indústrias do 1 grupo são intimadas a suspenderem suas atividades, se o índice crescer para 0,4 as industrias do 1 e 2 grupo são intimadas a suspenderem suas atividades, se o índice atingir 0,5 todos os grupos devem ser notificados a paralisarem suas atividades. Faça um diagrama de bloco que leia o índice de poluição medido e emita a notificação adequada aos diferentes grupos de empresas.

 

*Utilizar função

*O programa deve perguntar se deseja parar a execução.

*Toda funcionalidade deve estar na função;

 

 

Eu não se fiz de forma correta, mas tentei fazer dessa forma: 

#include <stdio.h>

float funcao( float indice_poluicao){

        if (indice_poluicao = 0.3) {
                printf(" O grupo numero 1 deve interromper as suas atividades;");
        } else {
                if (indice_poluicao = 0.4) {
                    printf("O grupo numero 1 e 2 devem interromper as suas atividades;");
        } else {
                    if (indice_poluicao = 0.5) {
                        printf("O grupo numero 1, 2 e 3 devem interromper as suas atividades;");
        } else {

            if (indice_poluicao > 0.5) {
                    printf(" O indice de poluição esta aceitavél");
        } else;

        return(indice_poluicao);}

int continuar;
        while ( cotinuar == 0){

        printf(" Informe o indice de poluicao que deseja analisar...?");
        scanf("%f", &indice_poluicao);

        printf(" Deseja continuar? Digite 1 (Sim) ou 2(Não)");
        scanf("%d", &cotinuar);
        }

 

 

Desde já agradeço pela ajuda.

Um abraço a todos.

    


 

 

 

 

Link para o comentário
Compartilhar em outros sites

13 horas atrás, Jeffrey54 disse:

O índice de poluição aceitável varia de 0,05 até 0,25. Se o índice sobe para 0,3 as indústrias do 1 grupo são intimadas a suspenderem suas atividades, se o índice crescer para 0,4 as industrias do 1 e 2 grupo são intimadas a suspenderem suas atividades, se o índice atingir 0,5 todos os grupos devem ser notificados a paralisarem suas atividades

 

Acho que escreveu errado... Não faz sentido como escreveu

 

Provavelmente o índice vai de 0,25 a 0,50

 

Antes de escrever um programa use uma tabela
 

image.png.23055c0b927fc54f58e843a97cd24f80.png

 

E fica claro o que tem que fazer. Pode usar a própria tabela e não precisa de nenhum processamento. 

 

Veja esse exemplo


void funcao(float medida)
{
    char atividade[3][20] =
    { "normal", "normal", "normal" };
    const char* para = "paralisada";
    if (medida >= 0.3)
    {       // acerta as notificacoes
        strcpy(&atividade[0][0], para);
        if (medida >= 0.4)
        {   strcpy(&atividade[1][0], para);
            if (medida >= 0.5) strcpy(&atividade[2][0], para);
        };  // if()
    };  // if()
    // mostra  o relatorio
    printf("\n\n==>\nConsiderando a ultima medida = %4.2f\n\n", medida);
    for (int g = 0; g < 3; g = g + 1)
        printf("Grupo %d: Atividade %s\n", g, atividade[g]);
    return;
};  // funcao()

 

Recebe a leitura do índice e envia as notificações... Com a tabela já preenchida só precisa retificar as mensagens conforme o índice sobe. strcpy() é a função que copia uma string em outra. Ou pode usar um loop mesmo e copiar letra a letra.

 

 E declare

    void funcao(float medida);

E é só isso.

 

E seu programa?

 

Apagou a declaração de main()?

Sua função está errada. Não entendeu que a medida é um valor limite? Não pode usar '=' e sim ">=", maior ou igual ao limite...
 

 

adicionado 5 minutos depois

esqueci do programa de teste

main()
{
    funcao(0.29f);
    funcao(0.31f);
    funcao(0.39f);
    funcao(0.41f);
    funcao(0.49f);
    funcao(0.51f);
    return 0;
};  // main()

Lembre-se: todo o processamento ocorre na função.

==>
Considerando a ultima medida = 0.29

Grupo 0: Atividade normal
Grupo 1: Atividade normal
Grupo 2: Atividade normal

==>
Considerando a ultima medida = 0.31

Grupo 0: Atividade paralisada
Grupo 1: Atividade normal
Grupo 2: Atividade normal

==>
Considerando a ultima medida = 0.39

Grupo 0: Atividade paralisada
Grupo 1: Atividade normal
Grupo 2: Atividade normal

==>
Considerando a ultima medida = 0.41

Grupo 0: Atividade paralisada
Grupo 1: Atividade paralisada
Grupo 2: Atividade normal

==>
Considerando a ultima medida = 0.49

Grupo 0: Atividade paralisada
Grupo 1: Atividade paralisada
Grupo 2: Atividade normal

==>
Considerando a ultima medida = 0.51

Grupo 0: Atividade paralisada
Grupo 1: Atividade paralisada
Grupo 2: Atividade paralisada

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...