Alguien me puede ayudar con este codigo
En lenguaje C++
(estoy usando DevC++
esto es lo que tengo
(con la opcion 2 y 3 se me cuelga, no sé el por que?)
#include<iostream>
#include<string.h>
using namespace std;
void palabras(char cadena[], int lar)
{
int pal,i;
pal = 1;
for(i=0;i<=lar;i++)
{
if(cadena == ' ')
{
pal++;
}
}
cout<<"Cantidad de palabras : "<<pal<<endl;
system("pause");
}
void invertirfrase(char cadena[], int lar )
{
int i;
for (i=lar; i >= 0;i--)
{
cout<< cadena;
}
cout<<endl;
}
int main ()
{
char cadena[30];
int lar, i, pal, op;
cout <<"ingrese frase:"<<endl;
cin.getline(cadena,30); //lee cadena de forma correcta
cout<<"[ "<<cadena<<" ]"<< " se ha guardado en memoria..."<<endl;
system("pause");
do{ system("cls");
cout<<" MENU"<<endl;
cout<<" 1 Cual es la Frase? "<<endl;
cout<<" 2 Determinar cuantas palabras tiene la frase : "<<endl;
cout<<" 3 Invertir la frase : "<<endl;
cout<<" 4 Invertir el orden de las palabras de la frase : "<<endl;
cout<<" 5 Leer si se encuentra una palaba en la frase : "<<endl;
cout<<" 6 Es PALINDROMICA? :"<<endl;
cout<<" 7 Determinar frecuencia de las letras : "<<endl;
cout<<" 9 SALIR "<<endl;
cout<<endl<<endl;
cout<<"ingrese opcion:";
cin>>op;
if(op==1)
{
cout<<"es ""'"<<cadena<<"'"" : ";
}
if(op==2)//contar espacios y sumar 1 en el string
{
palabras(cadena, lar);
}
if(op==3)
{
invertirfrase(cadena,lar);
}
if(op==4)
{
cout<<"estamos en opcion 4"<<endl;
}
if(op==5)
{
cout<<"estamos en opcion 5"<<endl;
}
if(op==6)
{
cout<<"estamos en opcion 6"<<endl;
}
if(op==7)
{
cout<<"estamos en opcion 7"<<endl;
}
system("pause");
}while(op !=9);
}
con los minimos conocimientos que tengo no soy capaz de realizarlo,
y me veo obligado a pedir ayuda.
intente tambien poner en la opcion 1 para ingresar la frase/palabra que es la idea, y tampoco me resulto, llevo casi todo el dia tratando de hacer esto.