• Domingo 5 de Mayo de 2024, 16:41

Autor Tema:  Re: Función  (Leído 1060 veces)

sk8erlucas

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Función
« en: Viernes 18 de Julio de 2003, 20:02 »
0
Hola, hice una función y por alguna razón no anda.
No sé porque, ya que complia bien pero por alguna razón se traba en tiempo de ejecución. Si alguien pudiera ayudarme le estaría muy agradecido.
La función es la siguiente y tiene ya incluído el fichero de cabecera strdag.h, e iostream:

//Nombre: Verificar Opción.
//Descripción: Nos dice o no si la opción fue correcta o no.
int verop(char *letra, char a, ...)
{
tolower(*letra);

char aceptadas[50];
int num = 0;
aceptadas[num] = a;
num++;

va_list p;

va_start(p, a);
char *arg;
while((arg = va_arg(p, char*)) != 0)
{
aceptadas[num] = *arg;
num++;
}
va_end(p);

/*Ahora ya tenemos todo bien y todas las letras que pueden ser
correctas en una cadena de caracteres.*/

for(int i = 0; i < num; i++)
{
char *p;
p = aceptadas;

if (*p == *letra)
{
return 0;
}
else
{
p++;
}
}

cout << "aba";
return 1;
}

Gracias, si alguno desea hacer uso de a función no pondré objeción.

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Función
« Respuesta #1 en: Miércoles 23 de Julio de 2003, 00:38 »
0
Hola, quisiera ayudarte en tu problema, pero hay cosas de tu funcion que no entiendo, me gustaria si es posible que detalles mas tu problema y las acciones de cada parte del codigo, si es posible un programa de ejemplo de para que se usaria este codigo, ya que en la funcion:

va_start(p, a);

no se que es eso, si es una funcion creada por ti por favor incluila en el codigo, Espero poder ayudarte, Saludos. :guitar:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

sk8erlucas

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Función
« Respuesta #2 en: Viernes 25 de Julio de 2003, 21:28 »
0
Éste código estaba en un tutorial de C++ que estoy siguiendo. El objetivo de va_start, va_end, etc. es crear una función que acepte infinitos argumentos.
Todas éstas funciones y variables se encuentran en el fichero de cabecera strdag.h, que supuestamente es una librería ANSI C.
El problema con el programa es que provoca un error en tiempo de ejecución, pero es raro porque compila bien.

Para los curiosos el curso se encuentra en c.conlase.net (Sin www.).