Jump to content

Programa para ler informação de pessoal - Problema com leitura da contagem de pessoas do sexo F ou M


claudiaferreira

Recommended Posts

Bom dia a todos, 

Tenho mais uma duvida num programa que realizei, que não consigo que faça a parte do "if" para indicar se existe mulher ou homem, indica sempre o valor da média igual nas duas categorias. Abaixo apresento o que me aparece quando compilo. 

Citação

Indique o número do  1º operário: 20
Indique o número de peças fabricadas no mês pelo 1º operário: 32
Indique o sexo do operário (F-Feminino ou M-Masculino): M

O número do operário é de Classe 2 e o seu salário é de 636,00.

Indique o número do  2º operário: 32
Indique o número de peças fabricadas no mês pelo 2º operário: 56
Indique o sexo do operário (F-Feminino ou M-Masculino): M

O número do operário é de Classe 3 e o seu salário é de 1380,00.


O total da folha de pagamentos da fábrica é de 2016,00.
O número total de peças fabricadas no mês é de 88.
A média de peças fabricadas por homens é de 44,00.
A média de peças fabricadas por mulheres é de 44,00.
O número do operário com maior salário é 32,00.
Press any key to continue . . .
 

Já pensei se era da função igual que utilizo no "if" mas se colocar apenas um igual, não dá qualquer valor, já tentei de diversas formas, mas sinceramente não estou a conseguir descodificar o problema, será que me podem ajudar, se faz favor? 

Envio abaixo o código que fiz:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>
#include<ctype.h>
#include<math.h>

int main(){

setlocale(LC_ALL, "Portuguese");

int numero, num_pecas, operario, total_pecas=0, cont_M=0, cont_F=0;
char sexo;
float salario_minimo=600.0, salario, total_pag=0, media_M=0, media_F=0, salario_maior=0, maior;

for(operario=1;operario<=2;operario++){

    printf("Indique o número do  %dº operário: ", operario);
    scanf("%d",&numero);

    printf("Indique o número de peças fabricadas no mês pelo %dº operário: ", operario);
    scanf("%d",&num_pecas);

    printf("Indique o sexo do operário (F-Feminino ou M-Masculino): ");
    scanf("%c%*c",&sexo);

    if(num_pecas<=30.00){
       printf("\nO número do operário é de Classe 1 e ");
       salario=salario_minimo;
    }
    if(num_pecas>30.0 && num_pecas<=50.0){
       printf("\nO número do operário é de Classe 2 e ");
       salario=salario_minimo+(salario_minimo*(3.0/100.0)*(num_pecas-30.0));
    }
    if(num_pecas>50.0){
        printf("\nO número do operário é de Classe 3 e ");
       salario=salario_minimo+(salario_minimo*(5.0/100.0)*(num_pecas-30.0));
    }
    printf("o seu salário é de %.2f.\n", salario);

    printf("\n");

    total_pag+=salario;
    total_pecas+=num_pecas;

    if(sexo='M'){
        media_M+=num_pecas;
        cont_M++;
    }
    if(sexo='F'){
        media_F+=num_pecas;
        cont_F++;
    }
    if(operario==1){
        salario_maior=salario;
        maior=numero;
    }else{
        if(salario>salario_maior){
            salario_maior=salario;
            maior=numero;
        }
    }
}

printf("\nO total da folha de pagamentos da fábrica é de %.2f.\n", total_pag);
printf("O número total de peças fabricadas no mês é de %d.\n",total_pecas);

if(cont_M==0){
   printf("Não há nenhum homem!\n");
}else{
    media_M=media_M/cont_M;
    printf("A média de peças fabricadas por homens é de %.2f.\n",media_M);
}

if(cont_F==0){
    printf("Não há nenhuma mulher!\n");
}else{
    media_F=media_F/cont_F;
    printf("A média de peças fabricadas por mulheres é de %.2f.\n",media_F);
}

printf("O número do operário com maior salário é %.2f.\n", maior);


system("pause");
return 0;
}

Obrigada. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.