jueves, 6 de noviembre de 2014

Control 2009-2010

Los dos ejercicios del primer control:

/*1.- (6 puntos) Se desea realizar un programa en Java permita al usuario introducir una serie de
datos de familias. Para cada familia se introducirá (en este orden):

• nombre del padre
• edad del padre
• nombre de la madre
• edad de la madre
• número de hijos para cada hijo:
o nombre del hijo
o edad del hijo

Se sabrá que no se van a introducir más datos cuando el nombre del padre sea “fin”.
Se deberá mostrar al final:

• Cantidad de familias en las que ambos padres tienen más de 30 años.
• Nombre del padre y madre de la familia con más hijos.
• Media de hijos que tienen las familias.
• Nombre del hijo con menor edad.
• Edad media de las esposas en las familias sin hijos.


*/


import javax.swing.*;
public class UnoControl
{
public static void main(String args[])
{
String sNombrePadre,sNombreMadre,sNombreHijo,sNombrePadreMasHijos=
"",sNombreMadreMasHijos="",sNombreMinHijo="";
int iEdadPadre,iEdadMadre,iEdadHijo,iMinEdadHijo=1000,iNumHijos,iContMayor=0,iMaxHijos=-1,iAcumHijos=0,iContFamilias=0,iSumaEdadMadresSinHijos=0,iContMujeresSinHijos=0;
final int MIN_EDAD=30;



sNombrePadre=JOptionPane.showInputDialog(
"Introduce el nombre del padre");

while(!sNombrePadre.equals("fin"))
{
iEdadPadre=Integer.parseInt(JOptionPane.showInputDialog(
"Introduce la edad del padre"));

sNombreMadre=JOptionPane.showInputDialog(
"Introduce el nombre de la madre");

iEdadMadre=Integer.parseInt(JOptionPane.showInputDialog(
"Introduce la edad de la madre"));
if(iEdadPadre>=MIN_EDAD && iEdadMadre>=MIN_EDAD)
iContMayor++;

iNumHijos=Integer.parseInt(JOptionPane.showInputDialog(
"Introduce el número de hijos"));

if(iNumHijos==0)
{
iSumaEdadMadresSinHijos=iSumaEdadMadresSinHijos+iEdadMadre;
iContMujeresSinHijos++;
}

if(iNumHijos>iMaxHijos)
{
iMaxHijos=iNumHijos;
sNombrePadreMasHijos=sNombrePadre;
sNombreMadreMasHijos=sNombreMadre;

}
iAcumHijos=iAcumHijos+iNumHijos;

//if(iNumHijos>0 --->mal
for(int i=0;i<iNumHijos;i++)
{
sNombreHijo=JOptionPane.showInputDialog(
"Introduce el nombre del hijo "+(i+1)+"º: ");
iEdadHijo=Integer.parseInt(JOptionPane.showInputDialog(
"Introduce la edad del hijo"+(i+1)+"º: "));
if(iEdadHijo<iMinEdadHijo)//si hay dos menores, se guarda el último
{
sNombreMinHijo=sNombreHijo;
}
}

sNombrePadre=JOptionPane.showInputDialog(
"Introduce el nombre del padre");


}

JOptionPane.showMessageDialog(
null,"Familias com ambos mayores de 30: "+iContMayor);
JOptionPane.showMessageDialog(
null,"Padres con más hijos: "+ sNombrePadreMasHijos+ " y " +sNombreMadreMasHijos);
if(iContFamilias>0)
{
JOptionPane.showMessageDialog(
null,"Media de hijos: "+(float)iAcumHijos/iContFamilias);
}
else
JOptionPane.showMessageDialog(null,"No se puede hacer la media");

JOptionPane.showMessageDialog(
null, "Hijo con menor edad: " +sNombreMinHijo);
JOptionPane.showMessageDialog(
null, "Edad media de las esposas en las familias sin hijos: " + (float)(iSumaEdadMadresSinHijos/iContMujeresSinHijos));




}
}








/*.- (4 puntos) Realiza un programa en Java que pida al usuario una serie de palabras.
Se terminará con la palabra “fin”. Se debe mostrar al final cuántas palabras tienen al menos 4
vocales distintas. Para ello, sabemos que si la variable cadena es de tipo String, el método cadena.length()
nos da el número de caracteres que tiene.*/

import javax.swing.*;
public class DosControl
{
public static void main(String args[])
{
String pal;
int hayA,hayE,hayI,hayO,hayU,contadorPalabras=0;

pal=JOptionPane.showInputDialog(
"Palabra: ");

while(!pal.equals("fin"))//para pedir todas las palabras
{ hayA=0;//PARA QUE NO SE REPITA LA MISMA VOCAL SE INICIALIZAN AQUI A 0
hayE=0;
hayI=0;
hayO=0;
hayU=0;

for(int i=0;i<pal.length();i++)//recorro cada palabra
{
switch(pal.charAt(i))//miro char en posicion i
{
case 'a':
case 'A':
hayA=1;
break;
case 'e':
case 'E':
hayE=1;
break;
case 'i':
case 'I':
hayI=1;
break;
case 'o':
case 'O':
hayO=1;
break;
case 'u':
case 'U':
hayU=1;
break;
}


}
if(hayA+hayE+hayI+hayO+hayU>=4)//si tiene más de cuatro vocales distintas
contadorPalabras++;
pal=JOptionPane.showInputDialog(
"Palabra: ");//incremento el contador
}
JOptionPane.showMessageDialog(
null,"Palabras con al menos 4 vocales distintas: " + contadorPalabras);


}
}




Nada más que añadir.



¡No te olvides de seguirnos en las redes sociales y comentar la noticia!

1 comentario:

Nota: solo los miembros de este blog pueden publicar comentarios.