Ir ao conteúdo

Posts recomendados

Postado

Exercício 1: Escreva um programa que lê um valor N e depois lê dados a respeito de N pessoas. Os dados são idade e salário. Ao final, o programa deverá: - Exibir a maior idade. - Exibir a menor idade. - Exibir a média de idade entre as pessoas que ganham R$ 3.000,00 ou mais. Ao invés disso, se nenhuma pessoa se enquadrar nessa categoria, exibir mensagem de aviso. - Exibir a média de idade entre as pessoas que ganham menos de R$ 3.000,00. Ao invés disso, se nenhuma pessoa se enquadrar nessa categoria, exibir mensagem de aviso. Importante: Cuidado com o tipo dos dados ao realizar uma divisão: idades inteiras podem ter uma média não inteira! O programa deve exibir corretamente a média também para estes casos. Exercício 2: Escreva um programa que lê dois valores inteiros base b e expoente e e então calcula o resultado de b e utilizando repetidas multiplicações.

  • Curtir 1
Postado

@Xaws

#include<stdio.h>

 

int main()

{

    int i, soma_idades, npessoas, idade, maior_ida, menor_ida;

    float media, salario;

 

    printf("Digite o numero de pessoas: ");

    scanf("%d", npessoas);

 

    menor_ida = 150;

    maior_ida = 0;

    soma_idades = 0;

    for(i=1; i<npessoas; i++){

 

    printf("Digite a idade da pessoa %d: ",i);

    scanf("%d", &idade);

    soma_idades = soma_idades + idade;

 

    printf("Digite o salario da pessoa %d: ",i);

    scanf("%f", &salario);

    }

if (idade > maior_ida){

        maior_ida = idade;

    }

        printf("A maior idade eh: %d", maior_ida);

 

    if (idade < menor_ida){

        menor_ida = idade;

    }

        printf("A menor idade eh: %d", menor_ida);

 

    if(salario >= 3000){

        media = (float)soma_idades / //aqui também

 

        printf("A media das idades das pessoas que ganham R$3000 ou mais eh %.2f: \n", media);

        }else printf("Nenhuma pessoa ganha mais de R$3000\n");

 

     if(salario < 3000){

        media = (float)soma_idades / //aqui n sei pelo o que dividir por causa da variavel indefinida

 

        printf("A media das idades das pessoas que ganham menos de R$3000 eh %.2f: \n", media);

        }else printf("Nenhuma pessoa ganha menos de R$3000\n");

  • Curtir 2
Postado

@Guilherme Germany Barni  Cara,tentei aqui mais não consegui na moral .--.
 Eu até consegui fazer ele reconhecer o maior e o menor, mais se invertesse a ordem ele adicionava 1 a idade, isso com 2 idades se colocasse 3 ou mais ele só lia as 2 últimas linhas...
 Alguém que saiba ajuda o cara ai:atirador:
 O que eu posso te dizer é que achei alguns erros no seu código.
 

scanf("%d", npessoas); // Aqui faltou & (não compilava por esse erro)
for(i=1; i<npessoas; i++){ // aqui faltou = (<=) (não adicionava mais de 1 assim<, mais creio que essa parte seja erro no meu compilador)
printf("Digite a idade da pessoa %d: ",i); // Aqui não precisa nem desse %d nem desse i
printf("Digite o salario da pessoa %d: ",i); // nem aqui

@up :atirador:

  • Curtir 2
Postado

@Guilherme Germany Barni      você não disse se o seu código é c ou c++,  mas parece que é c++ .

então organizei seu código para c++ e ele ficou assim :

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <vector>
using namespace std;
vector < float > salario;
vector < int   > idade  ;
int main()
{
    int npessoas,idad,i,soma_idades=0,maior_ida=0;
    int soma_idades2=0,menor_ida=150,k=0,x=0;
    printf("Digite o numero de pessoas: ");
    scanf("%d",&npessoas);
    float media=0,salari,media2=0;
    for(i=0;i<npessoas;i++){
        printf("Digite a idade da %d pessoa : ",i+1);
        scanf("%d",&idad);
        idade.push_back(idad);
        printf("Digite o salario da %d pessoa : ",i+1);
        scanf("%f",&salari);
        salario.push_back(salari);
        if (idade[i] > maior_ida){
            maior_ida = idade[i];
        }
        if (idade[i] < menor_ida){
            menor_ida = idade[i];
        }
    }
    printf("A maior idade eh: %d\n", maior_ida);
    printf("A menor idade eh: %d\n", menor_ida);
    for(i=0;i<salario.size();i++){
        if(salario[i] >= 3000){
            soma_idades = soma_idades + idade[i];
            k++;
        }
        if(salario[i] < 3000){
            soma_idades2 = soma_idades2 + idade[i];x++;
        }
    }
    media = (float)soma_idades/k;
    media2= (float)soma_idades2/x;
    if(k > 0){
        printf("A media das idades das pessoas que ganham R$3000 ou mais eh %.2f: \n", media);
    }else printf("Nenhuma pessoa ganha mais de R$3000\n");
    if(x > 0){
        printf("A media das idades das pessoas que ganham menos de R$3000 eh %.2f: \n", media2);
    }else printf("Nenhuma pessoa ganha menos de R$3000\n");
}

 

  • Curtir 2

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!