using System; namespace ImpotTab { class MainClass { public static void Main (string[] args) { decimal [] debutTranches = {0m, 5964m, 11897m, 26421m, 70830m}; decimal [] tauxTranches = {0m, 0.055m, 0.14m, 0.3m, 0.41m}; int nbTranches = debutTranches.Length; decimal tauxAbattement = 0.1m; Console.Write("Saisissez votre revenu imposable : "); decimal revenuImposable = decimal.Parse(Console.ReadLine()); Console.Write("Saisissez votre nombre de parts : "); decimal nombreDeParts = decimal.Parse(Console.ReadLine()); decimal revenuApresAbattements = revenuImposable * (1 - tauxAbattement); Console.WriteLine("Montant imposable après abbatements : " + (int)revenuApresAbattements); decimal quotientFamilial = revenuApresAbattements/nombreDeParts; Console.WriteLine("Quotient Familial : " + (int)quotientFamilial); decimal impotBrut = 0m; int i = 0; while(i < nbTranches) { quotientFamilial -= debutTranches[i] - ((i > 0)? debutTranches[i-1] : 0) ; if (quotientFamilial > 0) impotBrut += quotientFamilial * (tauxTranches[i] - ((i > 0)? tauxTranches[i-1] : 0)) ; i++; } Console.WriteLine("Impot brut : " + (int)impotBrut); decimal impotNet = impotBrut * nombreDeParts; Console.WriteLine("Impot net : " + (int)impotNet); } } }