This repository has been archived by the owner on Dec 31, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathEjercicio_10.c
57 lines (52 loc) · 2.23 KB
/
Ejercicio_10.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//
// Created by pablo on 20/10/2023.
//
/*
* AUTOR: PABLO PORTAS
* OBJETIVO:
* Plantee e implemente un programa en Lenguaje C que solicite el salario anual
* bruto de una persona y muestre por pantalla la reducción del IRPF que se le
* aplicaría según los hijos menores de 18 años que tenga a su cargo, sabiendo que
* cada hijo (hasta 5) reduce un 10% el total del impuesto que le correspondería
* pagar. Es decir, si un trabajador gana 20000 € anuales y tiene a su cargo 5 hijos
* menores de 18 años, suponiendo un IRPF del 15% (debe ser constante en el
* programa) tendría que pagar 3000€ de impuesto anual, pero se le reduce un
* n_hijos*10% (50%) y por tanto pagaría únicamente 1500€ al año.
* in: N de Hijos menores, Sueldo anual bruto
* out: Reducción del IRPF, Total a Pagar
* NOTA1:
*/
#include <stdio.h>
#define IRPF 0.15
// SINTETIZO LA FÓRMULA DEL ENUNCIADO x: sueldo y: hijos
#define descuentohijos(x,y) (x * IRPF * (y * 0.10))
int main() {
int nhijosmenores;
float sueldoanualbruto, descuentoirpf;
// INPUT
puts("Calculador de descuento de del IRPF");
printf("Introduzca su salario anual bruto (en euros): ");
scanf(" %f", &sueldoanualbruto);
printf("Introduzca el número de hijos/as mayores de 18 años a su cargo: ");
scanf(" %d", &nhijosmenores);
// OUTPUT
printf("IRPF (15%%): %.2f€\n", sueldoanualbruto * IRPF);
switch (nhijosmenores) {
case 0: // VOY A SUPONER QUE EL USURARIO NO VA A INTRODUCIR HIJOS NEGATIVOS
descuentoirpf = 0;
printf("Carece de reducción del IRPF por hijos/as a su cargo.\n");
break;
case 1:
case 2:
case 3:
case 4:
descuentoirpf = descuentohijos(sueldoanualbruto,nhijosmenores);
printf("Reducción debida a hijos/as a cargo: %.2f€\n",descuentoirpf);
break;
default: // SÍ TIENE MÁS DE 4 O MÁS HIJOS
descuentoirpf = descuentohijos(sueldoanualbruto,5); // DESCUENTO MÁXIMO (5 HIJOS)
printf("Reducción debida a hijos/as a cargo: %.2f€\n",descuentoirpf);
}
printf("Total anual a pagar: %.2f€\n", sueldoanualbruto * IRPF - descuentoirpf);
return 0;
}