package condicionales;

import java.util.Scanner;

public class ejercicios {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		/*
		 * 1. Escribe un algoritmo que pregunta al usuario su edad y determine si es
		 * mayor de edad o no.
		 */

		/*int edad1;
		System.out.println(" ¿cual es tu edad?");
		edad1 = sc.nextInt();
		if (edad1 > 18) {
			System.out.println("El usuario es mayor de edad");
		} else {
			System.out.println("El usuario no es mayor de edad");
		}*/

		/*
		 * 2. Escribe un algoritmo que determine preguntando el número de hijos si es
		 * familia numerosa o no lo es (Familia Numerosa: 3 hijos o más).
		 */
		/*int hijosFamilia;
		System.out.println("¿Cual es el numero de hijos que tiene?");
		hijosFamilia = sc.nextInt();
		if (hijosFamilia >= 3) {
			System.out.println("Familia numerosa");
		} else {
			System.out.println("Familia normal");
		}*/

		/*
		 * 3. Escribe un algoritmo que determine si un número ingresado es negativo,
		 * positivo o cero.
		 */
		/*int numero1;
		System.out.println("¿Que valor tiene el numero?");
		numero1 = sc.nextInt();
		if (numero1 > 0) {
			System.out.println("Numero positivo");
		} else if (numero1 == 0) {
			System.out.println("0");
		} else {
			System.out.println("Numero negativo");
		}*/
		
		
		/*
		 * 4.    Escribe un algoritmo que pida 3 números al usuario y determine cuál es el mayor de los 3, y el menor.
		 */
		
		//EJEMPLO HUMANO
		//8		10		6
		//NÚMERO MAYOR: 10.
		//10>8 Y 10>6 → 10 ES EL MAYOR DE TODOS
		//NÚMERO MENOR: 6.
		//6<8 Y 6<10 → 6 ES EL NÚMERO MENOR
		
		/*System.out.println("Introduce un numero");
		int n1;
		n1=sc.nextInt();
		System.out.println("Escribe un segundo numero");
		int n2 = sc.nextInt(); 
		System.out.println("Escribe el tercer numero");
		int n3=sc.nextInt();
		
		int numMayor, numMenor;
		
		//Para determinar el número mayor.
		if(n1>n2 && n1>n3) {
			System.out.println("El número mayor es "+n1);
			numMayor = n1;

		}else if(n2>n1 && n2>n3) {
			System.out.println("El numero mayor es "+n2);
			numMayor = n2;
		}else{
			System.out.println("El numero mayor es "+n3);
			numMayor = n3;
		}
		
		//Para determinar el número menor.
		if(n1<n2 && n1<n3) {
			System.out.println("El numero pequeño es "+n1);
			numMenor = n1;
		}else if(n2<n1 && n2<n3) {
			System.out.println("El numero pequeño es "+n2);
			numMenor = n2;
		}else {
			System.out.println("El numero pequeño es "+n3);
			numMenor = n3;
		}
		
		
		
		//Número intermedio
		if (n1 != numMayor && n1!= numMenor) {
			System.out.println("El número "+n1+" es el mediano");
		}
		if (n2 != numMayor && n2!= numMenor) {
			System.out.println("El número "+n2+" es el mediano");
		}else {
			System.out.println("El número "+n3+" es el mediano");

		}*/
		
		/*
		 * 5.    Realiza un programa que simule un inicio de sesión solicitando el nombre y la contraseña y muestre 
		 * un mensaje por pantalla, indiciando si el inicio de sesión es correcto o incorrecto. 
		 * (El nombre y contraseña correcto, se declara en una constante y se compara)
		 */
		/*String usuarioCorrecto = "pepito";
		String passCorrecta = "juanito";
		
		System.out.println("Introduzca su nombre de usuario");
		String usuarioIntroducido =sc.nextLine();
		System.out.println("Introduzca su contraseña");
		String passIntroducido=sc.nextLine();
		

		
		if (usuarioIntroducido.equalsIgnoreCase(usuarioCorrecto) && passIntroducido.equals(passIntroducido)) {
			System.out.println("Inicio de Sesión SATISFACTORIO!");
		}else {
			System.out.println("Inicio de sesión incorrecto LO SIENTO!");
			
			//Porque no se ha producido el INICIO DE SESIÓN
			
			if (!usuarioIntroducido.equalsIgnoreCase(usuarioCorrecto)) {
				System.out.println("El usuario es incorrecto");
			}
			
			if(!passIntroducido.equals(passCorrecta)){
				System.out.println("La contraseña es incorrecta");
			}
			
		}*/
		
