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ú

Temas - joraloma

#1
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();

}

#2
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
#3
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!!!
#4
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.
#5
Buenas, estoy empezando en esto de C, y tengo un ejercicio con punteros y tablas pero no me sale bien, agradecería que le echasen un ojo al codigo, gracias!

/*
**     Fichero:  <nombre del fichero>
**       Autor:  <nombre del alumno>
**       Fecha:  <fecha de última edición>
**
** Descripcion:  <Descripción sucinta del contenido del fichero>
*/

/* Includes del sistema */
#include <stdio.h>

/* Includes de la aplicacion */
#include "decHex.h"

/* Definición de constantes */


/* Tipos definidos por el usuario */


/* Declaración de funciones locales. Para cada función: */
/*
**   Parámetros:  <tipo1> <parm1> <Descripción>
**                <tipo2> <parm2> <Descripción>
**                ...
**     Devuelve:  <tipo> <Descripción>
**
**  Descripción:  <Descripción>
*/
int leeNumero(signed char tipoNumero);
void decBin(int numero, int i, char * pfaux);
/************************************************************/

int main()
{
  int tipoNumero;
  int numero;
  int i;
  char tabcaracteres[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  char * pfaux=tabcaracteres;
  i=0;
  tipoNumero=0;
  numero=(leeNumero(tipoNumero));
  printf("El numero en hexadecimal es: %d",numero);
  decBin(numero, i, pfaux);
  printf("\n");
  return 0;
}

/* Definiciones de funciones  */

int leeNumero(signed char tipoNumero)
{
  int valorentero;
  int valorreal;
  int valor;
  valorentero=0;
  valorreal=0;
  if (tipoNumero)
    {
      printf(T_INTRODUZCA_NUMERO2);
      scanf("%d", &valorreal);
    }
  else
    {
      do
{
      printf(T_INTRODUZCA_NUMERO);
      scanf("%d", &valorentero);
}
      while (valorentero<0);
    }
  valor=valorentero+valorreal;
  return valor;
}

void decBin(int numero, int i, char * pfaux)
{
  int resto;
  if (numero==0)
    printf("%d",numero);
  else if (numero==1)
    printf("%d",numero);
  else if ((numero/16)==1)
    {
      printf("%d",(numero/16));
      printf("%d",(numero%16));
      while((i-1)>=0)
    {
      printf("%d",*(pfaux+(i-1)));
     i++;
    }

    }
  else
    {
      resto=(numero%16);
      numero=numero/16;
      *(pfaux+i)=numero;
      decBin((numero/16),( i+1), pfaux);
    }

}


Esque ando un poco perdido