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

Conversão Portugol-C


Silvio3232

Pergunta

Boa tarde,

Estou tendo dificuldades para converter o seguinte código,gostaria de ajuda.

var

nome:caracter
idade:inteiro
valhrtrab:real
diasmes:inteiro
d:caracter
n:caracter
turdiario:caracter
diastrabmes: inteiro
horasdia: inteiro
salario: real
inss: real
fgts:real
inicio
escreva("Digite o nome do funcionário: ")
leia(nome)
escreva("Digite a idade do funcionário: ")
leia(idade)
escreva("Digite quantos dias trabalhados no mês: ")
leia(diastrabmes)
repita
escreva("Regime de horas trabalhadas por dia. 6 ou 8 horas?: ")
leia(horasdia)
ate ((horasdia = 6) ou (horasdia = 8))
escreva("Digite o Turno. D para Diurno e N para Noturno ou Pressione S para Sair: ")
leia(turdiario)
se ((turdiario <> "D") e (turdiario <> "N")) então
escreval("Programa Finalizado!!")
fimse
se ((turdiario = "D") e (idade <=50)) então
valhrtrab:= 3
senao
se ((turdiario = "D") e (idade > 50)) então
valhrtrab:= 3 + (3*0.10)
fimse
se ((turdiario = "N") e (idade <=50)) então
valhrtrab:= 4
senao
se ((turdiario = "N") e (idade > 50)) então
valhrtrab:= 4 + (4*0.10)
fimse
fimse
fimse
salario:= (valhrtrab * horasdia* diastrabmes)+ (valhrtrab * horasdia* diastrabmes* 1.5)
fgts:= salario*0.08
se salario<= 1556.94 então
inss:= salario*0.08
senao
se ((salario >=  1556.95) e (salario <= 2594.92)) então
inss:= salario*0.09
senao
se ((salario >= 2594.93) e (salario <= 8189.82)) então
inss:= salario*0.11 senao
fimse fimse
fimse
escreval("O salario bruto é: ",salario)
escreval( "O Total do Depósito do FGTS é: ",fgts)
escreva( "O depósito do INSS é: ", inss)
fimalgoritmo
 

Muito Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá!

Tentei ser fiel ao máximo em seu código e deixá-lo bem simples, mas já adianto que não o corrigi (há alguns erros). É intuitivo os comandos então para seguir com as correções.

 

#include <stdio.h>

int main(){

    char nome[60], d, n, turdiario;
    int idade, diasmes, diastrabmes, horasdia;
    float valhrtrab, salario, inss, fgts;

    /*Obs: há variaveis que não foram utilizadas em seu codigo: diasmes, n, d*/

    printf("Digite o nome do funcionario: ");
    scanf("%s", nome);
    printf("Digite a idade do funcionario: ");
    scanf("%3d", &idade);
    printf("Digite quantos dias trabalhados no mes: ");
    scanf("%2d", &diastrabmes);

    do{
        printf("Regime de horas trabalhadas por dia. 6 ou 8 horas?: ");
        scanf("%2d", &horasdia);
    }while((horasdia != 6) || (horasdia != 8)); /*Aqui há um erro de logica, 6 é diferente de 8 e 8 é diferente de 6 portanto este laco nunca sera
                                                  nunca sera satisfeito*/

    printf("Digite o Turno. D para Diurno e N para Noturno ou Pressione S para Sair: ");
    scanf("%c", &turdiario);

    if((turdiario != 'D') && (turdiario != 'N')){
        printf("Programa Finalizado!!");
    }

    if((turdiario == 'D') && (idade <= 50))
        valhrtrab = 3.0;
    else
        if((turdiario == 'D') && (idade > 50))
            valhrtrab = 3 + 3 * 0.1;
        else
            if((turdiario == 'N') && (idade <= 50))
                valhrtrab = 4;
            else
                if((turdiario = 'N') && (idade > 50))
                    valhrtrab = 4 + 4 * 0.1;

    salario = (valhrtrab * horasdia * diastrabmes) + (valhrtrab * horasdia * diastrabmes * 1.5);
    fgts = salario * 0.08;

    if (salario <= (float)1556.94)
        inss = salario * 0.08;
    else
        if(salario >= (float)1556.95 && salario <= (float)2594.92)
            inss = salario * 0.09;
        else
            if(salario >= (float)2594.93 && salario <= (float)8189.82)
                inss = salario * 0.11;


    printf("O salario bruto é: %.2f", salario);
    printf("\nO Total do Depósito do FGTS e: %.2f",fgts);
    printf("\nO depósito do INSS é: %.2f", inss);

return 0;
}

 

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...