| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
sasha12
Registrado: 27 Sep 2007 Mensajes: 13
| Publicado: 04/10/2007 12:54 pm | | | Título: Porque este error? |
| | Código: | #include <iostream> using namespace std;
char * word; int cant;
int LongitudCadena (char * a) { for (int i = 0; a[i] != '\0'; i++) { cant ++; } cout << "La palabra " << a << " tiene " << cant << " letras" << endl; }
int main () { cout << "Programa que calcula la longitud de una cadena de caracteres\n"; cout << "Inserta una palabra: \n"; [b]cin >> word;[/b] LongitudCadena (word); cin.get (); return 0; }
|
Yo compilo este error sin ningun error, sin embargo en la ejecucion, me da un runtime error en esta parte del codigo:
| Código: | [b]cin >> word;[/b]
|
Alguien me puede decir si es que tengo un error al declarar el puntero o algo asi? Yo recien empiezo en c++ y tngo un nivel muy basico, a si que si tengo muchos errores, es por eso simplemente |
| | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 3841 Ubicación: Mexico
| Publicado: 04/10/2007 1:43 pm | | | Título: |
| Por partes.
En la funcion "LongitudCadena" no es necesario utilizar dos contadores ya que estos (las variables "i" y "cant") siempre tienen el mismo valor, seria mejor utilizar la variable "cant" directamente y tambien te falta indicar el valor de retorno de esa funcion:
| Código: | int LongitudCadena (char * a) { for (cant = 0; a[cant] != '\0'; cant++) ; cout << "La palabra " << a << " tiene " << cant << " letras" << endl; return cant; } |
En cuanto al puntero "word" antes de poder utilizarlo tienes que reservar un bloque de memoria y guardar la direccion en memoria de este en el mentado puntero. Para esto ultimo puedes utilizar el operador new, en esta forma:
| Código: | char *palabra = new char [255];
/* ... uso del array de caracteres "palabra" ... */
delete palabra; |
Por ultimo siempre que tengas un problema con uno de tus programas compilalo en el modo mas estricto que permita tu compilador ya que esa es la forma mas sencilla de detectar los errores en el programa.
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |