Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Mastermind

Páginas: 1 ... 9 10 11 12 13 [14] 15 16 17 18 19 ... 24
261
Esta línea la verdad es que no parece que tenga mucho sentido:

echo '<script
LANGUAGE="javascript">location.href"consultar2.php?&cedula='.$cedula.'&nombre='.$nombre.'&apellido='.$apellido.'&edad='.$edad.'";</SCRIPT>';

Esto lo que hace es redigirirte a la url consultar2.php usando javascript y pasando en la URL los parámetros resultado de la consulta, pero como te digo esto no parece que tenga mucho sentido, mejor como tú lo has hecho.


262
En consultar.php encontramos:

- Falta la apertura <html>

- Falta la etiqueta <head> --- </head>




En consultar1.php al menos está el error este:

loca1host

En vez de localhost


Es decir, tienes puesto un número 1 en vez de una l, eso significa que el nombre de servidor no es válido y por tanto es imposible que haga la conexión y la consulta a la base de datos. Saludos

263
Sí, el nombre es una referencia a una dirección de memoria, dentro del ArrayList guardas las referencias a los objetos, no el nombre que tiene fuera, y si tienes una referencia como objeto con nombre y como elemento de un arrayList puedes acceder al objeto de cualquiera de las dos maneras. Lo de que dentro del ArrayList es objeto sigue teniendo nombre me refería a que no por estar en el ArrayList dejar de ser accesible a través del nombre, pero todo es como lo has razonado, no hay diferencias. Saludos

264


Aquí tienes un error:

    public SalonCasa (int numeroDeTelevisores, String tipoSalon) {
        numeroDeTelevisores = 0;
        tipoSalon = "Desconocido";
    }//Cierre del constructor



Si el constructor trae parámetros, será para asignárselos a los atributos, por ejemplo:

   public SalonCasa (int valorNumeroDeTelevisores, String valorTipoSalon) {
        numeroDeTelevisores = valorNumeroDeTelevisores;
        tipoSalon = valorTipoSalon;
    }//Cierre del constructor


Si no lo haces así no te serviría para nada los parámetros que se reciben.

En la clase CocinaCasa tienes el mismo error, y en la clase Casa tienes el mismo error.

Los nombres de métodos como setnumerodeTelevisores deben ser setNumeroDeTelevisores, introduciendo una mayúscula cada vez que hay un cambio de palabra. Hay varios métodos que ocurre lo mismo...

En la clase Casa te faltan los métodos set para los atributos que son objetos: en este caso debes recibir un objeto y asignárselo al atributo.

También te faltan los métodos get para los atributos que son objetos: en este caso debes devolver el objeto que es el atributo de la clase.

Tienes que trabajar con objetos de forma similar a como lo haces con los tipos primitivos.

Saludos

265
Hola, pega el código usando el botón # del foro, una vez lo pulsas te aparece [ code ] y [ / code] y entre esas dos etiquetas pega el código, es la forma de luego poder copiarlo para compilarlo, saludos

266
Hola, viendo las respuestas:

Respuesta (1): OK, aunque dentro del arrayList el objeto sigue teniendo nombre si entró con nombre.

Prueba el siguiente código:

Clase Sorteo:

Código: [Seleccionar]
public class Sorteo{

    String denominacion;

    public Sorteo (String denominacion) {
        this.denominacion = denominacion;
    }

    public void setDenominacion (String denom) { this.denominacion = denom; }   

    public String getDenominacion() { return denominacion; }

}


Clase prueba:

Código: [Seleccionar]
import java.util.ArrayList;
public class prueba {

    public static void main( String[] Args) {
        Sorteo sorteo1 = new Sorteo("el sorteo 1");
        Sorteo sorteo2 = new Sorteo("el sorteo 2");

        ArrayList<Sorteo> lista1 = new ArrayList<Sorteo> ();
        lista1.add(sorteo1);
        lista1.add(sorteo2);

        for (Sorteo s: lista1) {
            System.out.println ("Hola : " + s.getDenominacion());
        }

        sorteo1.setDenominacion("el sorteo 55");

        for (Sorteo s: lista1) {
            System.out.println ("Hola2 : " + s.getDenominacion());
        }
       
    }
}

