Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/07/2011, 07:30
berserkerhacker
 
Fecha de Ingreso: mayo-2011
Ubicación: Almeria (España)
Mensajes: 51
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Pasar puntero como parametro de entrada a una funcion

Cita:
Iniciado por Checho360 Ver Mensaje
Hola, tu único error es que al asignar

Código C++:
Ver original
  1. pcadena = &cadena

cadena en si ya es una dirección de memoria, no un valor de una dirección, con lo cual tienes dos soluciones:


Código C++:
Ver original
  1. pcadena = &cadena[0]


Código C++:
Ver original
  1. pcadena = cadena

y bueno ya después de eso deberías hacer esto en la linea 43:

Código C++:
Ver original
  1. cout << "La longitud de la cadena de caracteres es: " << longitudcadenavar <<endl;

para que te muestre la longitud.

Ademas si quieres que te reconozca la variable 'comprobar' como un numero tienes dos soluciones :

O declaras la variable de tipo int (y no de char) :


Código C++:
Ver original
  1. int comprobar; //linea 9

o utilizas el valor constante del valor introducido:


Código C++:
Ver original
  1. if(comprobar == '1') //linea 27


El codigo se podría mejorar pero por lo menos compila y hace lo que tú quieres :

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3. //COPYRIGHT (C) JESUS MARTIN BERLANGA 2011 TODOS LOS DERECHOS RESERVADOS
  4. //SOLO SE PERMITE EXHIBIR ESTE TEXTO MENCIONANDO AL AUTOR Y ESTA LICENCIA
  5.  
  6. int LongitudCadena(char pcadenafn[100]);
  7. char cadena[100];
  8. char *pcadena;
  9. char comprobar;
  10. char cadenains;
  11.  
  12. int main()
  13. {
  14. // ----------
  15. cout << "Programa dessarollado por Jesus Martin Berlanga." << endl;
  16. cout << "COPYRIGHT (C) JESUS MARTIN BERLANGA 2011 TODOS LOS DERECHOS RESERVADOS" << endl;
  17. cout << "SOLO SE PERMITE EXHIBIR ESTE TEXTO MENCIONANDO AL AUTOR Y ESTA LICENCIA" << endl;
  18. cout << endl;
  19. inicio:
  20. cout << "Introduce una cadena de caracteres para averiguar su longitud" << endl;
  21. cin >> cadena;
  22. pcadena = &cadena[0];
  23. LongitudCadena(cadena);
  24.  
  25. cout << "Introduce 1 para reiniciar y otro caracter y/o numero para salir:" << endl;
  26. cin >> comprobar;
  27. if(comprobar == '1')
  28.     {
  29.        goto inicio;
  30.     }
  31. else
  32.     {
  33.        return 0;
  34.     }
  35. // ----------
  36. }
  37.  
  38.  
  39. int LongitudCadena(char pcadenafn[100])
  40. {
  41.     int longitudcadenavar;
  42.     longitudcadenavar = strlen(pcadenafn);
  43.     cout << "La longitud de la cadena de caracteres es: " << longitudcadenavar <<endl;
  44.     return *pcadenafn;
  45. }

Un saludo!
Muchas gracias funciona perfect !