Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Guilherme Germany Barni

C problema sobre programa em c que não consigo resolver

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • @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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @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:

    Editado por Xaws
    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @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");
    }

     

    Editado por devair1010
    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×