Resultado:

Hola : el sorteo 1
Hola : el sorteo 2
Hola2 : el sorteo 55
Hola2 : el sorteo 2


El objeto sigue con su nombre (referencia) y puede ser manipulado tanto como elemento del ArrayList como como objeto en sí.

De este modo, puedes manipular un elemento de un ArrayList sin acceder a través del arrayList, sino accediendo a través del nombre (referencia) al objeto, si es que el objeto tiene nombre. En caso de no tener nombre, la única forma de acceder a él sí será como elemento del ArrayList.

Saludos

267
Empezando con el archivo incluir.php ¿Por qué no tiene la estructura de una página web? Por ejemplo le faltan las etiquetas head, charset, html, body, etc.

 Aún así el formulario parece que se visualiza correctamente y que envía los datos correctamente al la dirección de destino.

Tampoco entiendo a qué te refieres con que te da error en la parte de javascript, ya que en incluir php no veo javascript, y en incluir1.php tampoco.

En teoría deberías recibir los datos en incluir1.php para guardarlos en base de datos, pero no veo cómo se recuperan los datos.

Para darle una estructura correcta a los documentos mírate el curso de HTML.

Para recuperar los datos con post mírate: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=580:procesar-datos-de-un-formulario-html-en-php-con-post-ejercicios-resueltos-y-ejemplos-cu00831b-&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193

Saludos

268
¿Todo de golpe? No sabría por dónde empezar. Empieza por el primer proceso que quieras hacer funcionar, una cosa concreta. Para ello pega el código en el foro, o si es largo, adjunta el archivo o archivos php al mensaje (un archivo o dos) y indica qué mensajes de error o problemas son los que se presentan para tratar de hacer averiguaciones sobre el por qué de esos mensajes de error. Una vez resuelto el primer problema se pasa al segundo y así sucesivamente  ::)


269
A mí me parece más lógico que en una página principal tengas tres formularios: uno para insertar, otro para consultar y otro para modificar. Según los datos que rellenen y el botón que pulsen, que fueran a una dirección web u otra (donde se mostraría el resultado). Y desde cada página de resultados, que exista un botón volver para poder volver a la página principal.

De todas formas hay muchas maneras de hacerlo, no sé cuál era la idea inicial. Saludos

270
Hola, lo que se ve en el código es que tienen un fichero config.php donde tienen definidos los valores para conectar con una base de datos donde tienen una tabla denominada tabla1.

En otro fichero (supongo que consultar.php) reciben el dato de cedula que se envía por un formulario con post y se hace una consulta a la base de datos para recuperar la información (nombre, apellido, edad) de la persona cuya cédula se recibió para hacer la consulta.

En otro fichero (supongo que incluir.php) reciben por post los datos de un formulario incluyendo cédula, nombre, apellido, edad y los insertan en la tabla.

Esto es lo que se ve en la imagen que has puesto adjunta.


En el archivo de word además de lo anterior tienen el código de un archivo que puede ser modificar.php donde reciben por post una cedula, comprueban si existe en la base de datos, recuperan la información asociada a esa cédula y supuestamente dan lugar a que se puedan modificar los datos en un fichero modificar2.php

Por último en un archivo que será eliminar1.php o algo así, reciben el dato de cédula por post desde un formulario y proceden a borrar ese registro de la base de datos.

271
He estado probando y ya no salta el problema de que el número de jugadores "se vuelva un número aleatorio" (10, 12, etc.).

Ahora en ejecuciones estoy obteniendo aproximadamente esto:

80 % programa termina con resultados correctos

10 % programa termina pero resultados no son correctos

10 % programa genera error o queda bloqueado

Hay una cosa que dificulta la depuración, y es que al tener generación aleatoria de datos (combinaciones de cartas) no puedes reproducir o hacer que vuelva a ocurrir lo mismo para poder depurar el error.

Te recomendaría que anotes 3 o 4 resultados donde el programa se cierra o bloquea, y 3 o 4 resultados donde el programa da un resultado erróneo.

A continuación, genera un fragmento de código que te permita establecer manualmente el número de jugadores y la combinación de cartas de cada jugador (desactivando la opción a introducir el dato o generar aleatoriamente los datos), de este modo podrás repetir la ejecución.

Luego desactiva el funcionamiento automático y activa el manual. Una vez activado el manual, comprueba qué ocurre cuando se invoca siempre la misma ejecución ¿falla siempre o sólo falla algunas veces?

A partir de ahí, trata de depurar ese error siguiendo paso a paso la traza del programa. Cuando hayas depurado los errores que tienes apuntados uno a uno en modo manual, vuelve a activar el modo automático y desactiva el modo manual, y comprueba lo que ocurre.

Te indico un caso de resultado incorrecto y otro de error y cierre del programa.

RESULTADO INCORRECTO

Código: [Seleccionar]
Por favor introduzca el numero de jugadores entre 2 y 5: 3
Hay 3 jugadores

Jugador 1

   Dos de Corazones       Seis de Treboles
   Rey de Espadas           As de Treboles
  Diez de Espadas

En esta mano hay carta mas alta
fin combinacion mano

fin alamacena resultados

Jugador 2

  Ocho de Corazones
   Dos de Espadas          Rey de Corazones
  Jota de Corazones       Diez de Corazones


En esta mano hay carta mas alta
fin combinacion mano

fin alamacena resultados

Estamos en bucle con jugador 2 y jugadores vale 3

Jugador 3

  Ocho de Treboles         Dos de Treboles
 Cinco de Treboles       Nueve de Espadas
  Tres de Diamantes

En esta mano hay carta mas alta
fin combinacion mano

fin alamacena resultados

determina ganador



Ha habido un empate entre el jugador 1 y el jugador 3 con carta mas alta de As


Si no me equivoco no hay empate, debería ganar el jugador 1, sin embargo dice que hay empate.




EJEMPLO QUE GENERA EL BLOQUEO O ERROR AL EJECUTAR EL PROGRAMA

Código: [Seleccionar]
Por favor introduzca el n·mero de jugadores entre 2 y 5: 3
Hay 3 jugadores
Estamos en bucle con jugador 0 y jugadores vale 3


Jugador 1

 Nueve de Diamantes      Nueve de Treboles
 Cinco de Treboles        Dama de Espadas
Cuatro de Treboles

En esta mano hay pareja
fin combinacion mano

fin alamacena resultados

Estamos en bucle con jugador 1 y jugadores vale 3


Jugador 2

 Siete de Espadas
    As de Diamantes       Diez de Treboles
   Dos de Diamantes       Diez de Espadas


En esta mano hay pareja
fin combinacion mano

fin alamacena resultados

Estamos en bucle con jugador 2 y jugadores vale 3


Jugador 3

   Rey de Diamantes       Dama de Treboles
   Rey de Espadas         Tres de Corazones
 Cinco de Espadas

En esta mano hay doble pareja
fin combinacion mano

fin alamacena resultados

determina ganador

(... AQUÍ NO SIGUE AVANZANDO, ERROR Y SE CIERRA)


En este caso se bloqueó antes de mostrar los resultados.

Saludos

272
Estableciendo un seguimiento de las variables que controlan el bucle for (jugador = 0; jugador < jugadores; jugador++) encuentro que en algunos casos ocurre lo siguiente:


Por favor introduzca el numero de jugadores: 3
Estamos en bucle con jugador 0 y jugadores vale 3
Jugador 1
Estamos en bucle con jugador 1 y jugadores vale 3
Jugador 2
Estamos en bucle con jugador 2 y jugadores vale 3
Jugador 3
Estamos en bucle con jugador 3 y jugadores vale 12
Jugador 4
Estamos en bucle con jugador 4 y jugadores vale 12
Jugador 5
...
... y sigue ¡¡¡DICIENDO QUE HAY 12 JUGADORES!!!


En otra ejecución:

Por favor introduzca el n·mero de jugadores: 3
Hay 3 jugadores
Estamos en bucle con jugador 0 y jugadores vale 3
Jugador 1
Estamos en bucle con jugador 1 y jugadores vale 3
Jugador 2
Estamos en bucle con jugador 2 y jugadores vale 3
Estamos en bucle con jugador 3 y jugadores vale 10
Jugador 4
Estamos en bucle con jugador 4 y jugadores vale 10
Jugador 5
Estamos en bucle con jugador 5 y jugadores vale 10
Jugador 6
...
... y sigue ¡¡¡DICIENDO QUE HAY 10 JUGADORES!!!


Viendo estos resultados, ese bucle funciona a veces bien y a veces mal, y cuando funciona mal no siempre genera el mismo número de jugadores.

Posiblemente esté habiendo una manipulación incorrecta de las variables de control del bucle (esto no he llegado a verlo todavía)


273
He hecho algunas pruebas y compruebo estos problemas:

Ejemplo 1: dice que hay trío en jugador 2 cuando no lo hay y dice que gana jugador con escalera pero no la hay

Ejemplo 2: introduzco 3 jugadores y saca resultados para 11 jugadores

Código: [Seleccionar]
EJEMPLO 1

Por favor introduzca el numero de jugadores: 3


Jugador 1
    As de Corazones       Tres de Corazones    Dos de Diamantes       Ocho de Diamantes
  Tres de Diamantes

En esta mano hay pareja


Jugador 2

 Siete de Espadas  Siete de Corazones        Dos de Treboles
   Rey de Diamantes         As de Diamantes

En esta mano hay trio


Jugador 3

Cuatro de Diamantes     Cuatro de Treboles   Seis de Espadas        Nueve de Treboles
 Cinco de Espadas

En esta mano hay pareja


Ha ganado el jugador 3 con escalera de color de

EJEMPLO 2

Por favor introduzca el número de jugadores: 3

Y me genera hasta 11 jugadores...

274
Sí que había pareja, perdón por la mi equivocación. He cambiado la inicialización a -1 como indicabas y la función determina_ganador como la has puesto la última vez. He estado probando a correr el programa y me encuentro por ejemplo con esto:

Jugador 2

   Rey de Treboles
   Rey de Espadas          Dos de Corazones
 Nueve de Treboles       Cinco de Treboles

En esta mano hay trio


¿Por qué dice que en esta mano hay trío? ¿No sería que hay pareja de reyes?



Jugador 2

  Jota de Treboles
  Jota de Espadas          Dos de Espadas
   Rey de Corazones       Diez de Treboles

En esta mano hay trio


¿Por qué dice que en esta mano hay trío? ¿No sería que hay pareja de jotas?


Hay otra cosas que no entiendo. Si cuando pide "Por favor introduzca el número de jugadores le pongo 3, aparece por pantalla Jugador1, Jugador2, Jugador3, Jugador4, Jugador5, Jugador6, Jugador7, Jugador8, Jugador9, Jugador10, Jugador1 , y el jugador 11 solo aparece con dos cartas en una ejecución.

Si repito a ponerle 3 jugadores, me aparece hasta Jugador10

Si repito a ponerle 3 jugadores, me aparece hasta Jugador3

Repito a ponerle 3 jugadores y me aparece mensaje de error "imposible continuar"

Sigo repitiendo a ponerle 3 jugadores y en unos casos me muestra 3 jugadores, en otros 10, en otros 11, en otros se cierra el programa...

Esto parece algo extraño posible malfuncionamiento ¿No se supone que si meto 3 jugadores tendría que aparecer Jugador1, Jugador2 y Jugador3 simplemente?


