Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) media entre idades com do while


Franciele

Pergunta

Olá! estou tentando fazer o seguinte algoritmo:

Em uma cidade foi realizado um senso fazendo-se as seguintes perguntas: 1. idade? 2. sexo?

faça um programa que leia um numero indeterminado de pessoas e mostre a media das idades de homens e a media das idades das mulheres.

eu tentei fazer mas ele nem compila já acha um erro, eu fui tentando d algumas formas mas ainda não descobri qual a certa, o que eu fiz por ultimo foi o seguinte:

#include<stdio.h>
#include<conio.h>

int idade, feminino, masculino;
float media;
main(){
       feminino=0; masculino=0;

do {
     printf("informe idade e sexo [1-feminino//2-masculino]");
     scanf("%d", &idade);
     switch(idade){
                   case 1: feminino*idade; break;
                   case 2: masculino*idade; break;
                   }
                   }while
                   printf("\n media feminino: %f", feminino);
                   printf("\n media masculino: %f", masculino);
                   getch();
                   }

Me deem uma ajuda aí se possível! Valeu!

PS: tentei colocar a caixa aqui pra colocar os códigos mas tinha um erro e não consegui.

Editado por Jonathan Queiroz
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá franciele,

-Você precisa ter uma condição de parada para seu laço, digamos, que quando o usuario digitar 0, o algoritmo seja interrompido,

-Você precisa ler a idade e o sexo, em cada entrada do usuário,

-Para calcular a média de cada sexo, você precisa saber a quantidade de pessoas de cada sexo que responderam ao senso,

Então seria algo mais ou menos assim:

#include<stdio.h>
#include<conio.h>


int main(){
    int quantidadeF = 0, quantidadeM = 0, sexo;
    float mediaF = 0.0, mediaM = 0.0, idade = 0.0;

    do {
        printf("informe idade e sexo [1-feminino//2-masculino//0-sair]");
        scanf("%f %d", &idade, &sexo); //lendo os dados separados por espaço, ou enter, ou se preferir, pode fazer a leitura individual de cada um

        switch(sexo){
            case 1: quantidadeF++; 
                    mediaF+=idade;
                    break;
            case 2: quantidadeM++;
                    mediaM+=idade;
                    break;
        }
    }while(sexo!=0);
    printf("\n media feminino: %f", mediaF/(float)quantidadeF);
    printf("\n media masculino: %f", mediaM/(float)quantidadeM);
    getch();
return 0;
}

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

#include <stdio.h>
#include <conio.h>

int idade, feminino, masculino;
float media;
Por que não declarou essas variáveis dentro do main?
main() {
    feminino=0;
    masculino=0;
A variável media não tá sendo usada nesse código.
do {
        printf("informe idade e sexo [1-feminino//2-masculino]");
        scanf("%d", &idade);
        switch (idade) {
            case 1: feminino*idade; break;
            case 2: masculino*idade; break;
        }
    } while
Aqui tem dois problemas. Um deles é que você tá usando a variavel idade dentro do switch. O switch funciona assim: nesse teu codigo, se idade fosse igual a 1, o programa executa tudo que vem depois de "case 1". Se idade for igual a 2, o programa executa tudo que vem depois de case 2. Mas nesse exemplo, você pede pra digitar idade e sexo, e o scanf pega a idade apenas. Se a idade da pessoa for 25, o switch vai usar o 25 mas não existe nenhum "case 25". Além disso, "feminino * idade" não faz sentido nenhum. Pra onde tá indo esse valor? O outro problema é no while. Você precisaria de alguma expressão lógica alí no final pro while. Por exemplo: ...while (idade > 0);
printf("\n media feminino: %f", feminino);
    printf("\n media masculino: %f", masculino);
    getch();
}

Aquele %f alí significa que aquele local vai ser substituído por uma variavel do tipo float. Tanto feminino quando masculino são do tipo int. Então você precisaria usar %d.

A impressão que dá é que você tá atirando no escuro até alguma coisa funcionar.

O melhor é você procurar algum livro sobre C, ou alguma apostila na internet, e aprender a linguagem aos poucos. No começo parece difícil, mas em uma semana dá pra entender o básico da linguagem.

Link para o comentário
Compartilhar em outros sites

  • 0

obrigada Alisson, ajudou bastante! valeu mesmo!

obrigada também Mnemonic... eu to mesmo testando as coisas até elas funcionarem ou não funcionarem como foi o caso... mas essas variáveis eu to colocando elas como o professor nos ensinou, e até já procurei umas apostilas na internet.. vou mesmo pegar um livro pra dar uma estudada, valeu!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...