+ Responder ao Tópico



  1. #1

    Padrão Dúvidas??????????

    Sou novo por aqui e estou cheio de dúvidas em C.
    Acontece que tenho uma avaliação na quarta e se alguém puder me ajudar, agradeço.
    o poblema:uma empresa decidiu dar gratificação aos seus empregados baseado no nº de horas extras e horas que o funcionário faltou ao trabalho. O valor do premio é obtido pela consulta na tabela a seguir: H=(nº de horas extras)-(2/3*horas falta)
    H (minutos) premio R$ *o programa deverá receber o nº de horas extras e o de horas
    >2400 500 falta em minutos. Imprima o nº de horas extras em horas, o de
    1800|-2400 400 horas falta em horas e do premio.
    1200|-1800 300
    600|-1200 200
    <=600 100

    Se alguem puder me ajudar, tentei resolver assim:
    #include<std.h>
    main()
    {
    char nome
    int he, hf, h
    printf("digite o nopme do funcionario:");
    scanf("%c",& nome);
    printf("digite a quantidade de horas de horas extra:");
    scanf("%d",& horas extra);
    printf("digite a quantidade de horas falta:");
    scanf("%d",& horas falta);
    h=(he)-(2/3*hf)
    }
    if (h>=600)
    {
    printf("conceda premio de:", %d, 100);
    }
    else
    {
    if (h<=1200)
    {
    printf("conceda premio de:", %d, 200);
    }
    else
    if (h<=1800)
    {
    printf("conceda premio de:", %d, 300);
    }
    else
    if (h<=2400)
    {
    printf("conceda premio de:", %d, 400);
    }
    else
    if (h<2400)
    {
    printf("conceda premio de:", %d, 500);
    }
    h=(he/60)-(2/3*(hf/60))
    printf("quantidade de horas extra:", %d, he);
    printf("quantidade de horas falta:", %d, hf);
    printf("premio:", %d, h);
    }
    }
    valeu!!

  2. #2

    Padrão

    Cara, seu código ta cheio de erros.
    Primeiro, você declarou he, hf e h. Mas na hora de chamar com o scanf você utilizou variaveis que nao existe como "nome" e depois variaveis com nomes invalidos como "hora extra" e "horas falta". Variaveis nao podem ter espaços no nome.

    Tem um colchete que não existe logo após de h=(he)-(2/3*hf).

    Você ta usando o %d pra imprimir um int. O %d é pra doubble, para int utilize o %i.

    Ao invez de fazer isso: printf("conceda premio de:", %d, 100);
    Faça isso: printf("conceda premio de: 100");

    Ao invez de fazer isso:
    printf("digite o nopme do funcionario:");
    scanf("%c",& nome);
    Faça somente isso:
    scanf(""digite o nome do funcionario: %c",&nome);

    Tem linhas no seu código que não possuem o ; no final da linha.

    Esse monte de if else deixa o código confuso. Ao inves de else utilize o else if. Da seguinte forma:
    Código :
    if(comparacao1){
        Faça alguma coisa
    }else if(comparacao dois){
        Faça outra coisa
    }else if(comparacao tres){
        Faça outra coisa
    }
    O final do seu código ficou meio confuso. Porque você calcula isso:
    h=(he/60)-(2/3*(hf/60))

    e porque imprimir isso?
    printf("quantidade de horas extra:", %d, he);
    printf("quantidade de horas falta:", %d, hf);
    printf("premio:", %d, h);


    Sempre faça a identação. e utilize o \n no printf e scanf para que o programa vá para a próxima linha.

    Marquei algumas coisas em negrito no seu código e tentei fazer a identação...
    Qualquer coisa posta ai...

    Citação Postado originalmente por AureoAclam Ver Post
    Código :
    #include<std.h>
    main() 
    {
        char nome
        int  he, hf, h
        printf("digite o nopme do funcionario:");
        scanf("%c",& [B]nome[/B]);
        printf("digite a quantidade de horas de horas extra:");
        scanf("%d",& [B]horas extra[/B]);
        printf("digite a quantidade de horas falta:");
        scanf("%d",& [B]horas falta[/B]);
        h=(he)-(2/3*hf)
        [B]}[/B]
        if (h>=600)
        {
            printf("conceda premio de:", %[B]d[/B], 100);
        }
        else
        {
            if (h<=1200)
            {
                printf("conceda premio de:", %[B]d[/B], 200);
            } 
            else
                if (h<=1800)
               {
                    printf("conceda premio de:", %[B]d[/B], 300);
               }
               else
                   if (h<=2400)
                  {
                       printf("conceda premio de:", %[B]d[/B], 400);
                  }
                  else
                       if (h<2400)
                       {
                           printf("conceda premio de:", %[B]d[/B], 500);
                       }
                       h=(he/60)-(2/3*(hf/60))
                       printf("quantidade de horas extra:", %[B]d[/B], he);
                       printf("quantidade de horas falta:", %[B]d[/B], hf);
                       printf("premio:", %[B]d[/B], h);
        }
    }
    Última edição por Magnun; 03-09-2008 às 07:57.