275
Hola, es mejor no quedarse con dudas porque si no al final generan problemas!!!

Aquí te dejo el código es sencillo pero miralo por si ves algo que no quede claro

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char nom[20];
    int x;
    typedef char cadenaCaracteres [50]; //Definimos el tipo cadenaCaracteres
    cadenaCaracteres arrayCadenas[5]; //Creamos un vector de cadenas


for(x=0;x<5;x++){
    printf("Ingrese nombre: ");
    scanf("%s",arrayCadenas[x]);
}
printf("\n");
for(x=0;x<5;x++){
    printf("Elemento %d es %s \n", x, arrayCadenas[x]);
}

 system("PAUSE");
  return 0;
}

Saludos!

276
Pues sí 400 líneas de código son mucho código ¿Podrías explicar en unas cuantas líneas cómo has organizado el programa?

He ejecutado y he obtenido esto:

Por favor introduzca el número de jugadores: 2

Jugador 1
  Seis de Treboles         Dos de Treboles
  Seis de Diamantes       Jota de Treboles
  Dama de Corazones

En esta mano hay pareja


Jugador 2
Cuatro de Espadas
Diez de Diamantes         As de Treboles
Nueve de Espadas        Nueve de Treboles


En esta mano hay pareja

por aquí

jugadores = 2



Ninguno de los dos jugadores tiene pareja, sin embargo el programa dice "En esta mano hay pareja" Ahí aparentemente hay un problema, es decir, no hay pareja pero dice que sí hay pareja, a no ser que estés llamando pareja a otra cosa. ¿A qué estás llamando pareja?


277
Lo he vuelto a intentar pero no soy capaz de reproducir el cálculo. Si multiplico por 1000000

Estación      Pi            Wi                                    Wi*1000000                                 Pi*(Wi*1000000)
16027   721,8   0,000000003505841397077420   0,000002530516320410480000   0,001826526680072290000000
16096   740,4   0,000000003837630494020430   0,000002530516320410480000   0,001826526680072290000000
16105   719   0,000000093437044599655500   0,000002530516320410480000   0,001826526680072290000000
16114   1327,9   0,000000006563761395688930   0,000002530516320410480000   0,001826526680072290000000
            
            
            
      0,000000107344277886442000      0,007306106720289140000000
            
            
            68062,37709

Obtengo 68062 en vez de 757,09

Creo que sin un manual no sería capaz de deshacer los cálculos, seguramente es sencillo si se conoce pero para mí no simplemente viendo el archivo excel.

278
Envío ficheros adjuntos. Simplemente tienes que subir testswf.swf al servidor, subir whatsyourip.php al servidor y escribir la ruta http:// midominio. com/testswf.swf, ahí aparecerá un mensaje como: Your IP is 293.43.55.88 (aunque aparece encima "Created with trial version..." Saludos

279
El código está bien aunque sería recomendable que mejores dos cosas:

- Especificar los atributos como private. Si los dejas sin especificar Java lo admite, pero no equivale ni a public ni a private, sino es un estado intermedio entre public y private. Aquí está explicado qué ocurre si se dejan sin indicar public ni private: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=665:public-private-y-protected-javatipos-de-modificadores-de-acceso-visibilidad-en-clases-subclases-cu00693b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

- Añadir los métodos getters. Aunque el ejercicio no los pida es recomendable incluirlos.

Saludos

280
Aprender a programar desde cero / Re:Ejercicio! entrega CU00640B
« en: 15 de Junio 2014, 15:16 »
Hola, está todo bien aunque como se ha comentado en otros hilos posiblemente sea más adecuado escribir setEsEspecialista en vez de setEspecialista y getEsEspecialista en lugar de getEspecialista porque así queda más claro qué es lo que hace el método.

Saludos

Páginas: 1 ... 9 10 11 12 13 [14] 15 16 17 18 19 ... 24

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".