Jump to content
trippietiago

Vencimento final de um colaborador

Recommended Posts

trippietiago

Olá a todos, tenho uma dúvida. Sou iniciante em programação e foi me pedido para a faculdade a resolução de um exercício em que o enunciado é este:

Numa empresa o vencimento dos colaboradores é calculado a partir de um vencimento base (VB) e tem em consideração a sua idade (ID), número de filhos (NF) e anos de serviço (AS). O cálculo do salário final é feito de acordo com as seguintes parcelas:

•1% de VB para cada ano de ID superior a 25;

•3% por cada ano de serviço até perfazer 5 anos; sendo 5% por cada ano extra;

•2% por cada filho, considerando o valor mínimo de 2 filhos.

 

Até agora só tenho isto, preciso de ajuda urgente! Obrigado pela atenção.

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

int main(int argc, char** argv) {
    int VF, VB, ID, NF, AS;
    
    printf("digite a idade do colaborador: ");
    scanf("%d", &ID);
     
    printf("digite o vencimento base do colaboradorr: ");
    scanf("%d", &VB);
    
    printf("digite o número de filhos do colaborador: ");
    scanf("%d", &NF);
    
    printf("digite os anos de serviço do colaborador: ");
    scanf("%d", &AS);
    
    if (ID > 25)


    return (EXIT_SUCCESS);
}

 

Share this post


Link to post
Share on other sites
PsySc0rpi0n

Qual é a dúvia em concreto?

O teu code está apenas a pedir valores. Ainda não vejo mais nada. É preciso pensar em cada uma das alíneas e começar a colocar cada uma em código, nem que seja por partes!

 

Começa por tentar escrever fórmulas que traduzam cada uma das alíneas!

Edited by PsySc0rpi0n

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Share this post


Link to post
Share on other sites
trippietiago
2 minutos atrás, PsySc0rpi0n disse:

Qual é a dúvia em concreto?

O teu code está apenas a pedir valores. Ainda não vejo mais nada. É preciso pensar em cada uma das alíneas e começar a colocar cada uma em código, nem que seja por partes!

A minha dúvida é como colocar cada variável a atuar independetemente das outras (esqueci-me de colocar no enunciado que o objetivo do exercício é determinar uma função correspondente ao vencimento final (VF)).

Share this post


Link to post
Share on other sites
PsySc0rpi0n
4 minutes ago, trippietiago said:

A minha dúvida é como colocar cada variável a atuar independetemente das outras (esqueci-me de colocar no enunciado que o objetivo do exercício é determinar uma função correspondente ao vencimento final (VF)).

Não percebo a dúvia. A actuar independentemente das outras? Mas algumas são mesmo dependentes porque dependem do número de anos de serviço, das percentagens, etc.

Tenta fazer como disse. Por partes, escreve fórmulas (em papel) que permitam satisfazer cada uma das condições!

Por exemplo, como seria a fórmula do VF se só tivesses que satisfazer a primeira condição? E se tivesses só a segunda? E só a terceira?

Edited by PsySc0rpi0n

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Share this post


Link to post
Share on other sites
trippietiago
8 minutos atrás, PsySc0rpi0n disse:

Não percebo a dúvia. A actuar independentemente das outras? Mas algumas são mesmo dependentes porque dependem do número de anos de serviço, das percentagens, etc.

Tenta fazer como disse. Por partes, escreve fórmulas (em papel) que permitam satisfazer cada uma das condições!

Por exemplo, como seria a fórmula do VF se só tivesses que satisfazer a primeira condição? E se tivesses só a segunda? E só a terceira?

Ok, irei fazer assim e depois direi algo. Obrigado !

Share this post


Link to post
Share on other sites
PsySc0rpi0n
32 minutes ago, trippietiago said:

Ok, irei fazer assim e depois direi algo. Obrigado !

Eu já tenho uma solução e fiz como te disse.

Talvez não tanto à letra de encontrar uma fórmula para cada critério, mas encontrando a forma de calcular cada percentagem de cada critério. Depois no fim é somar as percentagens e multiplicar pelo VB.

À primeira vista parece estar certa, mas posso ter-me enganado. Não sou nenhum expert mas gosto de fazer alguns exercícios que por aqui vão aparecendo.


Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Share this post


Link to post
Share on other sites
PsySc0rpi0n

Bom, parece que já não há interesse nesta thread, por isso fica aqui a minha solução:

 

#include <stdio.h>

 int main(void){
    int vb = 1000, idd = 40, asv = 6, nf = 2, tmp = 0;
    float percnf = 0.0, percasv = 0.0, percid = 0.0;

    if(nf >= 2){
       for(int i = 0; i < nf; i++){
          percnf += .02;
       }
    }

    if(asv > 5){
       while(tmp < 5){
          percasv += .03;
          tmp++;
       }
       tmp = 0;
       while(tmp < (asv - 5)){
          percasv += .05;
          tmp++;
       }
    }else{
       tmp = 0;
       while(tmp < asv){
          percasv += .03;
          tmp++;
       }
    }
    tmp = 0;

    if(idd > 25)
       while(tmp < (idd - 25)){
          percid += .01;
          tmp++;
       }

    printf("Vencimento Final: %.2f\n", vb*(1 + percasv + percid + percnf));
    return 0;
 }

Agora é só alterar os valores iniciais das variáveis declaradas no início e ver os resultados.


Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Share this post


Link to post
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.