Dúvida com Portugol

Lógica de programação

04/07/2019

olá estou com dúvida de como desenvolver esse exercício

A prefeitura de uma cidade fez uma pesquisa entre seus habitantes, coletando dados sobre o salário e número de filhos. A prefeitura deseja saber:
a) média do salário da população;
b) média do número de filhos da população;
c) percentual de pessoas com salário <= R$1000,00 (até 1000 reais, inclusive 1000 reais)

Observações:
Não se sabe previamente o número de entrevistados. Assim, a entrada de dados deve ser encerrada quando for digitado um salário não positivo, ou seja, um salário menor ou igual a zero.
É obrigatório fazer a validação de dados do “número de filhos”, ou seja, deve-se obrigar o usuário a digitar número de filhos >=0.
Caso o “número de filhos seja inválido” não se deve solicitar o salário de novo. Somente o número de filhos válido.
Quando for lido “número de filhos <0” deve se emitir a seguinte saída:
“Erro: Redigite numero de filhos!”
Henrique

Henrique

Curtidas 0

Respostas

João Júnior

João Júnior

04/07/2019

olá estou com dúvida de como desenvolver esse exercício

A prefeitura de uma cidade fez uma pesquisa entre seus habitantes, coletando dados sobre o salário e número de filhos. A prefeitura deseja saber:
a) média do salário da população;
b) média do número de filhos da população;
c) percentual de pessoas com salário <= R$1000,00 (até 1000 reais, inclusive 1000 reais)

Observações:
Não se sabe previamente o número de entrevistados. Assim, a entrada de dados deve ser encerrada quando for digitado um salário não positivo, ou seja, um salário menor ou igual a zero.
É obrigatório fazer a validação de dados do “número de filhos”, ou seja, deve-se obrigar o usuário a digitar número de filhos >=0.
Caso o “número de filhos seja inválido” não se deve solicitar o salário de novo. Somente o número de filhos válido.
Quando for lido “número de filhos <0” deve se emitir a seguinte saída:
“Erro: Redigite numero de filhos!”


Piá, eu não me lembro mais como é em Portugol, então eu fiz em C:

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

int main(){
    const int NUM_ENTREVISTADOS = 10;       //Total de leituras

    int i = 0;                              //Mostra o entrevistado atual
    int entrevistado;                       //Contador do laço for
    int qtde_filhos[NUM_ENTREVISTADOS];     //Vetor de quantidade de filhos
    int contador_menor_que1000 = 0;         //Contador de salários menores que R$ 1.000,00
    int contador_ate1000 = 0;               //Contador de salários até R$ 1.000,00
    int acumulador_salario = 0;             //Acumulador de salários
    int pessoas_entrevistadas = 0;          //Contador de pesssoas entrevistadas
    int contador_filhos = 0;                //Acumulador (somador) de filhos
    float salarios[NUM_ENTREVISTADOS];      //Vetor de salários

    for(entrevistado = 0; entrevistado < NUM_ENTREVISTADOS; entrevistado++){
        printf("Enrevistado %d\\n", ++i);
        printf("Informe o salário: ");
        scanf("%f", &salarios[entrevistado]);

        if(salarios[entrevistado] <= 0)
            break;                          //Sai do laço for se o salário é menor que zero

        if(salarios[entrevistado] < 1000)
            contador_menor_que1000++;


        if(salarios[entrevistado] <= 1000)
            contador_ate1000++;

        //Lê a quantidade de filho
        printf("Informe número de filhos: ");
        scanf("%d", &qtde_filhos[entrevistado]);

        //Pede para digitar novamente a quantidade de filhos se for menor que 0
        while(qtde_filhos[entrevistado] < 0){
            printf("ERRO: Redigite o número de filhos: ");
            scanf("%d", &qtde_filhos[entrevistado]);
        }

        printf("\\n");

        contador_filhos += qtde_filhos[entrevistado]; //Soma a quantidade de filhos
        pessoas_entrevistadas++;                      //Conta o número de pessoas
        acumulador_salario += salarios[entrevistado]; //Soma os salários
    }

    printf("\\n\\n========== Resumo ==========\\n");
    printf("Pessoas entrevistadas: %d\\n", pessoas_entrevistadas);
    printf("Média salarial da população: R$ %.2f\\n", (float)acumulador_salario/pessoas_entrevistadas);
    printf("Média de filhos da população: %.2f\\n", (float)contador_filhos/pessoas_entrevistadas);
    printf("Salários menores que R$ 1.000,00: %d\\n", contador_menor_que1000);
    printf("Salários até R$ 1.000,00: %d\\n", contador_ate1000);

    printf("\\n");
    system("pause");
    return 0;
}

GOSTEI 0
POSTAR