Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: pMV2ere en 1 Noviembre 2012, 22:41 pm



Título: problema accion
Publicado por: pMV2ere en 1 Noviembre 2012, 22:41 pm
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void inverso(int & d,int & n)
  6. {
  7.    int i;
  8.    cout << "INTRODUCE UN NUMERO:" << endl;
  9.    cin>>n;
  10.    i=0;
  11.    while(n>=10){
  12.        d=n%10;
  13.        n=n/10;
  14.        i=i*10+d;
  15.    }
  16.    i=i*10+n;
  17.    cout<< "EL INVERSO ES : "<<i<<endl;
  18. }
  19.  
buenas, es mi primer mensaje en el foro :)
tengo un problema al hacer funciones, ya que siempre me sale el error "undefined reference to WinMain@16"
supongo que es debido a que hago algun error dentro del parentesis del void

dejo aqui el codigo con el que estoy trabajando, es una funcion que deberia dar el inverso del numero(1234--->4321)


Muchas gracias x adelantado :)


Título: Re: problema accion
Publicado por: Stakewinner00 en 1 Noviembre 2012, 22:44 pm
1-Usa las GeSHi ya que sino dudo que alguien te conteste.

2-Prueba a usar strings que creo que es más simple.


Título: Re: problema accion
Publicado por: BatchianoISpyxolo en 1 Noviembre 2012, 22:49 pm
Para empezar, debes leer las reglas del foro antes de publicar cualquier mensaje ;)

Acostumbra a encerrar tu código entre [ code = lenguaje ] y [ / code ] (sin espacios).

El error es porque no tienes ningún main. Por tanto al iniciarse el programa no sabe a donde ir.

También decir que no siempre es necesario incluir main (por ejemplo al crear librerías).

Pero al compilar tu programa el IDE trata de buscar algún main, por eso "referencia indefinida a WinMain@16".

Prueba a poner a usar un main o utiliza ese archivo como include para otro archivo principal.

Edito.

Los parámetros por referencia se reciben como * parámetro, no como & parámetro.

Así podría quedar tu código:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int inverso(int n)
  6. {
  7.    int i,d;
  8.    i=0;
  9.    while(n>=10){
  10.        d=n%10;
  11.        n=n/10;
  12.        i=i*10+d;
  13.    }
  14.    i=i*10+n;
  15.    return i;
  16.  
  17. }
  18.  
  19. int main () {
  20.    int n;
  21.    cout << "INTRODUCE UN NUMERO:" << endl;
  22.    cin>>n;
  23.  
  24.    cout<< "EL INVERSO ES : "<<inverso(n)<<endl;
  25.  
  26.    return 0;
  27. }
  28.  
  29.  

Fíjate siempre bien en qué quieres hacer. Yo esa función la programaría simplemente para hallar el inverso. Lo de petición de datos y mostrar mensajitos lo haría en el main o en otra función a parte.


Título: Re: problema accion
Publicado por: pMV2ere en 1 Noviembre 2012, 23:12 pm
gracias x responder tan rapido y perdon por no leerme nada de las reglas xd sq iba muy estresado :) hasta ahora

(PROBLEMA SOLUCIONADO)