• Miércoles 6 de Noviembre de 2024, 02:42

Autor Tema:  Lio De Punteros...  (Leído 1315 veces)

danijr78

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Lio De Punteros...
« en: Lunes 16 de Enero de 2006, 22:01 »
0
A ver si lo explico bien: tengo una estructura "typedef char Nombre[20]" y 3 metodos que la utilizan y un módulo coordinador.

ValidarNombre       //recibe "nombre" y hace unas comprobaciones
ObtenerNombreVal //llama a ValidarNombre y devuelve el mismo nombre q recibe
RegistrarNombre    //recibe "nombre"

coordinador           //llama a Obtener que le devuelve un "nombre"
                            //y se lo pasa a Registrar

el problema es que no se como deben ser las cabeceras,alguna ayuda?

patitofeo

  • Miembro MUY activo
  • ***
  • Mensajes: 145
    • Ver Perfil
Re: Lio De Punteros...
« Respuesta #1 en: Lunes 23 de Enero de 2006, 10:26 »
0
En primer lugar

Código: Text
  1.  
  2. "typedef char Nombre[20]"
  3.  
  4.  

no es una estructura sino un tipo definido por el usuario que se refiere a un array de caraceres (string).

Despues, a que te refieres con las cabeceras?

Cabeceras de ficheros que incluyes o a los prototipos de las funciones?

Estas creando una clase o trabajas con programacion extructurada?

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Lio De Punteros...
« Respuesta #2 en: Lunes 23 de Enero de 2006, 11:09 »
0
Hola...

Supongo que te refieres a las cabeceras de las funciones, ¿es así?


Dependerán de los parámetros que quieras introducir, pero veamos...
Lo primero es saber en qué estas trabajando (C / C++ y si tu compilador admite ciertos tipos de construcciones no estándar o no)

int validarNombre (const char* nombre){ [...] }

El const lo puedes quitar si te falla, depende de lo que hagas con la variable nombre dentro de la función, const es para asegurar que la variable no se modifica dentro de la misma. Algunos compiladores te permiten usar char[] en lugar de char* (creo que la estándar es char*, pero que te lo diga alguien más puesto en C estándar)

char* obtenerNombreVal (const char* nombre)

Te digo lo mismo que antes...

void registrarNombre (char* nombre)

O devuelves un int que sea 1 para correcto y otro código en caso de error...

void coordinador (const char* nombre)

Esta devuelve lo mismo que devuelva registrar nombre.

Todos los int que devuelves puedes cambiarlos a boolean si tu compilador implementa este tipo de dato, o dejalos como int.



Espero que te sirva. Un saludo.



Silverfox