Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - joraloma

#1
Java / Re: Pequeño trabajito (AGENDA)
22 Mayo 2015, 13:52 PM
Alguien .. ?
#2
Java / Pequeño trabajito (AGENDA)
20 Mayo 2015, 16:19 PM
Buenas estoy liado con un proyecto de una agenda en Java, me dan las interfaces y las excepcion y yo tengo que crear las clases, dichas clases ya las tengo pero hay unas funciones que se me resisten,me podrían dar alguna idea ? Gracias.

Agenda.java
public class Agenda implements AgendaInterfaz {
private ContactoInterfaz matriz [] = null;
private int numeroContactosUsados = 0;
/**
* Maximo numero de contactos que puede incluir la agenda.
*/
public Agenda ( String archivo ) throws OperacionNoPermitidaExcepcion {
this.matriz = new ContactoInterfaz[MAX_NUM_CONTACTOS];
DatosDeEntrada obj = null;
try {
obj = new DatosDeEntrada( archivo );
while(obj.haySiguienteContacto()) {
ContactoInterfaz contacto = obj.siguienteContacto();
this.insertarContacto ( contacto );
}
} catch (OperacionNoPermitidaExcepcion e) {
throw e;
}
}

public void insertarContacto(ContactoInterfaz contacto)
throws OperacionNoPermitidaExcepcion {

}


public void modificarTelefono(TelefonoInterfaz telefonoAntiguo,
TelefonoInterfaz telefonoNuevo)
throws OperacionNoPermitidaExcepcion {

}


public void eliminarContacto(TelefonoInterfaz telefono)
throws OperacionNoPermitidaExcepcion {

}


public void mostrarContactos() {

}

}


AgendaInterfaz.java
/**
* Esta es una clase que representa una agenda de telefonos.
* Mantiene un conjunto de contactos.
*
* @version version 1.1 Abril 2015
* @author  Fundamentos de Programacion II
*/
public interface AgendaInterfaz {

    /**
     * Maximo numero de contactos que puede incluir la agenda.
     */
    public final static int MAX_NUM_CONTACTOS = 1000;

    /**
     *  Inserta un nuevo contacto, proporcionandolo como parametro.
     *  En el caso de superar el numero maximo de contactos permitidos
     *  o en el caso de que ya exista un contacto con el mismo numero de telefono
     *  se lanzara la excepcion OperacionNoPermitidaExcepcion.
     */
    public void insertarContacto(ContactoInterfaz contacto) throws OperacionNoPermitidaExcepcion;

    /**
     *  Modifica el telefono de un contacto.
     *  Se proporciona como parametro el telefono del contacto a modificar
     *  y el nuevo telefono.
     *  Si el numero de telefono no existe se lanzara la excepcion
     *  OperacionNoPermitidaExcepcion.
     */
    public void modificarTelefono(TelefonoInterfaz telefonoAntiguo,
                                  TelefonoInterfaz telefonoNuevo)
            throws OperacionNoPermitidaExcepcion;

    /**
     *  Elimina un contacto de la agenda.
     *  Se proporciona como parametro el numero de telefono del contacto a eliminar
     *  Si el telefono indicado no esta en la agenda
     *   se lanzara la excepcion OperacionNoPermitidaExcepcion.
     */
    public void eliminarContacto(TelefonoInterfaz telefono)
            throws  OperacionNoPermitidaExcepcion;

    /**
     *  Muestra por la salida estandar (System.out) todos los contactos que hay en la
     *  agenda.
     *  El orden de salida de los datos es el siguiente:
     *  Numero de telefono, Nombre, Primer Apellido, Segundo Apellido, Domicilio y
     *  Correo electronico.
     *   Cada uno de estos datos debe ir en una l¡nea diferente.
     *   No se inserta  ninguna informacion adicional a la especificada.
     */

    public void mostrarContactos();

}

#3
Buenas ya lo he empezado y tengo el main, y los errores que me daría el programa, pero ahora tengo que crear un archivo de configuración, pero no se por donde cogerlo me podéis echar una mano? Gracias, un saludo.
#4
Programación C/C++ / Re: [Consulta] Trabajo en C
25 Febrero 2015, 12:19 PM
Buenas ! Gracias por los consejos, me he puesto mano a la obra, me gustaría hacerles una duda concreta verán, como puedo crear una lista con puerto desde el 0 a 65535, y al igual con las direcciones ip, que voy a utilizar para así cambiar nodo privado por nodo publico, gracias!
#5
Programación C/C++ / [Consulta] Trabajo en C
20 Febrero 2015, 15:36 PM
Buenas tengo que realizar un trabajo en C para finales de Marzo, y me preguntaba si podrían ayudarme a plantearmelo y organizarme el tiempo, no digo que me lo hagan ustedes, sino unas nociones básicas, gracias, espero sus respuesta.

https://drive.google.com/file/d/0B-hhH_vfGLVcZUNZREJhSTIwNW8/view?usp=sharing
#6
Gracias lo he probado pero nada tio, no funciona... mismo fallo.. y estoy perdido
#7
Cita de: yoel_alejandro en 11 Enero 2015, 16:44 PM
Hola joraloma, el problema es que la función de entrada fgets() coge el carácter de nueva línea o ENTER y lo agrega al final de las cadenas ap1, ap2, por eso al concatenar e imprimir, se imprime dicho salto de línea pareciendo como si fueran dos cadenas distintas

Una solución es depurar la cadena recibida para eliminar el salto de línea hallado al final de la misma, reemplazándolo por el carácter nulo de terminación:

Código (cpp) [Seleccionar]

size_t n;

n = strlen( ap1 );
if ( n > 0 && ap1[n-1] == '\n' ) ap1[n-1] = '\0';


y luego haces lo mismo para ap2, con lo cual debería solucionarse el problema.

SI ! Mil gracias ahora va perfecto, una pregunta la liberación de memoria esta bien situada? Esque al pasar el comprueba de mi profesor, da error, "Error in ________ free(): invalid next size(fast): 0x09425008 ***
#8
Programación C/C++ / Re: [AYUDA] Ejercicios C
11 Enero 2015, 12:41 PM
Lleva razón porfavor cierreme el tema, que he abierto otro con la duda, gracias!
#9
Buenas gracias por .el aviso en el otro tema, puse una pregunta muy general jeje, bueno la cuestion es la siguiente en el ejercicio 3 tengo que concatenar, y hacer una especie de lista, el resultado debería corresponderse con :

Citarsalas@318CDCr12: ̃$ ./nombreCompleto

Introduzca nombre : SALIR DEL PROGRAMA

salas@318CDCr12: ̃$ ./nombreCompleto

Introduzca nombre : Fulanito

Introduzca primer apellido : de Tal

Introduzca su segundo apellido: y Cual

Nombre completo: de Tal y Cual, Fulanito


Introduzca nombre : SALIR

salas@318CDCr12: ̃$ ./nombreCompleto

Pero yo obtengo :

Citarsalas@318CDCr12: ̃$ ./nombreCompleto

Introduzca nombre : SALIR DEL PROGRAMA

salas@318CDCr12: ̃$ ./nombreCompleto

Introduzca nombre : John

Introduzca primer apellido : Smith

Introduzca su segundo apellido:

Nombre completo: Smith

John

Introduzca nombre : SALIR

salas@318CDCr12: ̃$ ./nombreCompleto


Y mi código es:

/* Includes del sistema */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Includes de la aplicacion */
#include "nombreCompleto.h"
/* Definición de constantes */

/* Tipos definidos por el usuario */

/************************************************************/

int main()
{
  char * nombre = NULL;
  char * ap1 = NULL;
  char * ap2 = NULL;
  int tam;
  char * todo=NULL;

 
  nombre = (char *) calloc(TAM, sizeof(char));
  ap1 = (char *) calloc(TAM, sizeof(char));
  ap2 = (char *) calloc(TAM, sizeof(char));
  if(nombre == NULL || ap1 == NULL || ap2 == NULL)
    fprintf(stderr, MENSAJE_MEMORIA);
  else
    {
      do
{
  printf(PIDE_NOMBRE);
  fgets(nombre, TAM, stdin);
  nombre=strchr(nombre,'\n');
  *nombre='\0';
  if(strncmp(nombre, NOMBRE_SALIR, NCOMPARAR) != 0)
    {
      printf(PIDE_AP1);
      fgets(ap1, TAM, stdin);
      ap2=strchr(ap1,'\n');
      *ap2='\0';
      printf(PIDE_AP2);
      fgets(ap2, TAM, stdin);
      ap2=strchr(ap2,'\n');
      *ap2='\0';
      tam = strlen(nombre) + strlen(ap1) + strlen(ap2);
      todo = (char *) calloc(tam, sizeof(char));
      todo = strcat(todo, ap1);
      todo = strcat(todo, ap2);
      todo = strcat(todo, nombre);

      printf(TEXTO_NOMBRE_COMPLETO, ap1);
      printf("%d", tam);
    }
}
      while(strncmp(nombre, NOMBRE_SALIR, NCOMPARAR) != 0);
      free(nombre);
      nombre = NULL;
      free(ap1);
      ap1 = NULL;
      free(ap2);
      ap2 = NULL;
      free(todo);
      todo = NULL;

    }
  return 0;
}

/* Definiciones de funciones  */


Ojala sepan la solución, gracias!!!
#10
Programación C/C++ / [AYUDA] Ejercicios C
9 Enero 2015, 15:17 PM
Buenas tengo problemas al plantear los códigos de los ejercicios del PDF, alguien podría orientarme o echarme una mano ? Gracias, un saludo

https://drive.google.com/file/d/0B-hhH_vfGLVceVFHeDc5MVFadEE/view?usp=sharing

Gracias nuevamente ojala puedan ayudarme.