Logo Hardware.com.br
spok
spok Novo Membro Registrado
31 Mensagens 0 Curtidas

Linguagem C, calculo d imposto d renda

#1 Por spok 04/04/2007 - 11:54
Fala pessoal,
tenho q fazer um programa em C q calcula o imposto d renda d 10 contrubuintes. Segue o enunciado:

"Faça um programa que calcule o imposto de renda de 10 contribuintes considerando que o número de dependentes e renda mensal de cada contribuinte são valores fornecidos pelo usuário. Para cada contribuinte será feito um desconto de 5% de salário mínimo por dependente. Os valores da alíquota para cálculo do imposto são:

Até 2 salários mínimos Isento
2.3 (inclusive) 5%
3.5 (inclusive) 10%
5.7 (inclusive) 15%
Acima de 7 20% "

Fiz uma parte, mas ñ sei se qdo são digitados os dependentes e a renda mensal d cada contribuinte, eu consigo recupera-los depois para calcular e mostrar o valor, por exemplo, do contribuinte 4 q ganha ate 5 salarios.

Me ajudem nas passagens d parametros.
Segue o codigo:



#include <stdio.h>
#define salario 380.00

void doiss (int numdep, float rmensal, int i){
printf ("\nO contribuinte %d, esta isento do pagamento do imposto de renda", i);
}

void doisatress (int numdep, float rmensal, int i){
float valor, desconto;
desconto = numdep * (salario * (5/100));
valor = rmensal * (5/100) - desconto;
printf ("\nO contribuinte %d tem o valor a pagar = %5.2f",i , valor);
}

void tresacincos(int numdep, float rmensal, int i){
float valor, desconto;
desconto = numdep * (salario * (5/100));
valor = rmensal * (10/100) - desconto;
printf ("\nO contribuinte %d tem o valor a pagar = %5.2f",i , valor);
}

void cincoasetes (int numdep, float rmensal, int i){
float valor, desconto;
desconto = numdep * (salario * (5/100));
valor = rmensal * (15/100) - desconto;
printf ("\nO contribuinte %d tem o valor a pagar = %5.2f",i , valor);
}

void setes (int numdep, float rmensal, int i){
float valor, desconto;
desconto = numdep * (salario * (5/100));
valor = rmensal * (20/100) - desconto;
printf ("\nO contribuinte %d tem o valor a pagar = %5.2f",i , valor);
}


int main ()
{
int i=1, num, opcao;
float renda;
while(i<2){
printf ("\nEntre com o numero de dependentes do contribuinte %d: " , i);
scanf ("%d",&num);
printf ("\nEntre com a renda mensal do contribuinte %d: ", i);
scanf ("%f", &renda);
i++;}
if (renda <= 2*salario)
doiss (num,renda,i);
if ((renda > 2*salario) && (renda <= 3*salario))
doisatress (num,renda,i);
if ((renda > 3*salario) && (renda <= 5*salario))
tresacincos (num,renda,i);
if ((renda > 5*salario) && (renda <= 7*salario))
cincoasetes (num,renda,i);
if (renda > 7*salario)
setes (num,renda,i);

system ("pause&quot;
return 0;
}





Obrigado desde ja! isso_ai.pngisso_ai.png
Pirituba
Pirituba Super Participante Registrado
355 Mensagens 91 Curtidas
#3 Por Pirituba
04/04/2007 - 22:17
Salve spoksmile.png

Dah maneira que vc tinha feito naum seria possível recuperar esses dados entaum eu fiz o seguinte criei uma variável contribuintes que vai guardar esses valores caso vc precise utiliza-lós depois...

vet[1].dependentes corresponde o número de dependentes do contribuinte 1
vet[1].valor corresponde ao sálario do contribuinte

os parâmetro estavam todo ok... espero que ajude fmz

abraço

[PHP]
#include
#include

#define SALARIO 380.00
#define MAX_CONTRIBUINTES 10

typedef struct _contribuintes{
int dependentes;
float valor;
}contribuintes;

void doiss (int numdep, float rmensal, int i);
void doisatress (int numdep, float rmensal, int i);
void tresacincos(int numdep, float rmensal, int i);
void cincoasetes (int numdep, float rmensal, int i);
void setes (int numdep, float rmensal, int i);

int main (void)
{
int i, num, opcao;
contribuintes vet[MAX_CONTRIBUINTES];
float renda;

for(i = 0; i < MAX_CONTRIBUINTES; i++){

printf ("\nEntre com o numero de dependentes do contribuinte %d: " , i+1);
scanf ("%d",&vet[i].dependentes);
printf ("\nEntre com a renda mensal do contribuinte %d: ", i+1);
scanf ("%f", &vet[i].valor);

if (vet[i].valor <= 2*SALARIO)
doiss (vet[i].dependentes,vet[i].valor,i);

if ((vet[i].valor > 2*SALARIO) && (vet[i].valor <= 3*SALARIO))
doisatress (vet[i].dependentes,vet[i].valor,i);

if ((vet[i].valor > 3*SALARIO) && (vet[i].valor <= 5*SALARIO))
tresacincos (vet[i].dependentes,vet[i].valor,i);

if ((vet[i].valor > 5*SALARIO) && (vet[i].valor <= 7*SALARIO))
cincoasetes (vet[i].dependentes,vet[i].valor,i);

if (vet[i].valor > 7*SALARIO)
setes (vet[i].dependentes,vet[i].valor,i);
}

printf("\n\n");
system ("pause");
return 0;
}

void doiss (int numdep, float rmensal, int i){
printf ("\nO contribuinte %d, esta isento do pagamento do imposto de renda\n", i+1);
}

void doisatress (int numdep, float rmensal, int i){
float valor, desconto;

desconto = (numdep*SALARIO)*5/100;
valor = (rmensal *5/100) - desconto;
printf ("\nO contribuinte %d tem o valor a pagar = %5.2f\n",i + 1 , valor);
}

void tresacincos(int numdep, float rmensal, int i){
float valor, desconto;

desconto = (numdep * SALARIO) * 5/100;
valor = (rmensal * 10/100) - desconto;
printf ("\nO contribuinte %d tem o valor a pagar = %5.2f\n",i + 1 , valor);
}

void cincoasetes (int numdep, float rmensal, int i){
float valor, desconto;

desconto = (numdep * SALARIO) * 5/100;
valor = (rmensal * 15/100) - desconto;
printf ("\nO contribuinte %d tem o valor a pagar = %5.2f\n",i + 1 , valor);
}

void setes (int numdep, float rmensal, int i){
float valor, desconto;

desconto = (numdep * SALARIO )* 5/100;
valor = (rmensal * 20/100) - desconto;
printf ("\nO contribuinte %d tem o valor a pagar = %5.2f\n",i + 1, valor);
}
[/PHP]
"O mundo é um moinho."
– Cartola

“A primeira coisa a entender é que você não entende."
– Soren Aabye Kierkegaard
Pirituba
Pirituba Super Participante Registrado
355 Mensagens 91 Curtidas
#5 Por Pirituba
05/04/2007 - 00:50
Fmz spok
Uma vez com os dados dos contribuinte guardados vc escolhe a maneira que achar melhor para lista-los, poderia ser do jeito que vc falow, escrevendo quem tem menos de 2 salários e tal, tb poderia ser por número de dependentes...a maneira que a professora quiser... abraço
"O mundo é um moinho."
– Cartola

“A primeira coisa a entender é que você não entende."
– Soren Aabye Kierkegaard
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal