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 - Ogramar

Páginas: 1 ... 86 87 88 89 90 [91] 92 93 94 95 96 ... 100
1801
¿A qué te refieres con la hora actual dependiendo de lo que ingrese el usuario? ¿Se tiene que ver un reloj marcando los segundos? ¿Qué es lo que tienes que conseguir?

1802
Normalmente un reloj se suele crear con javascript en vez de con php, aunque también se podría hacer con php. Ahora, para hacerlo con php la única forma que conozco es crear un bucle que vaya metiendo en cada paso la nueva hora, y refrescar la página cada cierto tiempo, supongo que hay varias maneras de hacerlo.

¿Cómo es el planteamiento tuyo, es decir, cuál es la idea para hacer funcionar el reloj?

1803
Aquí tienes un ejemplo de uso de un array dinámico basado en punteros, puedes usar esta misma lógica:

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

 struct _numeroDinamico {
        int numero;

        struct _numeroDinamico *siguiente;
        };

 struct _numeroDinamico *primero, *ultimo;

 void mostrar_menu() {
      printf("\n\nMenu:\n=====\n\n");
      printf("1.- Añadir elementos\n");
      printf("2.- Borrar elementos\n");
      printf("3.- Mostrar lista\n");
      printf("4.- Salir\n\n");
      printf("Escoge una opcion: ");
 }

 /* Con esta función añadimos un elemento al final de la lista */
 void anadir_elemento() {
      struct _numeroDinamico *nuevo;

      /* reservamos memoria para el nuevo elemento */
      nuevo = (struct _numeroDinamico *) malloc (sizeof(struct _numeroDinamico));
      if (nuevo==NULL) printf( "No hay memoria disponible!\n");

      printf("\nNuevo elemento:\n");
      printf("Numero: "); fflush(stdout);

      scanf("%d", &nuevo->numero);
      /* el campo siguiente va a ser NULL por ser el último elemento
         de la lista */
      nuevo->siguiente = NULL;

      /* ahora metemos el nuevo elemento en la lista. lo situamos
         al final de la lista */
      /* comprobamos si la lista está vacía. si primero==NULL es que no
         hay ningún elemento en la lista. también vale ultimo==NULL */
      if (primero==NULL) {
         printf( "Primer elemento\n");
         primero = nuevo;
         ultimo = nuevo;
         }
      else {
           /* el que hasta ahora era el último tiene que apuntar al nuevo */
           ultimo->siguiente = nuevo;
           /* hacemos que el nuevo sea ahora el último */
           ultimo = nuevo;
      }
 }

 void mostrar_lista() {
      struct _numeroDinamico *auxiliar; /* lo usamos para recorrer la lista */
      int i;

      i=0;
      auxiliar = primero;
      printf("\nMostrando la lista completa:\n");
      while (auxiliar!=NULL) {
            printf( "Numero: %d\n",
                    auxiliar->numero);
            auxiliar = auxiliar->siguiente;
            i++;
      }
      if (i==0) printf( "\nLa lista está vacia!!\n" );
 }

 int main() {
     int opcion;

     primero = (struct _numeroDinamico *) NULL;
     ultimo = (struct _numeroDinamico *) NULL;
     do {
         mostrar_menu();
         scanf ("%d", &opcion);
             switch ( opcion ) {
                case 1: anadir_elemento();
                       break;
                case 2:  printf("No disponible todavia!\n");
                        break;
                case 3: mostrar_lista(primero);
                        break;
                case 4: exit( 1 );
                default: printf( "Opcion no válida\n" );
                         break;
             }
     } while (opcion!='4');
     return 0;
 }

1804
Lo primero que vas a necesitar es conocer al menos a nivel básico qué son los punteros en C (supongo que vas a hacerlo en C).

Por ejemplo:

typedef struct ElementoLista {
      int dato;
      struct ElementoLista *siguiente;
}Elemento;

Aquí se está usando un puntero, que es precisamente lo que permite crear una lista enlazada dinámicamente que puede ir agrandándose o acortándose en función de las necesidades.

Teniendo conocimientos básicos sobre punteros tienes que crear las operaciones básicas para operar con la lista: inserción de elementos, borrado de elementos, etc. y para eso te hace falta la asignación dinámica de memoria

Finalmente tienes que poner en juego esto con los algoritmos de ordenación, supongo que no te están pidiendo que crees los algoritmos así que te bastará con ver cómo funcionan y adaptarlos para hacer funcionar el programa, pero no será tarea sencilla.

1805
¿Tienes las dos instalaciones de joomla en tu localhost con wamp y una te reconoce que hay actualizaciones y la otra no?

1806
Hola madness ¿pero cuál es el enunciado de la tarea, es decir, qué es lo que tienes que hacer?  ::)

1807
Lo estaba mirando pero no daba con ello, gracias por compartir la solución!

1808
Yo creo que lo puedes adaptar como aplicado a php: El concepto de módulo aplicado a la programación en php es muy similar al aplicable a distintas facetas de la vida: un escritor divide su curso en capítulos y apéndices. Un profesor divide el contenido de la asignatura en temas. Un ingeniero divide el ...


1809
Hola Camilo. Migrar un sitio es algo relativamente complejo y peligroso. Supongo que sobra decir que antes de nada deberías tener una copia de seguridad para no perder nada...

Supongo que también sobra decir que no está nada claro ahora mismo que sea recomendable migrar de joomla 2.5.x a joomla 3.x ...

Por lo que comentas podrías probar esto:

1) Asegurarte de estar actualizado a 2.5.19

2) Suponiendo que tienes algún archivo dañado y esa puede ser la fuente del problema,

2.1) Elimina la carpeta en la ruta /public_html/administrator/components/com_joomlaupdate

2.2) Desde el sitio donde sí te reconoce la existencia de actualización (es decir, desde donde dices que has instalado nuevo y sí reconoce que hay actualizaciones) copiar la carpeta de la ruta indicada, y pegarla en el sitio donde tienes problemas.

No es seguro que funcione pero quizás.

1810
Hola, supongamos que das de alta a un usuario y quedan vacíos los campos "NumeroDeHermanos" y "NumeroDeHijos".

Ahora cargo el datagrid y esos campos están vacíos. Los edito, les pongo un valor y guardo. Ahora esos campos ya no están vacíos pero ¿se podrán seguir editando o ya no se podrán editar?

Es decir, lo que me pregunto es si los campos bloqueados son siempre los mismos o si van cambiando según vayamos rellenando.

1811
Confírmame si se trata de esto porque no lo veo del todo claro:

Tienes un datagrid que cuando se abre el formulario se rellena con la información que se trae de la base de datos, de forma que algunas celdas estarán rellenas y otras estarán vacías.

Y quieres que una celda rellena no se pueda editar (digamos que esté como bloqueada).

En cambio en una celda en blanco sí se podrían escribir datos, pero una vez se pasa a otra celda la celda donde acabamos de escribir datos ya tampoco debería poderse volver a editar. (Aquí se me plantea la duda: ¿y si hay una equivocación al introducir los datos? ¿y si se quiere cambiar un dato?)

Cuando el usuario quiera, guardaría los datos en la base de datos pulsando el botón correspondiente.


1812
Añadimos el método getStringPasajero a la clase Pasajero para evitar repetir código en el método main:

Código: [Seleccionar]
    public String getStringPasajero () {
        String mensaje = "Información actual de pasajero: \n";
        mensaje = mensaje + "Identificacion: " + this.getIdentificacion()+"\n";
        mensaje = mensaje + "Nombre: " + this.getNombre()+"\n";
        mensaje = mensaje + "Apellidos: " + this.getApellidos() + "\n";
        mensaje = mensaje + "Email: " + this.getEmail() + "\n";
        mensaje = mensaje + "Celular: " + this.getCelular() + "\n";
        mensaje = mensaje + "Edad: " + this.getEdad() + "\n";
        mensaje = mensaje + "\n\n\n";
        return mensaje;
    }

Y modificamos el algoritmo principal para que se muestre la información del pasajero una vez se ha modificado:

Código: [Seleccionar]
import java.util.List;
import java.util.ArrayList;
import java.io.*;
import java.util.Iterator;

public class algoritmoTest {

    public static void main (String[] Args) throws IOException {

        int opcionEligeUsuario = 0;
        List <Pasajero> listaDePasajeros = new ArrayList<Pasajero> ();
        Dialogo opcionesUsuario = new Dialogo();
        Dialogo mensajeVent = new Dialogo();

        while (opcionEligeUsuario != 5 ) {

            opcionEligeUsuario = opcionesUsuario.obtenerOpcionMenu();

            //Registrar la información de pasajero
            if (opcionEligeUsuario == 1) {

                Pasajero tmpPasajero = new Pasajero();
                tmpPasajero.SetIdentificacion(opcionesUsuario.obtenerIdentificacionPasajero());
                tmpPasajero.SetNombre(opcionesUsuario.obtenerNombrePasajero());
                tmpPasajero.SetApellidos(opcionesUsuario.obtenerApellidosPasajero());
                tmpPasajero.SetEmail(opcionesUsuario.obtenerEmailPasajero());
                tmpPasajero.SetCelular(opcionesUsuario.obtenerCelularPasajero());
                tmpPasajero.SetEdad(opcionesUsuario.obtenerEdadPasajero());
                //Terminamos guardando el objeto pasajero
                listaDePasajeros.add(tmpPasajero);
            }
            //Fin opción 1 registro información de pasajero

            //Modificar la información de un pasajero
            if (opcionEligeUsuario == 2) {
                String identPasajeroBuscado = opcionesUsuario.obtenerIdentificacionPasajero();
                boolean pasajeroEncontrado = false;
               
                Iterator<Pasajero> it = listaDePasajeros.iterator();
                Pasajero tmpAnalizando;

                while ( it.hasNext() ) {           //Utilizamos el método hasNext de los objetos tipo Iterator

                    tmpAnalizando = it.next();                //Utilizamos el método next de los objetos tipo Iterator

                    if (tmpAnalizando.getIdentificacion().equals(identPasajeroBuscado) ) {
                        pasajeroEncontrado = true;
                        String mensaje = tmpAnalizando.getStringPasajero();
                        mensaje = mensaje + "\n\n\n";
                        mensaje = mensaje + "A continuación introduzca nuevos datos para este pasajero";

                        mensajeVent.mostrarMensaje(mensaje);

                        // Aquí código para pedir nuevos datos para el pasajero

                        mensajeVent.mostrarMensaje("La identificación no puede ser modificada, indique resto de datos");
                        tmpAnalizando.SetNombre(opcionesUsuario.obtenerNombrePasajero());
                        tmpAnalizando.SetApellidos(opcionesUsuario.obtenerApellidosPasajero());
                        tmpAnalizando.SetEmail(opcionesUsuario.obtenerEmailPasajero());
                        tmpAnalizando.SetCelular(opcionesUsuario.obtenerCelularPasajero());
                        tmpAnalizando.SetEdad(opcionesUsuario.obtenerEdadPasajero());

                        mensaje = tmpAnalizando.getStringPasajero();
                        mensajeVent.mostrarMensaje(mensaje);
                       
                    } else { }    //else vacío. No hay acciones a ejecutar.

                } //Cierre del while

                if (pasajeroEncontrado == false) {
                    mensajeVent.mostrarMensaje("No se encontró el pasajero con esa identificación");
                }
            }

        }

        opcionesUsuario.cerrarPrograma();

    } //Cierra main

} //Cierra clase

