Ir para o conteúdo
R0t3nSkull

[Resolvido] Calculadora de Imposto

Mensagens Recomendadas

R0t3nSkull    0
R0t3nSkull

Boas, mais uma vez venho pedir o vosso auxilio. Estou a fazer uma calculadora de imposto muito básica que após a introdução do estado civil e do rendimento bruto anual, ele diz-me o imposto a pagar. Agora é que as coisas se complicam, o código está todo feito e funcional excepto quando eu digito um valor decimal no rendimento.... :S Alguém me pode ajudar? Obrigado  :)

                      Solteiros

                     

Menor ou igual | Maior | Taxa de Imposto

21450                    -                  15%

51900                    -                  28%

    -                    51900              31%

                      Casados

                     

Menor ou igual | Maior | Taxa de Imposto

35800                    -                  15%

86500                    -                  28%

    -                    86500              31%

Module Module1

    Sub Main()

        Imposto()

    End Sub

    Sub Imposto()

        'Variáveis

        Dim estado_civil As String
        Dim rend As Double
        Dim imp As Integer
        Const taxa1 As Single = 0.15
        Const taxa2 As Single = 0.28
        Const taxa3 As Single = 0.31

        Console.WriteLine("Qual é o seu estado civil? (Solteiro/Casado)")
        estado_civil = Console.ReadLine()

        'Solteiro

        If estado_civil = "Solteiro" Then

            Console.WriteLine("Qual é o seu rendimento? ")
            rend = Console.ReadLine()


            Select Case rend

                Case Is <= 21450

                    imp = rend * taxa1

                Case 21450.01 To 51900

                    imp = rend * taxa2


                Case Is > 51900.01

                    imp = rend * taxa3



            End Select

        ElseIf estado_civil = "Casado" Then

            Console.WriteLine("Qual é o seu rendimento? ")
            rend = Console.ReadLine()

            Select Case rend
                Case Is <= 35800

                    imp = rend * taxa1

                Case 35800.01 To 86500

                    imp = rend * taxa2

                Case Is > 86500

                    imp = rend * taxa3


            End Select

        End If


        Console.WriteLine("O Valor do imposto é: " & imp)
        Console.ReadLine()

    End Sub

End Module

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
R0t3nSkull    0
R0t3nSkull

continua a não dar, mas obrigado na mesma. o facto é quando eu meto um valor decimal, aquildo dá me um valor maior do que o proprio rendimento o que não pode ser. :s

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
R0t3nSkull    0
R0t3nSkull

é assim este problema serve para calcular a taxa de IRS a pagar no fim do ano depois de introduzidos o estado civil e o salario bruto anual.

o programa funciona, mas quando introduzo salarios brutos decimais (Ex. 2341,50)€ o programa passa-se, dá me sempre um valor superior ao rendimento :)

Obrigado pela ajuda jpaulino

EDIT: Já percebi o problema, quando tava a correr o programa, estava a por 2343.02€ e não 2324,02€

ou seja o problema é da virgula.

Obrigado na mesma :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

Ok, já entendi!

Isso depende da configuração do PC (definições regionais) em que o separador decimal é o ponto "." ou a virgula ",".

Se fizeres 2341.50 dá bem porque o teu separador decimal é o ponto.

Não te esqueças de alterar a variável para double!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade