none
c# RRS feed

  • Discussão Geral

  • Faça o algoritmo e um programa que calcule o desconto do inss. o programa devera receber o salario do funcionario, e de acordo com esse salario, faça o calculo seguindo a tabela abaixo:


     salario:                     taxa de desconto
                                          
     965,67-----------------------------8%
     de 965,68 ate 1.609,45-----------9%
     de 1.609,46 ate 3.218.90--------11%
     acima de 3218,90-----------------R$ 354,08
    quinta-feira, 16 de agosto de 2018 00:22

Todas as Respostas

  • lucasTsudo,

             Montei um Windows Form. Vou separar tudo aqui para você montar na sua máquina para poder brincar ai...

    =======================================
    CLASSE: clsTabelaINSS.cs
    =======================================

    using System.Collections.Generic;
    using System.Linq;
    
    namespace wfaINSS
    {
        public class clsTabelaINSS
        {
            #region construtores
    
            public clsTabelaINSS()
            {
    
            }
    
            public clsTabelaINSS(float decSalI, float decSalF, float decTaxDesc, char chrPV)
            {
                this._salarioInicial = decSalI;
                this._salarioFinal = decSalF;
                this._taxaDesconto = decTaxDesc;
                this._porcentagemOuValor = chrPV;
            }
    
            #endregion
    
            #region Propriedades
    
            static List<clsTabelaINSS> clsTabINSS;
            private float _salarioInicial;
            private float _salarioFinal;
            private float _taxaDesconto;
            private char _porcentagemOuValor;
            #endregion
    
            #region metodos
    
            public float SalarioInicial
            {
                get { return _salarioInicial; }
                set { _salarioInicial = value; }
            }
    
            public float SalarioFinal
            {
                get { return _salarioFinal; }
                set { _salarioFinal = value; }
            }
    
            public float TaxaDesconto
            {
                get { return _taxaDesconto; }
                set { _taxaDesconto = value; }
            }
    
            public char PorcentagemOuValor
            {
                get { return _porcentagemOuValor; }
                set { _porcentagemOuValor = value; }
            }
            
    
            public void MontaTabelaDescontoINSS()
            {
                clsTabINSS = new List<clsTabelaINSS>();
    
                //salario:                     taxa de desconto
                //965,67-----------------------8%
                //de 965,68 ate 1.609,45-------9%
                //de 1.609,46 ate 3.218.90-----11%
                //acima de 3218,90-------------R$ 354,08
    
                clsTabINSS.Add(new clsTabelaINSS(0f, 965.67f, 8f, 'P'));
                clsTabINSS.Add(new clsTabelaINSS(965.68f, 1609.45f, 9f, 'P'));
                clsTabINSS.Add(new clsTabelaINSS(1609.46f, 3218.90f, 11f, 'P'));
                clsTabINSS.Add(new clsTabelaINSS(3218.91f, 0f, 354.08f, 'V'));
            }
    
            public string CalculaTaxa(string strSalario)
            {
                float fltSalario = 0f;
                float fltTaxDesc = 0f;
                float fltDesconto = 0f;
    
                if (!string.IsNullOrEmpty(strSalario))
                {
                    MontaTabelaDescontoINSS();
                    fltSalario = float.Parse(strSalario);
    
                    var varTaxDesc = 
                        (from tab in clsTabINSS
                         where ((tab._salarioInicial < fltSalario && tab._salarioFinal >= fltSalario) || 
                                (tab._salarioInicial <= fltSalario && tab._porcentagemOuValor == 'V'))
                         select new { tab._taxaDesconto, tab._porcentagemOuValor}).ToList();
    
                    fltTaxDesc = float.Parse(varTaxDesc[0]._taxaDesconto.ToString());
    
                    if (varTaxDesc[0]._porcentagemOuValor == 'P')
                        fltDesconto = (fltSalario * fltTaxDesc) / 100;    
                    else
                        fltDesconto = fltTaxDesc;
                }
    
                return fltDesconto.ToString();
            }
    
            #endregion
        }
    }

    =======================================
    Layout, dentro do FORM "frmCalculoINSS":
    =======================================

    - 2 textBox a saber:
       txtSalario;
       txtDescontoINSS;

    - 1 botão:
       btnCalculeINSS;

    - 2 labels:
       lblSalario (Digite o Salário:);
       lblDescontoINSS (Desconto INSS:);

    =======================================

    =======================================
    FORMULÁRIO: frmCalculoINSS.cs
    =======================================

    using System;
    using System.Windows.Forms;
    
    namespace wfaINSS
    {
        public partial class frmCalculoINSS : Form
        {
            public frmCalculoINSS()
            {
                InitializeComponent();
            }
    
            private void frmCalculoINSS_Load(object sender, EventArgs e)
            {
    
            }
    
            private void btnCalculeINSS_Click(object sender, EventArgs e)
            {
                clsTabelaINSS clsT_INSS = new wfaINSS.clsTabelaINSS();
    
                txtDescontoINSS.Text = clsT_INSS.CalculaTaxa(txtSalario.Text);
            }
        }
    }


        Veja também:

    ===============================================
    C# - Usando Listas com elegância
    http://www.macoratti.net/17/06/c_listas1.htm
    ===============================================
    101 LINQ Samples
    https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b
    ===============================================
    Variáveis e tipos primitivos
    https://www.caelum.com.br/apostila-csharp-orientacao-objetos/variaveis-e-tipos-primitivos/#null
    ===============================================


    []'s,
    Fabio I.

    • Editado Fabio I quinta-feira, 16 de agosto de 2018 19:31
    quinta-feira, 16 de agosto de 2018 18:49