Ahora tienes que permitir que se listen los pasajeros, esto puedes hacerlo con un recorrido basado en iterator, de la misma forma que se ha hecho para encontrar a un pasajero a modificar. En vez de buscar un pasajero a modificar, simplemente lista la información de los pasajeros.




1813
¿Ya te leiste el texto de programación modular?

1814
En la clase Dialogo he introducido este método auxiliar:

Código: [Seleccionar]
    public void mostrarMensaje (String mensaje) {
        JFrame frame = new JFrame("Mensaje");
        JOptionPane.showMessageDialog(frame, mensaje);
    }

La clase algoritmoTest (avanzada pero pendiente de completar) iría quedando:

Código: [Seleccionar]
import java.util.List;
import java.util.ArrayList;
import java.io.*;
import java.util.Iterator;

public class algoritmoTest {

    public static void main (String[] Args) throws IOException {

        int opcionEligeUsuario = 0;
        List <Pasajero> listaDePasajeros = new ArrayList<Pasajero> ();
        Dialogo opcionesUsuario = new Dialogo();
        Dialogo mensajeVent = new Dialogo();

        while (opcionEligeUsuario != 5 ) {

            opcionEligeUsuario = opcionesUsuario.obtenerOpcionMenu();

            //Registrar la información de pasajero
            if (opcionEligeUsuario == 1) {

                Pasajero tmpPasajero = new Pasajero();
                tmpPasajero.SetIdentificacion(opcionesUsuario.obtenerIdentificacionPasajero());
                tmpPasajero.SetNombre(opcionesUsuario.obtenerNombrePasajero());
                tmpPasajero.SetApellidos(opcionesUsuario.obtenerApellidosPasajero());
                tmpPasajero.SetEmail(opcionesUsuario.obtenerEmailPasajero());
                tmpPasajero.SetCelular(opcionesUsuario.obtenerCelularPasajero());
                tmpPasajero.SetEdad(opcionesUsuario.obtenerEdadPasajero());
                //Terminamos guardando el objeto pasajero
                listaDePasajeros.add(tmpPasajero);
            }
            //Fin opción 1 registro información de pasajero

            //Modificar la información de un pasajero
            if (opcionEligeUsuario == 2) {
                String identPasajeroBuscado = opcionesUsuario.obtenerIdentificacionPasajero();
                boolean pasajeroEncontrado = false;
                Pasajero pasajeroAModificar = new Pasajero();

                Iterator<Pasajero> it = listaDePasajeros.iterator();
                Pasajero tmpAnalizando;

                while ( it.hasNext() ) {           //Utilizamos el método hasNext de los objetos tipo Iterator

                    tmpAnalizando = it.next();                //Utilizamos el método next de los objetos tipo Iterator

                    if (tmpAnalizando.getIdentificacion().equals(identPasajeroBuscado) ) {
                        pasajeroEncontrado = true;
                        String mensaje = "Información actual de pasajero: \n";
                        mensaje = mensaje + "Identificacion: " + tmpAnalizando.getIdentificacion()+"\n";
                        mensaje = mensaje + "Nombre: " + tmpAnalizando.getNombre()+"\n";
                        //Falta completar...

                        mensaje = mensaje + "\n\n\n";
                        mensaje = mensaje + "A continuación introduzca nuevos datos para este pasajero";

                        mensajeVent.mostrarMensaje(mensaje);

                        //Falta completar... Aquí código para pedir nuevos datos para el pasajero

                    } else { }    //else vacío. No hay acciones a ejecutar.

                } //Cierre del while

                if (pasajeroEncontrado == false) {
                     mensajeVent.mostrarMensaje("No se encontró el pasajero con esa identificación");
                }
            }

        }

        opcionesUsuario.cerrarPrograma();

    } //Cierra main

} //Cierra clase

1815
Yendo por pasos podríamos decir:

Primero: entender el concepto de modularidad.

Segundo: entender cómo las funciones en PHP constituyen módulos que realizan tareas o devuelven resultados.

Tercero: PHP admite la orientación a objetos, lo cual es también un forma de modularidad.

Modularidad es una palabra muy genérica, no sé si tienes que hablar de algo concreto.

1816
Siguiendo la sintaxis que se indica en este curso: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=291:sentencias-basicas-de-programacion-en-pseudocodigo-ejemplos-cu00136a&catid=28:curso-bases-programacion-nivel-i&Itemid=59 se podría empezar a plantear:

1.  Inicio [Ejemplo aprenderaprogramar.com]

2.  [Petición de datos]

3.  Desde i = 1 hasta 20 hacer

4.  Mostrar “Por favor, introduzca los datos del empleado”, i 

     Mostrar “Por favor, introduzca código de vendedor": Pedir codigoVendedor
     Mostrar “Por favor, introduzca código de venta": Pedir codigoVenta
     Mostrar “Por favor, introduzca monto de venta": Pedir montoVenta
     Mostrar “Por favor, introduzca monto de venta": Pedir diaVenta

[Aquí introduciríamos los cálculos]

Siguiente i

  Fin

Ahora lo que no sé es cómo se calcula la comisión del vendedor. ¿?


1818
Ya puedes pasar a implementar las opciones de menú. Si lo hiciéramos con un ArrayList nos iría quedando esto (falta completar):

Clase Pasajero:

Código: [Seleccionar]
public class Pasajero {
    private String identificacion;
    private String nombre;
    private String apellidos;
    private String email;
    private String celular;
    private int edad;

    /**
     * Constructor
     */
    public Pasajero()    {
        // Inicialización
        identificacion = "desconocido";
        nombre = "desconocido";
        apellidos = "desconocido";
        email = "desconocido";
        celular = "desconocido";
        edad = 0;
    }

    //Metodos Modificadores//
    public void SetIdentificacion(String identificacion) {this.identificacion = identificacion;   }
    public void SetNombre(String nombre) {this.nombre = nombre; }
    public void SetApellidos(String apellidos) {this.apellidos = apellidos; }
    public void SetEmail(String email) { this.email = email; }
    public void SetCelular(String celular) {this.celular = celular; }
    public void SetEdad(int edad) {this.edad = edad; }

    // Metodos Analizador//
    public String getIdentificacion() {return identificacion; }
    public String getNombre() {return nombre; }
    public String getApellidos() { return apellidos; }
    public String getEmail() {return email; }
    public String getCelular() { return celular;}
    public int getEdad() {return edad;}
}

Clase Dialogo:

Código: [Seleccionar]
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;

public class Dialogo {

    String dialogo;

    public Dialogo() {     }

    public int obtenerOpcionMenu() throws IOException {
        dialogo = "MENU DE PROGRAMA PASAJEROS\n";
        dialogo += "1.  Insertar pasajero\n";
        dialogo += "2.  Modificar pasajero\n";
        dialogo += "3.  Listar los pasajeros\n";
        dialogo += "4.  Eliminar pasajero\n";
        dialogo += "5.  Salir\n";
        dialogo += "Escoja Opción:\n";
        return Integer.parseInt(JOptionPane.showInputDialog(dialogo));
    }

    public String obtenerIdentificacionPasajero() throws IOException {
        dialogo = "Introduzca Identificacion de pasajero\n";
        return JOptionPane.showInputDialog(dialogo);
    }

    //Completamos aquí la petición de datos
    public String obtenerNombrePasajero() throws IOException {
        dialogo = "Introduzca Nombre de pasajero\n";
        return JOptionPane.showInputDialog(dialogo);
    }

    public String obtenerApellidoPasajero() throws IOException {
        dialogo = "Introduzca Apellido de pasajero\n";
        return JOptionPane.showInputDialog(dialogo);
    }

    public String obtenerEmailPasajero() throws IOException {
        dialogo = "Introduzca Apellido de pasajero\n";
        return JOptionPane.showInputDialog(dialogo);
    }

    public String obtenerCelularPasajero() throws IOException {
        dialogo = "Introduzca Celular de pasajero\n";
        return JOptionPane.showInputDialog(dialogo);
    }

    public int obtenerEdadPasajero() throws IOException {
        dialogo = "Introduzca Edad de pasajero\n";
        return Integer.parseInt(JOptionPane.showInputDialog(dialogo));
    }

    public void cerrarPrograma () {
        JFrame frame = new JFrame("Final del programa");
        JOptionPane.showMessageDialog(frame, "Gracias por usar este programa. Fin");
        System.exit(0);
    }
}

Clase algoritmoTest

Código: [Seleccionar]
import java.util.List;
import java.util.ArrayList;
import java.io.*;


public class algoritmoTest {


public static void main (String[] Args) throws IOException {

int opcionEligeUsuario = 0;
List <Pasajero> listaDePasajeros = new ArrayList<Pasajero> ();
Dialogo opcionesUsuario = new Dialogo();

while (opcionEligeUsuario != 5 ) {

opcionEligeUsuario = opcionesUsuario.obtenerOpcionMenu();
//Registrar la información de pasajero
if (opcionEligeUsuario == 1) {
    Pasajero tmpPasajero = new Pasajero();
    tmpPasajero.SetIdentificacion(opcionesUsuario.obtenerIdentificacionPasajero());
    tmpPasajero.SetNombre(opcionesUsuario.obtenerNombrePasajero());
   
    //Hay que extender ahora lo mismo que hemos hecho para identificación y nombre al resto de datos
   
    //Terminamos guardando el objeto pasajero
    listaDePasajeros.add(tmpPasajero);

}

}

opcionesUsuario.cerrarPrograma();

} //Cierra main

} //Cierra clase

1819
Hay distintas formas de crear el programa y los datos se pueden pedir por consola o con diálogos. Podemos crear una clase Dialogo cuyo cometido sea mostrar menús y peticiones de datos al usuario, e informar de cuáles son las opciones escogidas por el usuario. Luego ese objeto lo usaremos dentro del algoritmo principal del programa.

Aquí el código (falta completar las distintas opciones)

Código: [Seleccionar]
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;

public class Menu {
    String menu;

    public Menu () {

    }

    public int obtenerOpcionMenu() throws IOException{
        menu="MENU DE PROGRAMA PASAJEROS\n";
        menu+="1.  Insertar pasajero\n";
        menu+="2.  Modificar pasajero\n";
        menu+="3.  Listar los pasajeros\n";
        menu+="4.  Eliminar pasajero\n";
        menu+="5.  Salir\n";
        menu+="Escoja Opción:\n";
        return Integer.parseInt(JOptionPane.showInputDialog(menu));
    }

    public String obtenerIdentificacionPasajero() throws IOException{
        menu="Introduzca identificacion de pasajero\n";
        return JOptionPane.showInputDialog(menu);
    }

    //Completamos aquí la petición de datos

}

1820
Empieza por escribir la clase Pasajero que representará a un Pasajero:

Código: [Seleccionar]
public class Pasajero
{
    private String identificacion;
    private String nombre;
    private String apellidos;
    private String email;
    private String celular;
    private int edad;

    /**
     * Constructor
     */
    public Pasajero()
    {
        // Inicialización
        identificacion = "desconocido";
        nombre = "desconocido";
        apellidos = "desconocido";
        email = "desconocido";
        celular = "desconocido";
        edad = 0;
    }

// Escribir métodos getters y setters

}

Añádele los métodos getters y setters y crea una clase de prueba con el método main para comprobar que funcione.


Páginas: 1 ... 86 87 88 89 90 [91] 92 93 94 95 96 ... 100

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