Ir ao conteúdo

Posts recomendados

Postado

Pessoal estou desenvolvendo a programação em c, e estou com dificuldade em uma atividade. 

Alguém pode me ajudar?

 

O problema é o seguinte:

 

Crie um programa onde o usuário irá inserir sucessivamente o salário e o sexo (F/M) de um funcionário, quando parar a execução do programa deve se fazer a média do salário dos sexos masculinos.

 

Um abraço, e obrigado desde já.

 

 

  • Curtir 2
Postado

@Jeffrey54    você pode colocar um loop  while que se repita até que digite uma tecla como por exemplo esc , e dentro coloque o comando scanf para pegar os dados e guarde-os em um vetor , e use um contador para posicionar os dados nas várias posições de cada vetor , que será um para o salário e outro para o sexo , e no final use um loop for para pesquisar no vetor e fazer a soma das pessoas de sexo masculinos e depois dividir pelo contador , que é o total de pessoas , e essa será a média .   então faça seu código e poste aqui para vermos como está e em que podemos ajudar   .

  • Curtir 1
  • Obrigado 2
Postado

@devair1010 E @Lucca Rodrigues

 

Obrigado pela força...

Estou cm dificuldades em fazer a soma dos salários masculinos, para realizar a media, não conseguindo fazer essa parte.

 

ISSO AQUI FOI o que EU JÁ CONSEGUIR FAZER: 

 

#include <stdio.h>
main(){
int cont, p;
float salario, media, total;
total=0;
char sexo;
while( p != 0){

        printf("\nInforme o salario do funcionario...: ");
        scanf("%f", &salario);
        total= total + salario;
        cont++;
        printf("\nInforme o sexo...? Digite 1(M) ou 2(F)...: ");
        scanf("%s", &sexo);
        printf("\nDigite um numero ou zero para sair...: ");
        scanf("%d", &p);
        };

        if(sexo = 1){
            printf("O salario total do homes e de...:%f", salario);
        }


}

 

Bom de fato não sei o que fazer kkkkk.... =(

Ta dando uma baita desespero aqui.
 

  • Curtir 1
  • Obrigado 1
Postado

@Jeffrey54 Bom... Acho que o certo é avaliar se o sexo entrado é incorreto: se for diferente de M ou F, sai do loop.

Leia um char, não uma string. Para tanto, use %c como identificador, não %s, até porque o que você declarou um char, não uma string.

E você também não pode apenas ir somando o salário e imprimir depois, você tem que identificar se o funcionário é um homem e, caso for, então somar este valor ao total do salário dos homens, daí tem que criar uma variável somente pra isso, e também uma para contar quantos homens são no total.

Para avaliar um char, primeiramente use ==, pois isso é comparação, se usar apenas =, é atribuição.

E use 'letra', se colocar só a letra, não vai funcionar.

Tente isso:

#include <stdio.h>
#include <locale.h>

int main(){
    setlocale(LC_ALL, "Portuguese");
    int cont = 0, contm = 0, contf = 0;
    float salario = 0, salariom = 0, salariof = 0, media;
    char sexo;
    do{
        cont += 1;
        printf("\nInforme o salário do funcionário %d: ", cont);
        scanf("%f", &salario);
        printf("\nInforme o sexo do funcionário %d (M/F): ", cont);
        scanf("\n%c", &sexo);
        if (sexo == 'M'){
            salariom += salario;
            contm += 1;
        } else if (sexo == 'F'){
            salariof += salario;
            contf += 1;
        }
    }while((sexo == 'M') || (sexo == 'F'));
    media = salariom/contm;
    printf("\nO salário total do homens é de: %.2f", media);
    
    return 0;
}

 

  • Curtir 1
  • Obrigado 1
Postado

@Jeffrey54    nesse exercício , só será  computador os dados referentes aos homens , assim não precisa armazenar outros dados ,  então seu código com algumas modificações poderia ser assim  :

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <windows.h>
#define H GetStdHandle(STD_OUTPUT_HANDLE)
void textcolor_2(int l, int f){SetConsoleTextAttribute(H,l+(f<<4));}
int main(){
    int   masculino=0;
    float salario,total=0;
    char  sexo;
    do{
        printf(" Informe o salario do funcionario...: ");
        fflush(stdin);
        scanf("%f",&salario);
        printf(" Informe o sexo  M / F ");
        fflush(stdin);
        scanf("%c",&sexo);
        if( toupper(sexo) == 'M' ){
            total += salario;
            masculino++;
        }
        printf(" Pesquisar Outro Funcionario  S / N\n\n");
    }while( toupper((char)getch()) != 'N' );
    textcolor_2(12,15);
    printf("  A Media Dos Salarios dos Homens eh De ...: %.2f  \n\n\n",
          (float)(total / masculino));
    textcolor_2(10,12);
    return 0;
}

 

  • Curtir 1
  • Obrigado 1

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