• Viernes 3 de Mayo de 2024, 05:22

Autor Tema:  Error En Prototipo De Funcion  (Leído 2011 veces)

gushynet

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Error En Prototipo De Funcion
« en: Sábado 15 de Mayo de 2004, 03:24 »
0
Hola a todos. A ver si alguien me puede explicar la razon de este fallo en el codigo siguiente:

#include<stdio.h>
#include<conio.h>

#define TRUE 1
#define FALSE 0
#define Letra 0xa4 /* Letra ñ */
#define Circulo 0xa7 /* Simbolo º */

/***********************************************************/                    /* PROTOTIPOS DE FUNCIONES */

void Menu_Practicar( );


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


int main()
{
    short int Op=0;
    short int Salir=FALSE;
    do
    {
        do
        {
            clrscr();
            printf("\n1. PRACTICAR ");
            printf("\n2. HERRAMIENTAS");
            printf("\n3. OPCIONES");
            printf("\n4. SALIR");
            printf("\n\nOpcion: ");
            scanf("%hd",&Op);
            switch(Op)
            {
                case 1:/* Practicar */
                    Menu_Practicar( );
                    break;
                case 2:/* Herramientas */
                    break;
                case 3:
                    break;/* Opciones */
                case 4:
                    Salir = TRUE;
                    break;
            }
        }while((Op<1)&&(Op>4));
    }while(Salir!=TRUE);
    return 0;
}
/*********************************************************/
            /* IMPLEMENTACION DE FUNCIONES */
/*********************************************************/


void Menu_Practicar()
{
    short int Volver=FALSE,Op=0;
    do
    {
        do
        {
            clrscr();
            printf("\nPRACTICAR");
            printf("\n1. INGLES-ESPA%cOL",Letra);
            printf("\n2. ESPA%cOL-INGLES",Letra);
            printf("\n3. VOLVER");
            printf("\nOpcion; ");
            scanf("%hd",&Op);
        }while((Op<1)&&(Op>3));
        switch(Op)
        {
            case 1:
                break;
            case 2:
                break;
            case 3:
                Volver = TRUE;
                break;
        }
    }while(Volver==FALSE);
    return;
};

El error que me da es el siguiente:

[C++ Warning] Unit1.c(36): W8065 Call to function 'Menu_Practicar' with no prototype

Aunque comprendo el error no entiendo porque aparece ya que el codigo creo que esta bien.

Uso el c++ builder 6, no se si esto estara relacionado con el problema.

Pues nada mas, agradezco de antemano la ayuda que me podais prestar.
Un saludo.

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Error En Prototipo De Funcion
« Respuesta #1 en: Sábado 15 de Mayo de 2004, 14:23 »
0
Hola.

Prueba a eliminar el espacio que hay entre los paréntesis del prototipo de la función y de la llamada a ésta.

Un saludo.

Ruben3d

patitofeo

  • Miembro MUY activo
  • ***
  • Mensajes: 145
    • Ver Perfil
Re: Error En Prototipo De Funcion
« Respuesta #2 en: Lunes 17 de Mayo de 2004, 17:15 »
0
Prueba a quitar el ultimo ';' de todos.

Es posible que con ese punto y coma tome la definicion de la funcion como un prototipo.

Ese punto y coma no hace falta.

Código: Text
  1.  
  2.  
  3. ...
  4. return;
  5. };
  6.  
  7.  
  8.  


Saludos. Espero que sea eso.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Error En Prototipo De Funcion
« Respuesta #3 en: Lunes 17 de Mayo de 2004, 20:52 »
0
a parte del ';' al final de la funcion, yo dejaria esto asi.. ya que tus comentarios presentan inconsistencias al cerrar:
Código: Text
  1.  
  2. /************************************************************/
  3. /*PROTOTIPOS DE FUNCIONES */
  4.  
  5. void Menu_Practicar( );
  6.  
  7.  
  8. /***********************************************************/
  9.  
  10.  
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Error En Prototipo De Funcion
« Respuesta #4 en: Lunes 17 de Mayo de 2004, 21:12 »
0
He pegado el código en Dev-cpp y se me ha quejado por los comentarios, que cierras con '//'. Quitado eso, ha compilado sin errores ni warnings.

Un saludo.

Ruben3d

C++ BorlFJ

  • Miembro activo
  • **
  • Mensajes: 52
    • Ver Perfil
    • http://www.grafmarc.com.ve/info_lenguajes
Re: Error En Prototipo De Funcion
« Respuesta #5 en: Lunes 17 de Mayo de 2004, 22:37 »
0
Amigón tus problemas son varios en resumen con lo que te han dicho otras personas incluyendo al ingeniero que por cierto no te explica nada (jajajaja)
como cosa rara verdad!! :P
 B) veamos

        1)
Tu declaración o simulación de Función ok:

 void (_______)()ok
{
        *
        *
        *
        *
        *
        *
} ves
luego
2)hay un (";") al final del programa obvialo no corresponde a este tipo de lenguaje.

ejemplo

                      *
                      *
                      *
            }; ves(nooooooo  :blink: es válido)jeje

bueno con eso intenta probar el program a ver si te corre amiguete...

corre.? :D : :angry: ;jejejeje
(si corre programa entonces  :D de lo contrario  :angry: ;)

NOTA: ya corrí el programa bien bien fino nos vemos...

                                                                           C++ BorlFJ
La Fuente de la vida es querer hacer las cosas como son
JC Vermudez

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Error En Prototipo De Funcion
« Respuesta #6 en: Lunes 17 de Mayo de 2004, 23:05 »
0
jejeje  :devil:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Error En Prototipo De Funcion
« Respuesta #7 en: Martes 18 de Mayo de 2004, 11:31 »
0
Citar
hay un (";") al final del programa obvialo no corresponde a este tipo de lenguaje

No deberías tener ningún problema por poner un ';' detrás del cierre de una llave. El ';' indica al analizador sintáctico del compilador que es otro comando, por lo que es legal ponerlo tras el cierre de la llave.

Un saludo.

Ruben3d

lordford

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: Error En Prototipo De Funcion
« Respuesta #8 en: Martes 18 de Mayo de 2004, 15:01 »
0
Ya lo he mirado y es cierto casi todo lo que dicen los que ya respondieron pero el problema se minimiza y la ayuda es inmediata si solo le dijeran que tiene una terminacion incorrecta despues del comentario que termina con //, el segundo SLASH esta de mas, solo ese es el error !!!!!!


Salu2,

:smartass:  :D  

LordFord
~ Si quieres que algo en la vida te salga bien]~