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

Ajuda em C, struct e funções


Pedro Marostica

Pergunta

Olá, estou com duvidas em um problema, a mensagem de erro está aparecendo após a digitação do salário da primeira pessoa

Envio o programa abaixo:

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

typedef struct
{
    char nome[50];
    float sal;
    float ded;
    float impdev;
    float rest;
} imposto;

void leitura (imposto * v, int i)
{
    imposto nome, salario, deducoes;
    printf("\nDigite o seu nome:  ");
    scanf("%s", v.nome);
    printf("\nDigite o seu salario:  ");
    scanf("%f", v.sal);
    printf("\nDigite o valor das deducoes:  ");
    scanf("%f", v.ded);
}

float aliquota (float sal)
{
    float aliquota;
    if (sal < 1904)
        aliquota = 0;
    else if (sal > 1903 && sal < 2827)
        aliquota = 7.5;
    else if (sal > 2826 && sal < 3752)
        aliquota = 15;
    else if (sal > 3751 && sal < 4665)
        aliquota = 22.5;
    else if (sal > 4664)
        aliquota = 27.5;
    return aliquota;

}

void calculo (imposto * v, float sal, float ded, float aliq)
{
    int i;
    float resultado;
    for (i=0; i<10; i++)
    {
        resultado = ded - (12*sal*aliq);
        if (resultado > 0)
        {
            v.rest = resultado;
            v.impdev = 0;
        }
        else
        {
            v.impdev = resultado;
            v.rest = 0;
        }
    }
}

void escrita (imposto * v)
{
    int i;
    for (i=0; i<10; i++)
    {
        printf("\nNOME: %s\nSALARIO: %f\nDEDUCOES: %f\nIMPOSTO DEVIDO: %f\nRESTITUICAO: %f\n\n", v.nome, v.sal, v.ded, v.impdev, v.rest);
    }
}

int main()
{
    int i;
    float aliq;
    imposto v[10];
    for (i = 0; i < 10; i++)
    {
        leitura(v, i);
        aliq = aliquota(v.sal);
        calculo(v, v.sal, v.ded, aliq);
    }
    escrita (v);

}
 

 

 

Obrigado

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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...