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.       }}

No hay comentarios:

Publicar un comentario