Dev - C++ - AYUDAEn bucle do while. No cambia la variable y por lo tanto el bucle no se cierra.leerabajodecodigo

 
Vista:

AYUDAEn bucle do while. No cambia la variable y por lo tanto el bucle no se cierra.leerabajodecodigo

Publicado por Luis Angel PV (1 intervención) el 06/12/2019 06:38:46
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
40
41
42
43
44
45
46
47
48
#include<iostream>
#include<math.h>
#include<stdlib.h>
using namespace std;
 
int main(){
	double R1, R2, R3, R4, teta2, teta3=0, teta4=0, F1, F2=0, F1T3=0, F1T4=0, F2T3=0, F2T4=0, F1N=0, F2N=0, DT3=0, DT4=0, DT3G=0, DT4G=0, TETA3=0, TETA4=0;
 
	cout<<"ECUACIONES DE CIERRE (NEWTON RAPHSON)"<<endl;cout<<"\n";
	cout<<"R1: "; cin>>R1;
	cout<<"R2: "; cin>>R2;
	cout<<"R3: "; cin>>R3;
	cout<<"R4: "; cin>>R4;
	cout<<"02: "; cin>>teta2;
	cout<<"Proponer 03: "; cin>>teta3;
	cout<<"Proponer 04: "; cin>>teta4;
 
	F1 = 0;
 
	do{
		F1 = ((R1) + ((R4) * cos(teta4 * 3.14159 / 180)) - ((R2) * cos(teta2 * 3.14159 /180)) - ((R3) * cos(teta3 * 3.14159 / 180)));
		F2 = (((R4) * sin(teta4 * 3.14159 / 180)) - ((R2) * sin(teta2 * 3.14159 / 180)) - ((R3) * sin(teta3 * 3.14159 / 180)));
		F1T3 = ((R3) * sin(teta3 * 3.14159 / 180));
		F1T4 = ((-1 * R4) * sin(teta4 * 3.14159 / 180));
		F2T3 = ((-1 * R3) * cos(teta3 * 3.14159 / 180));
		F2T4 = ((R4) * cos(teta4 * 3.14159 / 180));
		F1N = F1 * -1;
		F2N = F2 * -1;
		DT3 = ( (F1N * F2T4) - (F1T4 * F2N)) / ( (F1T3 * F2T4) - (F1T4 * F2T3));
		DT4 = ( (F1T3 * F2N) - (F1N * F2T3) / (F1T3 * F2T4) - (F1T4 * F2T3));
		DT3G = (DT3 * 57.296) + teta3;
		DT4G = (DT4 * 57.296) + teta4;
		DT3G = teta3;
		DT4G = teta4;
		TETA3 = teta3;
		TETA4 = teta4;
	cout<<"03: "<<TETA3<<endl;
	cout<<"04: "<<TETA4<<endl;
	cout<<"F1: "<<F1<<endl;
	cout<<"F2: "<<F2<<endl;
 
	}while(F1<=0.0001);
 
 
	system("pause");
 
	return 0;
}
---------------------------------------------------------------------------------------------------------------
Ok, se supone que el programa pide al usuario un valor de angulo y el programa debe hacer formulas en las cuales el valor inicial de ese angulo cambiaria hasta que la formula y el ciclo hagan que se llegue al valor correcto y se cumpla la condicion. El problema es que el bucle no termina porque el valor del angulo no lo cambia sigue siendo el mismo que el usuario mete al principio, cuando en realidad al ejecutarse el bucle el valor de ese angulo deberia ir cambiando.
El angulo esta definido como "teta3" y "teta4" esos angulos los da el usuario y el bucle deberia cambiarlos pero no lo hace.
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
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDAEn bucle do while. No cambia la variable y por lo tanto el bucle no se cierra.leerabajodecodigo

Publicado por Rodrigo (539 intervenciones) el 06/12/2019 17:38:18
Ninguna de Las instrucciones del ciclo cambia Las variables que quieres que cambien.
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