Malditos punteros (ayuda con programa)
Hola a todos, vereis, acabo de empezar con el tema de los punteros y estoy un poco perdido.
Estoy haciendo un programilla que tiene que dividir una cadena de caracteres en sus palabras.
El programa tiene que hacer:
1-Pedir al usuario una frase, se guardara en una cadena de caracteres.
2-Utilizando un puntero se recorrera la cadena y cuando se encuentre un espacio en blanco lo sustituira por un caracter nulo.
3-El puntero se posicionara al inicio de la palabra y la sacara por pantalla.
4-El puntero se posicionara en la siguiente palabra y repetira los pasos 2 y 3.
Pues bien, de momento llevo hecho lo siguiente:
#include <iostream.h>
#include <string.h>
void main (void)
{
char frase[100];
char *punt=NULL;
int longitud,i=0;
cout<<"Escriba una frase:" <<endl;
cin.getline(frase,100);
longitud=strlen(frase);
punt=frase;
for (i;i<longitud;i++)
{
if (punt[i]==32)
{
punt=frase;
punt[i]=0;
i=0;
}
}
cout<<punt<<endl;
}
pero la verdad es que no me hace mucho caso.
Por ejemplo;
si le meto como frase "Hola que tal", al separar la cadena de caracteres me saca por pantalla solo " Hola".
:S:S
Aver si me podeis echar una manita... GRACIAS
Estoy haciendo un programilla que tiene que dividir una cadena de caracteres en sus palabras.
El programa tiene que hacer:
1-Pedir al usuario una frase, se guardara en una cadena de caracteres.
2-Utilizando un puntero se recorrera la cadena y cuando se encuentre un espacio en blanco lo sustituira por un caracter nulo.
3-El puntero se posicionara al inicio de la palabra y la sacara por pantalla.
4-El puntero se posicionara en la siguiente palabra y repetira los pasos 2 y 3.
Pues bien, de momento llevo hecho lo siguiente:
#include <iostream.h>
#include <string.h>
void main (void)
{
char frase[100];
char *punt=NULL;
int longitud,i=0;
cout<<"Escriba una frase:" <<endl;
cin.getline(frase,100);
longitud=strlen(frase);
punt=frase;
for (i;i<longitud;i++)
{
if (punt[i]==32)
{
punt=frase;
punt[i]=0;
i=0;
}
}
cout<<punt<<endl;
}
pero la verdad es que no me hace mucho caso.
Por ejemplo;
si le meto como frase "Hola que tal", al separar la cadena de caracteres me saca por pantalla solo " Hola".
:S:S
Aver si me podeis echar una manita... GRACIAS