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

quem souber da uma força, algoritmo "Exploração LTDA"


ryan martins

Pergunta



Os empregados da firma “Exploração LTDA.” Podem trabalhar um número variável de horas por dia, desde que somem pelo menos 40 horas de trabalho por semana. Para o cálculo do salário de cada empregado precisamos das seguintes informações: número de inscrição, nome e código do cargo do empregado. Então, para cada empregado, são lidos a hora de entrada (hora, minuto) e a hora de saída (hora, minuto) do trabalho para cada dia da semana (5 dias úteis na semana). Usar como flag: código do cargo = 0. - Escreva um algoritmo que determine e imprima para cada empregado, o seu número de inscrição, nome, tempo trabalhado (hora, minuto) e salário da semana. - Para o cálculo do salário, considere que: 1. Se o tempo trabalhado foi menor que 40 horas, o empregado sofre um desconto de 50% no que deveria receber (número horas x salários/hora); 2. Se o tempo trabalhado foi maior que 40 horas, o empregado recebe metade do salário/hora por hora excedente (considere uma hora de trabalho completa); 3. O salário/hora depende do código do cargo, sendo: Código = 01 salário/hora = R$ 300,00 Código = 02 salário/hora = R$ 500,00 Código = 03 salário/hora = R$ 1.000,00 - Escreva dois procedimentos que deverão ser usados para o cálculo do tempo trabalhado. O primeiro deles transforma horas e minutos em minutos. O segundo transforma minutos em horas e minutos.

Editado por ryan martins
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

 #include <stdio.h>
#include <stdlib.h>
#include <string.h>

 struct funcionarios

    {

        char nome [30];
        char inscricao [30];
        char cargo [30];
        char codigo [30];
        float entrada;
        float saida;
        float horas;

    };

int main ()

{

 int quantidade;

 setbuf (stdin, NULL);
 printf ("Digite a quantidade de funcionários: ");
 scanf ("%d", &quantidade);

 setbuf (stdin, NULL);

 struct funcionarios LTDA [quantidade];

 int cont=0, dia = 1, semana = 5;

  for (cont=0;cont<quantidade;cont++)

        LTDA[cont].horas = 0;

    do

        {

            for (cont=0;cont<quantidade;cont++)


            {


            printf ("Dia %d Registro de ponto: \n", dia);

            printf ("Nome: ");
            fgets  (LTDA [cont].nome, 30, stdin);

            printf ("Inscrição: ");
            fgets  (LTDA [cont].inscricao, 30, stdin);

            printf ("Cargo: ");
            fgets  (LTDA [cont].cargo, 30, stdin);

            printf ("Código: ");
            fgets  (LTDA [cont].codigo, 30, stdin);

            printf ("Usar Ponto para separar - Horário de Entrada: ");
            scanf  ("%f", & LTDA[cont].entrada);


            printf ("Usar Ponto para separar - Horário de Saída: ");
            scanf  ("%f", & LTDA[cont].saida);

            setbuf (stdin, NULL);

            if (LTDA[cont].saida - LTDA[cont].entrada < 0)

                LTDA[cont].horas = LTDA[cont].horas + ((LTDA[cont].saida - LTDA[cont].entrada) * - 1);

            else

                LTDA[cont].horas = LTDA[cont].horas + (LTDA[cont].saida - LTDA[cont].entrada);

                }


            dia++;

        } while (dia <= semana);

         printf ("****____________________________________________________________________________****\n");

            for (cont=0;cont<quantidade;cont++)

                {


                fputs  (LTDA [cont].nome, stdout);

                fputs  (LTDA [cont].inscricao, stdout);

                fputs  (LTDA [cont].cargo, stdout);

                fputs  (LTDA [cont].codigo, stdout);

                printf ("%f Horas, %f minutos \n", LTDA[cont].horas, LTDA[cont].horas / 60);


                }


return EXIT_SUCCESS;


}

 

Editado por Aristóteles
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...