Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: cesarjgrd.18 en 11 Diciembre 2011, 14:41 pm



Título: AYUDA problema al anidar un for y un while
Publicado por: cesarjgrd.18 en 11 Diciembre 2011, 14:41 pm
Buenas! Tengo que hacer un proyecto del cole! Apenas lo estoy empezando! Voy bien! Solo que necesito anidar un for con un while! al hacerlo y ejecutarlo se queda pidiendo datos de entrada y no hace mas nada! Si dejo el while solo si corre perfecto pero necesito que el while se repita! Aqui les dejo el code a ver si me pueden ayudar! Gracias

Código:
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string punto(string parrafo){
int tamano, x=0, x1, x2, x3, x4;
string str, inicial, b1, b2, b3;
tamano=parrafo.size();
do {
while (x<=tamano && str!="."){
str=parrafo.substr(x, 1);
x=x+1;}
x1=x-2;
b1=parrafo.substr(x1, 1);
if (b1==" "){
parrafo=parrafo.erase(x1, 1);
x=x-1;}
x3=x-2;
b2=parrafo.substr(x3, 1);
if (b2== "," || b2==";"){
parrafo=parrafo.insert(x3," <<");
x4=x1+4;
parrafo=parrafo.insert(x4,">>");
x=x+5;}
b3=parrafo.substr(x, 1);
if (b3!=" "){
parrafo=parrafo.insert(x, " ");}
x2=x+1;
inicial=parrafo.substr(x2, 1);
transform(inicial.begin(),inicial.end(), inicial.begin(), ::toupper);
parrafo=parrafo.replace(x2, 1, inicial);
tamano=parrafo.size();
}
while (!(x==tamano));
return parrafo;
}

int main(){
string parrafo, parrafo1;
cout<<"Introduzca un texto"<<endl;
getline(cin, parrafo);
parrafo1=punto(parrafo);
cout<<parrafo1<<endl;
return 0;
}


Título: Re: AYUDA problema al anidar un for y un while
Publicado por: Isótopo en 11 Diciembre 2011, 16:45 pm
Haz debug y fíjate en el tamaño de la variable x, porque yo diría que formas un bucle infinito y nunca retornas el parrafo.


Título: Re: AYUDA problema al anidar un for y un while
Publicado por: cesarjgrd.18 en 11 Diciembre 2011, 20:01 pm
Haz debug y fíjate en el tamaño de la variable x, porque yo diría que formas un bucle infinito y nunca retornas el parrafo.


Buenas amigo! Gracias por la ayuda! Pero me podrias decir como hacer eso?


Título: Re: AYUDA problema al anidar un for y un while
Publicado por: Isótopo en 11 Diciembre 2011, 22:16 pm
Pues depende del compilador que estés usando. Debe de tener alguna opción que ejecute el código con pausas en cada línea para ver el desarrollo del programa. Así puedes ver el valor de cada variable y donde se te atasca exáctamente.