		/*
		 * 6. Tiendas Alejandro quiere utilizar un algoritmo que ingresando el día de la semana y 
		 * el montante de la compra; si el día es martes o jueves, se realizará un 
		 * descuento del 15% por la compra. Visualizar el descuento y el total a pagar por la compra.
		 */
		
		// Condición supeditada del día de la semana → 15% si cumple.
		// Almacenar el día de la semana para evaluarlo.
		// Almacenar el montante o precio de compra.
		
		/*System.out.println("Introduce el dia de la semana");
		String diaSemana = sc.nextLine();
		double descuento = 0;
		double compra;
		System.out.println("Introduce el precio de compra");
		compra=sc.nextDouble();
		System.out.println("Precio Bruto: "+compra);
		double importeDescuento=0;
		
		//CONSTANTES.
		final double DESCUENTO = 0.15; 
		
		
		if(diaSemana.equalsIgnoreCase("Martes") || diaSemana.equals("Jueves") ) {
			importeDescuento = compra*DESCUENTO;
			System.out.println("Descuento: "+importeDescuento);
			double precioFinal = compra - importeDescuento;
			System.out.println("Precio final: " +precioFinal);
		}*/
		
		/*
		 * 7. Escribe un algoritmo que lea la temperatura en centígrados del día e imprima la 
			sensación térmica, de acuerdo, a la siguiente tabla:
			Temperatura (Centígrados)			Sensación 
			TP =< 0º							Muy Frío
			TP =<10º							Frio
			TP =<20º							Neutral
			30º > TP >20º						Caluroso
			TP >= 30º							Muy Caluros
		 */
	
		/*System.out.println("Indique que temperatura hay en la calle");
		double temperatura= sc.nextDouble();
		
		if(temperatura<=0) { // x>0
			System.out.println("Muy frio");
		}else if(temperatura<=10) { //0<x<=10 
			System.out.println("Frio");
		}else if(temperatura<=20) { //10<x<=20
			System.out.println("Neutal");
		}else if(temperatura<30) { //20<x<30
			System.out.println("Caluroso");
		}else {
			System.out.println("Muy caluroso");
		}*/
		
		/*
		 * 8. Escribe un algoritmo que determine si un número es múltiplo de 3, de 5 o de ambos. 
		 * El usuario debe ingresar el número y el programa debe indicar todas las condiciones que se cumplen.
		 */
		
		/*System.out.println("Dame un número");
		int num=sc.nextInt();*/
		
		//OPCIÓN 1.
		
		//Operador MÓDULO (%)
		
		/*if(num%3 == 0) {
			System.out.println("Multiplo de 3");
		}
		if(num%5==0) {
			System.out.println("Multiplo de 5");
		}
		if(num%3==0&&num%5==0) {
			System.out.println("Es multiplo de ambos");
		}*/
		
		//OPCIÓN 2.
		
		/*if (num%3==0&&num%5==0) {
			System.out.println("Es multiplo de ambos");
		} else if(num%5==0) {
			System.out.println("Multiplo de 5");
		} else if(num%3 == 0) {
			System.out.println("Multiplo de 3");
		}*/
		
		/*
		 * 9.    Escribe un algoritmo que determine el precio final de una entrada al cine.
		 *  Si la persona es estudiante [18-25] años, se aplica un descuento del 50%.
		 *  Si la persona es mayor de 60 años, se aplica un descuento del 30%. 
		 *  El precio de la entrageneral es de 10€.
		 */
		
		//SCOPE o ÁMBITO.
		
		//1er Planteamiento: Establezco todos los rangos de edad que existen. <18 | 18 y 25 | >25 | >60
		//2º Planteamiento: Establezco únicamente los rangos de edad que necesito, y los que no necesito los
		// "sostiene" un else".
		
		//Solicitud de edad (Verbalización + Escucha).
		/*System.out.println("Indique su edad");
		int edad =sc.nextInt();
		
		//Variables a utilizar.
		int entrada=10;
		double descuento=0.0;
		
		final double DESCUENTO1= 0.5;
		final double DESCUENTO2= 0.3;

		//Condicionales
		
		if(edad>=18 && edad<=25) {
			//Generar el descuento en € (Para que se pueda igualar a la entrada (las unidades de medidas))
			//descuento=0.5; //Porcentaje.
			//Convertirlo a €
			descuento = entrada * DESCUENTO1;
		}else if(edad>=60) {
			//descuento=0.3;
			descuento=entrada * DESCUENTO2;
		}
		System.out.println(" El precio de su entrada es "+ (entrada-descuento));
		*/
		
