Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Soares

Cálculo do Salário Líquido

Recommended Posts

Bom galera venho através deste topico me apresentar como novo membro do fórum e já de quebra venho solicitar a ajuda de vocês ao mesmo tempo. Sou estudando de C. da Computação 3o período, ou seja, ainda não sou um expert na linguagem C espero a compreensão de vocês pois eu estou FAMINTO por aprender tudo sobre essa formidavel linguagem. Sem mais delongas, segue a questão a ser verificada pois estou com dúvidas sobre a sua funcionalidade:

 

- Em resumo eu tenho que criar um programa com as 6 funções seguintes:

 

1- Salário base: horas trabalhadas * valor da hora

2- Bonus por tempo de serviço: tempo de serviço é contado em ano(s), bonus é de 2% do salário base por ano de serviço

3- Auxílio creche: onde é adicionado um valor de R$21,00 por dependente

4- INSS: onde é descontado 11% do salário, desconto este que não pode ultrapassar dos R$319,27

5- Imposto de Renda, onde temos as seguintes tendencias:

Se: Salário base menor e igual a R$1800,00 = não há desconto

Se: Salário base maior que R$1800,00 e menor que R$2900,00 = desconto de 15% do Salário base

Senão: Salário base maior que R$2900,00 = desconto de 27,5% do Salário base

6- Salário líquido: (Salário base + Bonus por tempo de serviço + Auxílio creche) - (INSS + Imposto de renda)

 

Segue o programa:

#include <stdio.h>
float              salariobase (float valhora, float horatrab)
{
    float calcbase;
    calcbase = valhora*horatrab;
    return calcbase;
}

float              bonus (int temposerv, float salariobase)
{
    float calctemp,calcbonus;
    calctemp = temposerv*12;
    calcbonus = (calctemp*salariobase)*0.2;
    return calcbonus;
}

float              auxcreche (int depen)
{
    float calcaux;
    calcaux = depen*21.00;
    return calcaux;
}

float              INSS (float salariobase)
{
    float calcdesc;
    calcdesc = salariobase*0.11;
    if (calcdesc <= 319.27);
    return calcdesc;
}

float              IR (float salariobase)
{
    float calcsal,calcir;
    calcsal = salariobase
    if (calcsal <= 1800.00)
      calcir = calcsal;
      else if (calcsal < 2900.00)
        calcir = calcsal*0.15;
        else
          calcir = calcsal*0.275;
return calcir;
}

float              saliquido (float salariobase, float bonus, float auxcreche, float INSS, float IR)
{
    float saliq;
    saliq = ((salariobase+bonus+auxcreche) - (INSS+IR));
    return saliq;
}

main ()
{
    float valort,horat;
    int mat,qtdepe,tserv;
    prinftf ("Digite sua matricula:");
    scanf ("%d",&mat);
    prinftf ("Digite o valor da hora de trabalho e a qtde. de hora trabalhada:");
    scanf ("%f%f",&valort,&horat);
    prinftf ("Quantidade de dependentes:");
    scanf ("%d",&qtdepe);
    prinftf ("Digite o tempo de serviço (em anos):");
    scanf ("%d",&tserv);
    salbase=salariobase(valort,horat);
    calctserv=bonus(tserv);
    calcauxilio=auxcreche(qtdepe);
    calcinss=INSS();
    calcimposto=IR();
    calcsaliquido=saliquido();
    printf ("Número da matrícula:%d",mat);
    printf ("Salário base e bonificação:%f%f",salbase,calctserv);
    printf ("Auxílio creche:%f",calcauxilio);
    printf ("Desconcto do INSS:%f", calcinss);
    printf ("Valor do IR:%f",calcimposto);
    printf ("Valor liquido do salario:%f",calcsalquido);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é um trabalho de um aluno do terceiro período de ciências da computação?!, com o perdão da palavra, PQP!. Graças a Deus que eu desisti desse curso a tempo... Me parece que estudando sozinho eu aprendo bem (bem) mais, conheci a C/++ a menos de um ano, e hell yeah eu não estou exagerando quanto ao quão simples isso é pra mim.

Todavia, respondendo ao tópico, acredito que resolução de trabalhos da faculdade não é um dos propósitos desse fórum. Bye.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de mais, bom senso é bom e eu gosto.

 

Graças a Deus que eu desisti desse curso a tempo... Me parece que estudando sozinho eu aprendo bem (bem) mais, conheci a C/++ a menos de um ano, e hell yeah eu não estou exagerando quanto ao quão simples isso é pra mim

 

Eu faço ciências da computação, e o que você falou não faz o menor sentido.

Sem mais flames...

 

E, btw, o propósito do fórum é movimentar ideias, sejam elas de faculdade ou não...

(não confundir fazer trabalhos com ajudar em trabalhos)

Portanto está absolutamente dentro de escopo a questão levantada pelo autor do tópico, há apenas uma pequena falha, o autor do tópico esqueceu de levantar a questão...

 

Onde está com problemas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

1- A menos que o código tenha sido zuado pela formatação do fórum, separar os nomes das funções desse jeito é uma falta de propósito total. É igual à tela de boot de algumas distribuições linux, que ao invés de colocarem 'done'/'skipped'/'failed' dentro da frase normalmente, alinham a palavra à direita e todo mundo se perde.

 

2- Preste atenção no que você escreve e comece a aprender a usar o compilador e um depurador:

 

isis@isis-desktop:~/src/imasters$ gcc -Wall -Wextra p13.c

p13.c: In function ‘INSS’:

p13.c:28: warning: suggest braces around empty body in an ‘if’ statement

p13.c: In function ‘IR’:

p13.c:36: error: expected ‘;’ before ‘if’

p13.c:38: error: ‘else’ without a previous ‘if’

p13.c: At top level:

p13.c:53: warning: return type defaults to ‘int’

p13.c: In function ‘main’:

p13.c:56: warning: implicit declaration of function ‘prinftf’

p13.c:64: error: ‘salbase’ undeclared (first use in this function)

p13.c:64: error: (Each undeclared identifier is reported only once

p13.c:64: error: for each function it appears in.)

p13.c:65: error: ‘calctserv’ undeclared (first use in this function)

p13.c:65: error: too few arguments to function ‘bonus’

p13.c:66: error: ‘calcauxilio’ undeclared (first use in this function)

p13.c:67: error: ‘calcinss’ undeclared (first use in this function)

p13.c:67: error: too few arguments to function ‘INSS’

p13.c:68: error: ‘calcimposto’ undeclared (first use in this function)

p13.c:68: error: too few arguments to function ‘IR’

p13.c:69: error: ‘calcsaliquido’ undeclared (first use in this function)

p13.c:69: error: too few arguments to function ‘saliquido’

p13.c:75: error: ‘calcsalquido’ undeclared (first use in this function)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.