Ir para conteúdo

POWERED BY:

Arquivado

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

thallesvsantos

Algoritmo de IR C++

Recommended Posts

Tenho um trabalho da faculdade para entregar sobre o calculo do imposto de renda, declarar o valores como o salário dependentes e tudo mais, mas alguns erros estão dificultando o concerto do programa:

 

Não executa os comandos if corretamente.

E os valores que deveriam mostrar no final da execução não correspondem ao que deveria sair.

 

PS: Outros problemas podem ser identificados com o código completo abaixo.

 

#include<stdio.h>
#include<stdlib.h>
#include <conio.h>
int main()
{
int a [11];
char b [40];    
int c,desc,salario,ipr,vlr; 
printf("Digite o CPF: \n" );
scanf("%s",&a);

printf("Digite o nome do funcionario: \n" );
scanf("%s",&B);

printf("Digite numero de dependentes: \n" );
scanf("%d",&c);

printf("Digite o salario: \n " );
scanf("%d",&salario);


{
if(salario<=1499.15)
printf("Total Liquido a Receber: %.2f .\n Valor Isento de Imposto de Renda  ", salario);




if(salario>=1499.16 && salario <=2246.75)
printf("Imposto de renda:112 \n");
printf("Desconto Dependentes: %.2f\n", c*0.05*540);
scanf("%f",&desc);

printf("Total Liquido a receber: %.2d",salario-(112-desc));


if(salario>=2246.76 && salario<=2995.70)

printf("Imposto de renda: 280,94\n");

printf("Desconto Dependentes: %.2f", c*0.05*540);

printf("Total Liquido a receber: %.2d",salario-(280,94-desc));


if(salario>=2995.71 && salario <=3743.19)

printf("Imposto de renda: 505,62\n");

printf("Desconto Dependentes: %.2f\n", c*0.05*540);

printf("Total Liquido a receber: %.2d", salario-(505.62-desc));


if(salario>=3743.20)

printf("Imposto de renda: 692,78\n");

printf("Desconto Dependentes: %.2f \n", c*0.05*540);

printf("Total Liquido a receber: %.2d", salario-(692.78-desc));



}

fflush(stdin);

system("pause"); }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Alguns avisos quanto ao seu programa:

 

1. Você está usando C, e não C++.

 

2. fflush() NUNCA deve ser usado para input ( fflush(stdin) ). Veja aqui (depois do aviso sobre system("pause"), que eu acho que você devia ler também) por que.

 

3. C e C++ são case sensitive. Por isso, B é diferente de b. Você declarou uma variável b e está usando B, o que gera um erro na linha abaixo:

 

scanf("%s",&B);

 

>>

 

scanf("%s",&B);

 

 

4. O código em C/C++ é dado por blocos. O bloco do if deve começar depois da instrução if e quando o if termina. Por isso ele não funciona direito.

 

5. Você está usando variáveis inteiras (int) para calcular valores com decimal. Números com parte decimal devem ser declarados como double's.

 

6. Utilize as tags

 para postar seu código. Assim ele ficará identado e será mais fácil para nós lermos.
 
[code]#include<stdio.h>
#include<stdlib.h>
#include <conio.h>

int main()
{
int a[11];
char b[41];
double c, desc, salario, ipr, vlr;

printf("Digite o CPF: \n" );
scanf("%s",&a);

printf("Digite o nome do funcionario: \n" );
scanf("%s",&B);

printf("Digite numero de dependentes: \n" );
scanf("%d",&c);

printf("Digite o salario: \n " );
scanf("%d",&salario);

if(salario<=1499.15)
{
	printf("Total Liquido a Receber: %.2f .\n Valor Isento de Imposto de Renda ", salario);
}

if(salario>=1499.16 && salario <=2246.75)
{
	printf("Imposto de renda:112 \n");
	printf("Desconto Dependentes: %.2f\n", c*0.05*540);
	scanf("%f",&desc);
	printf("Total Liquido a receber: %.2d",salario-(112-desc));
}

if(salario>=2246.76 && salario<=2995.70)
{
	printf("Imposto de renda: 280,94\n");
	printf("Desconto Dependentes: %.2f", c*0.05*540);
	printf("Total Liquido a receber: %.2d",salario-(280,94-desc));
}

if(salario>=2995.71 && salario <=3743.19)
{
	printf("Imposto de renda: 505,62\n");
	printf("Desconto Dependentes: %.2f\n", c*0.05*540);
	printf("Total Liquido a receber: %.2d", salario-(505.62-desc));
}

if(salario>=3743.20)
{
	printf("Imposto de renda: 692,78\n");
	printf("Desconto Dependentes: %.2f \n", c*0.05*540);
	printf("Total Liquido a receber: %.2d", salario-(692.78-desc));
}

system("pause"); 
} 

 

 

Se ainda não funcionar, espere alguém como o guidjos ou a _Isis_ aparecer e te ajudar, pois não sei C, só C++, e, então, não posso te ajudar no código específico da C (como o printf e o scanf).

 

Abraços :D

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.