Dev - C++ - una ayuda con mis primeros pasos =)

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

una ayuda con mis primeros pasos =)

Publicado por carlos (4 intervenciones) el 20/07/2020 05:03:09
Hola!. Estoy haciendo mis primeros pasos en C++ y buscando hacer un poco más complejo un ejercicio básico del bucle do while hay algo en la sintaxis o en el funcionamiento del bucle que no me permite llegar a feliz término. La idea es pedir un "desde", un "hasta" y un valor absoluto de "incremento/decremento". Si el desde es menor que el hasta será hasta que la variable tome un valor mayor al "hasta", si no será hasta que sea menor. El while ¿puede ir dentro de un if ... else?. Gracias por la ayuda que puedan brindarme!.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<iostream>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
 
int main(){
	int desde,hasta,i,inc,condi;
	cout<<"ingrese el 'desde' ---->";cin>>desde;cout<<endl;
	cout<<"ingrese el 'hasta' ---->";cin>>hasta;cout<<endl;
	cout<<"ingrese el 'paso' ----->";cin>>inc;cout<<endl;
 
	do{
 
		cout<<desde<<"\t ";
		if(desde<hasta){desde=desde+inc;}
		else{desde=desde-inc;}
	}
	if(desde<hasta){while(i>=hasta)}
	else{while(i>=hasta)}
	}
 
	getch();
	return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 11
Ha aumentado su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

una ayuda con mis primeros pasos =)

Publicado por carlos (4 intervenciones) el 20/07/2020 05:42:45
no encuentro dónde editar, pero donde evalúa "i" en mi consulta original va "desde". Igual el nudo de la consulta es si el while puede ir dentro de un if. Por favor, que no sea un sí o un no seco ;-)
Gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<iostream>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
 
int main(){
int desde,hasta,inc;
cout<<"ingrese el 'desde' ---->";cin>>desde;cout<<endl;
cout<<"ingrese el 'hasta' ---->";cin>>hasta;cout<<endl;
cout<<"ingrese el 'paso' ----->";cin>>inc;cout<<endl;
 
do{
 
cout<<desde<<"\t ";
if(desde<hasta){desde=desde+inc;}
else{desde=desde-inc;}
}
if(desde<hasta){while(desde>=hasta)}
else{while(desde>=hasta)}
}
 
getch();
return 0;
}
consulta-if-while-else-while-1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan
Val: 70
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

una ayuda con mis primeros pasos =)

Publicado por Juan (10 intervenciones) el 21/07/2020 01:50:38
Creo que te complicaste mucho, un solo while puede solucionar lo que necesitas. Mientras que 'desde' sea menor que 'hasta', sume 'paso' a 'desde'.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
int desde,hasta,inc;
int main(){
 
cout<<"ingrese el 'desde' ---->";
cin>>desde;
cout<<endl;
cout<<"ingrese el 'hasta' ---->";
cin>>hasta;
cout<<endl;
cout<<"ingrese el 'paso' ----->";
cin>>inc;
cout<<endl;
 
while(desde<=hasta)
{
	cout<<"desde "<<desde<<" hasta "<<hasta<<endl;
	desde = desde + inc;
}
 
 
getch();
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

una ayuda con mis primeros pasos =)

Publicado por carlos (4 intervenciones) el 21/07/2020 02:28:14
Sí. Gracias por tu respuesta, pero intento que incremente o decremente a partir del desde y el hasta. Tu sugerencia es para sólo para incrementar. Hago uno sencillo que funciona así, pero determinando yo si el paso tiene que ser positivo o negativo. Busco que lo deduzca de si el límite inicial es mayor o menor al final
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan
Val: 70
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

una ayuda con mis primeros pasos =)

Publicado por Juan (10 intervenciones) el 21/07/2020 03:24:03
Creo que con esto ya queda lo que estas buscando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<iostream>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
int desde,hasta,inc;
int main(){
 
cout<<"ingrese el 'desde' ---->";
cin>>desde;
cout<<endl;
cout<<"ingrese el 'hasta' ---->";
cin>>hasta;
cout<<endl;
cout<<"ingrese el 'paso' ----->";
cin>>inc;
cout<<endl;
 
 
if(desde<hasta)
{
while(desde<=hasta)
{
	cout<<"desde "<<desde<<" hasta "<<hasta<<endl;
	desde = desde + inc;
}
 
}
if(desde>hasta)
{
	while(desde>=hasta)
{
	cout<<"desde "<<desde<<" hasta "<<hasta<<endl;
	desde = desde - inc;
}
}
getch();
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

una ayuda con mis primeros pasos =)

Publicado por carlos (4 intervenciones) el 21/07/2020 06:46:23
Efectivamente!. Gracias Juan!. Definitivamente estaba intentando usar una estructura que no era la precisa para ese cometido.
Yo finalmente lo resolví así ... aunque sin do

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main(){
	int desde,hasta,paso,i=0,veces=0;
	char resp;
 
	while(resp!='n'){
 
	cout<<"\ningrese desde -----> ";cin>>desde;cout<<endl;
	cout<<"\ningrese hasta -----> ";cin>>hasta;cout<<endl;
	cout<<"\ningrese paso ------> ";cin>>paso;cout<<endl;
 
	while(desde<=hasta){cout<<desde<<"\t ";desde=desde+paso;	};
	while(desde>=hasta){cout<<desde<<"\t ";desde=desde-paso;	};
 
	cout<<endl<<endl<<"otro? (s/n) ----> ";cin>>resp;system("cls");
	}
	return 0;
}

Gracias por tu tiempo!.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar