Hola, tu único error es que al asignar
cadena en si ya es una dirección de memoria, no un valor de una dirección, con lo cual tienes dos soluciones:
y bueno ya después de eso deberías hacer esto en la linea 43:
Código C++:
Ver originalcout << "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) :
o utilizas el valor constante del valor introducido:
El codigo se podría mejorar pero por lo menos compila y hace lo que tú quieres :
Código C++:
Ver original#include <iostream>
using namespace std;
//COPYRIGHT (C) JESUS MARTIN BERLANGA 2011 TODOS LOS DERECHOS RESERVADOS
//SOLO SE PERMITE EXHIBIR ESTE TEXTO MENCIONANDO AL AUTOR Y ESTA LICENCIA
int LongitudCadena(char pcadenafn[100]);
char cadena[100];
char *pcadena;
char comprobar;
char cadenains;
int main()
{
// ----------
cout << "Programa dessarollado por Jesus Martin Berlanga." << endl;
cout << "COPYRIGHT (C) JESUS MARTIN BERLANGA 2011 TODOS LOS DERECHOS RESERVADOS" << endl;
cout << "SOLO SE PERMITE EXHIBIR ESTE TEXTO MENCIONANDO AL AUTOR Y ESTA LICENCIA" << endl;
cout << endl;
inicio:
cout << "Introduce una cadena de caracteres para averiguar su longitud" << endl;
cin >> cadena;
pcadena = &cadena[0];
LongitudCadena(cadena);
cout << "Introduce 1 para reiniciar y otro caracter y/o numero para salir:" << endl;
cin >> comprobar;
if(comprobar == '1')
{
goto inicio;
}
else
{
return 0;
}
// ----------
}
int LongitudCadena(char pcadenafn[100])
{
int longitudcadenavar;
longitudcadenavar
= strlen(pcadenafn
); cout << "La longitud de la cadena de caracteres es: " << longitudcadenavar <<endl;
return *pcadenafn;
}
Un saludo!