		/*
		 * 10. Escribe un algoritmo que determine el índice de masa corporal (IMC) de una persona y clasifique el resultado. 
		 * El IMC se calcula como el peso en kilogramos dividido por la altura en metros al cuadrado. Las categorías son:
				•   Bajo peso: IMC menor a 18.5.
				•   Peso normal: IMC entre 18.5 y 24.9.
				•   Sobrepeso: IMC entre 25 y 29.9.
•         Obesidad: IMC 30 o más.
		El usuario debe ingresar su peso y su altura, y el programa debe calcular el IMC y mostrar la categoría correspondiente.
		 */
		
		//Variables a utilizar
		/*double altura;
		double kilos;
		double IMC;
		
		//Solicitud de datos
		System.out.println("Indique su altura");
		altura= sc.nextDouble();
		System.out.println("Indique su peso");
		kilos=sc.nextDouble();
		
		//Calcular IMC
		IMC=kilos/(altura*altura);
		
		//Condicionales [Independientes]
		if(IMC<18.5) {
			System.out.println("Bajo peso");
		}
		if(IMC >= 18.5 && IMC <= 24.9) {
			System.out.println("Peso normal");
		}
		if(IMC >=25 && IMC<=29.9){
			System.out.println("Sobrepeso");
		}
		if(IMC>=30) {
			System.out.println("Obesidad");
		}
		
		//Condicionales [Consecutivos]
		
		if(IMC<18.5) {
			System.out.println("Bajo peso");
		}
		else if(IMC <= 24.9) {
			System.out.println("Peso normal");
		}
		else if(IMC<=29.9){
			System.out.println("Sobrepeso");
		} else {
			System.out.println("Obesidad");
		}*/
		
		/*
		 * 11. Escribe un algoritmo que determine el área y el perímetro de una figura geométrica. El usuario puede elegir entre un cuadrado, un rectángulo o un círculo. Según la elección del usuario, el programa debe solicitar las dimensiones correspondientes y calcular el área y el perímetro.
			• Para un cuadrado: 
				o        Área = lado × lado.
				o        Perímetro = 4 × lado.
			• Para un rectángulo: 
				o        Área = base × altura 
				o        Perímetro = 2 × (base + altura)
			• Para un círculo: 
				o        Área = π × radio2
				o        Perímetro = 2 × π × radio
		 */
		System.out.println("Seleccione una de las siguientes opciones\n"
				+ "1. Cuadrado.\n"
				+ "2. Rectángulo.\n"
				+ "3. Círculo.");

		final String CUADRADO = "CUADRADO";
		final String RECTANGULO = "RECTÁNGULO";
		final String CIRCULO = "CÍRCULO";
		
		double area,perimetro;
		
		int opcion = sc.nextInt();
		String opcion2= "";
		
		if (opcion == 1) {
			opcion2=CUADRADO;
			System.out.println("Indique el lado");
			
			double lado= sc.nextDouble();
			area=lado*lado;
			perimetro=4*lado;
			
		}else if (opcion == 2) {
			opcion2=RECTANGULO;
			System.out.println("Indique la base");
			double base=sc.nextDouble();
			
			System.out.println("Indique la altura");
			double altura=sc.nextDouble();
			area=base*altura;
			perimetro=2*(base+altura);
					
		}else if (opcion == 3) {
			opcion2=CIRCULO;
			System.out.println("Indique el radio de la circunferencia");
			double radio=sc.nextDouble();
			area=3.14*(radio*radio);
			perimetro=2*3.14*radio;
			
		}else {
			System.out.println("Opción Incorrecta!! :(");
			area=0;
			perimetro=0;
		}
		System.out.println("Figura elegida: "+opcion2);
		System.out.println("Área: "+area);
		System.out.println("Perímetro: "+perimetro);
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		/*
		 * System.out.println("Que edad tienes");
		int entrada =10; //Variable "global"
		double descuento = 0;
		int edad = sc.nextInt();
		
		if(edad>=18 && edad<=25) {
			//Si descuento lo hubiera declarado aquí sería "local".
			descuento = entrada * 0.5;
			System.out.println("Descuento aplicado: "+descuento);
		}else if (edad>60) {
			descuento = entrada * 0.3;
			System.out.println("Descuento aplicado: "+descuento);
		}
		
		System.out.println("Precio Final: "+ (entrada-descuento));
		 */
		
		
		
		
		

		
		
		
		
	}
}
