-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMenu.cpp
More file actions
157 lines (134 loc) · 4.41 KB
/
Menu.cpp
File metadata and controls
157 lines (134 loc) · 4.41 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include "Menu.h"
Menu::Menu()
{
distA = 1.5;
tamBracoFixo = 9;
tamBracoMovel = 0;
anguloBraco = 0;
massaBloco = 0;
momentoA = 0;
momentoB = 0;
}
Menu::~Menu()
{
}
void Menu::exibeMenu()
{
cout << "Digite a operacao que deseja realizar:" << endl;
cout << "\t [1] Selecionar valor para massa do bloco (em kg)" << endl
<< "\t [2] Selecionar valor para tamanho do braco movel (em m)" << endl
<< "\t [3] Selecionar valor para angulo do braco (em graus)" << endl
<< "\t [4] Selecionar valor para o momento em A (em N*m)" << endl
<< "\t [5] Calcular momento no ponto A" << endl
<< "\t [6] Calcular a massa do bloco, dados momento em A, tamanho movel do braco e angulo do braco" << endl
<< "\t [7] Calcular o tamanho movel do braco, dados momento em A, massa do bloco e angulo do braco" << endl
<< "\t [8] Calcular o angulo do braco, dados momento em A, tamanho movel do braco e massa do bloco" << endl
<< "\t [0] Sair";
}
void Menu::escolherOpcaoMenu()
{
int opcao;
do
{
exibeMenu();
cout << endl << "Selecione uma opcao: ";
cin >> opcao;
cin.ignore();
system(CLEAR);
switch (opcao)
{
case 1:
setMassa();
break;
case 2:
setBracoMovel();
break;
case 3:
setAngulo();
break;
case 4:
setMomentoA();
break;
case 5:
calculaMomentoA();
break;
case 6:
calculaMassa();
break;
case 7:
calculaBracoMovel();
break;
case 8:
calculaAngulo();
break;
case 0:
cout << "Saindo...";
break;
}
}
while (opcao);
}
void Menu::setMassa()
{
cout << "Digite o valor da massa: ";
cin >> massaBloco;
}
void Menu::setBracoMovel()
{
cout << "Digite o valor do tamanho do braco movel: ";
cin >> tamBracoMovel;
}
void Menu::setAngulo()
{
cout << "Digite o valor do angulo do braco: ";
cin >> anguloBraco;
}
void Menu::setMomentoA()
{
cout << "Digite o valor do momento em A: ";
cin >> momentoA;
}
void Menu::calculaAngulo()
{
cout << "Considerando os seguintes valores:" << endl
<< "Massa: " << massaBloco << " kg" << endl
<< "Tamanho do braco movel: " << tamBracoMovel << " m" << endl
//<< "Angulo: " << anguloBraco << " graus" << endl
<< "Momento em A: " << momentoA << " N*m" << endl << endl;
anguloBraco = acos(momentoA/((tamBracoFixo-distA+tamBracoMovel)*(massaBloco*GRAVIDADE))) * 180/PI;
cout << endl;
cout << "o valor do angulo do braco em relacao a horizontal eh: " << anguloBraco << " graus" <<endl;
}
void Menu::calculaMomentoA()
{
cout << "Considerando os seguintes valores:" << endl
<< "Massa: " << massaBloco << " kg" << endl
<< "Tamanho do braco movel: " << tamBracoMovel << " m" << endl
<< "Angulo: " << anguloBraco << " graus" << endl;
//<< "Momento em A: " << massaBloco << " N*m" << endl << endl;
momentoA = (tamBracoFixo-distA+tamBracoMovel)*(massaBloco*GRAVIDADE)*cos(anguloBraco*PI/180);
cout << endl;
cout << "o valor do momento em A eh: " << momentoA << " N*m" <<endl;
}
void Menu::calculaBracoMovel()
{
cout << "Considerando os seguintes valores:" << endl
<< "Massa: " << massaBloco << " kg" << endl
//<< "Tamanho do braco movel: " << tamBracoMovel << " m" << endl
<< "Angulo: " << anguloBraco << " graus" << endl
<< "Momento em A: " << momentoA << " N*m" << endl << endl;
tamBracoMovel = momentoA/((massaBloco*GRAVIDADE)*cos(anguloBraco*PI/180)) - (tamBracoFixo-distA);
cout << endl;
cout << "o valor do tamanho do braco eh: " << tamBracoMovel << " m" <<endl;
}
void Menu::calculaMassa()
{
cout << "Considerando os seguintes valores:" << endl
//<< "Massa: " << massaBloco << " kg" << endl
<< "Tamanho do braco movel: " << tamBracoMovel << " m" << endl
<< "Angulo: " << anguloBraco << " graus" << endl
<< "Momento em A: " << momentoA << " N*m" << endl << endl;
massaBloco = momentoA/((tamBracoFixo-distA+tamBracoMovel)*cos(anguloBraco*PI/180)*GRAVIDADE);
cout << endl;
cout << "o valor do massa do bloco eh: " << massaBloco << " kg" <<endl;
}