Mostrando entradas con la etiqueta Zodiaco. Mostrar todas las entradas
Mostrando entradas con la etiqueta Zodiaco. Mostrar todas las entradas

Zodiaco

Un brujo nos ha pedido que hagamos un programa para su consulta. En concreto nos pide dos cosas:
- Obtener el "número vital" de la persona de la siguiente forma: Se introducirá el nombre completo de la persona y el programa retornará la suma de "todos" sus caracteres ASCII. (Espacios incluidos)

- Cálculo del zodiaco. Se introducirá la fecha de nacimiento y devolverá el signo zodiacal.

Aries
tauro
Géminis
cáncer
León
virgen
balanza
Escorpio
Sagitario
Capricornio
acuario
Peces 21 de Marzo - 20 de Abril
21 de Abril - 20 de Mayo
21 de Mayo - 21 de Junio
22 de Junio ​​- 22 de Julio
23 de Julio - 22 de Agosto
23 Agosto - 23 de Septiembre
24 de Septiembre - 22 de Octubre
23 de Octubre - 21 de Noviembre
22 de Noviembre - 21 de Diciembre
22 de Diciembre - 19 de Enero
20 de Enero - 18 de Febrero
19 de Febrero - 20 de Marzo

El programa irá así:


Entra el nombre completo: Pedro Vidal Torra
Entra la fecha de nacimiento (dd / mm / aaaa): 22/02/2000

El número vital es: 1476
El signo zodiacal es: Peces

¿Quieres continuar (S / N)?




NOTAS IMPORTANTES PARA TODO EL EXAMEN:

  --- En relación a los cálculos y control de errores:

Redondeados a 2 decimales → DecimalFormat ("# 12:00")
Dentro de las posibilidades de tiempo en el examen hay que hacer un control de errores en los dos ejercicios, el cual se valorará.

  1. import java.lang.Math;
  2.    import cs1.*;
  3.    import java.util.*;
  4.    import java.text.*;
  5.    public class Bruixot   {
  6.    
  7.       public static void main(String args[])
  8.       {  
  9.          boolean blnexit=true;
  10.          String nombre="", edad="", caracter="", bar1="", bar2="",  horoscopo="", continuar="";
  11.          
  12.          int b=0, resultado=0, dias=0, mes=0, anyo=0;
  13.          while (blnexit==true) {
  14.             System.out.print("Entra el nom complet: ");
  15.             nombre=Keyboard.readString();
  16.             System.out.print("Entra la data de naixement (dd/mm/aaaa): ");
  17.             edad=Keyboard.readString();
  18.          
  19.             bar1 =edad.substring(2,3);
  20.             bar2 = edad.substring(5,6);
  21.          
  22.             if (edad.length()!=10) {
  23.                System.out.println("Error la data ha de ser en format (dd/mm/aaaa)\n");
  24.                blnexit=true;
  25.             }
  26.             else if (bar1.equals("/") || bar2.equals("/")) {
  27.                for (int i=1;  i<nombre.length()+1; i++) {
  28.                   caracter = nombre.substring(b,i);
  29.                
  30.                   resultado = resultado + (int)caracter.charAt(0);
  31.                
  32.                   b=b+1;
  33.                
  34.                }
  35.            
  36.                System.out.println("El numero vital és : "+resultado);
  37.            
  38.                dias =Integer.parseInt(edad.substring(0,2));
  39.                mes = Integer.parseInt(edad.substring(3,5));
  40.                anyo = Integer.parseInt(edad.substring(6,10));
  41.            
  42.                if (dias>=21 && mes==3 || dias<=20 && mes==4) {
  43.                   horoscopo = "aries";
  44.                }
  45.                else if (dias>=21 && mes==4 || dias<=20 && mes==5) {
  46.                   horoscopo = "Taure";
  47.                }
  48.                else if (dias>=21 && mes==5 || dias<=21 && mes==6) {
  49.                   horoscopo = "Gemnis";
  50.                }
  51.                else if (dias>=22 && mes==6 || dias<=22 && mes==7) {
  52.                   horoscopo = "Cancer";
  53.                }
  54.                else if (dias>=23 && mes==7 || dias<=22 && mes==8) {
  55.                   horoscopo = "Lleó";
  56.                }
  57.                else if (dias>=23 && mes==8 || dias<=22 && mes==9) {
  58.                   horoscopo = "Verge";
  59.                }
  60.                else if (dias>=24 && mes==9 || dias<=22 && mes==10) {
  61.                   horoscopo = "Balança";
  62.                }
  63.                else if (dias>=23 && mes==10 || dias<=21 && mes==11) {
  64.                   horoscopo = "Escorpio";
  65.                }
  66.                else if (dias>=22 && mes==11 || dias<=21 && mes==12) {
  67.                   horoscopo = "Sagitari";
  68.                }
  69.                else if (dias>=22 && mes==12 || dias<=19 && mes==1) {
  70.                   horoscopo = "Capricorn";
  71.                }
  72.                else if (dias>=20 && mes==1 || dias<=18 && mes==2) {
  73.                   horoscopo = "Aquari";
  74.                }
  75.                else if (dias>=19 && mes==2 || dias<=20 && mes==3) {
  76.                   horoscopo = "Peixos";
  77.                }
  78.            
  79.                System.out.println("El signe zodiacal és : "+horoscopo);
  80.                System.out.println("\n Vols continuar (S/N) ?");
  81.                continuar = Keyboard.readString();
  82.                if (continuar.toUpperCase().equals("S")) {
  83.                   blnexit=true;
  84.                
  85.                }
  86.                else if (continuar.toUpperCase().equals("N")) {
  87.                
  88.                   blnexit=false;
  89.                }
  90.                        
  91.             }
  92.             else {
  93.            
  94.                System.out.println("Error la data ha de ser en format (dd/mm/aaaa)\n");
  95.                blnexit=true;
  96.             }}
  97.       }}