CaioCesar

Fatec - Fixação Aula 09 - Cálculo Delta com Struct

Oct 27th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.90 KB | None | 0 0
  1. #include "iostream" // comando cin cout
  2. #include "cstdlib"  // comando system
  3. #include "math.h"   // funções matemáticas
  4. #include "windows.h" // função sleep
  5. using namespace std;
  6. typedef struct delta del;
  7.  
  8. struct delta{
  9. double x1;
  10. double x2;
  11. double delta;
  12. double a;
  13. double b;
  14. double c;};
  15.  
  16. del p;
  17.  
  18.  
  19. double lerA()
  20. { double a;
  21.   system("cls");
  22.   cout << "\nDigite o valor de A, diferente de zero: ";
  23.   cin >> a;
  24.   return a;
  25. }
  26.  
  27. double lerB()
  28. { double b;
  29.   system("cls");
  30.   cout << "\nDigite o valor de B: ";
  31.   cin >> b;
  32.   return b;
  33. }
  34.  
  35. double lerC()
  36. { double c;
  37.   system("cls");
  38.   cout << "\nDigite o valor de C, diferente de zero: ";
  39.   cin >> c;
  40.   return c;
  41. }
  42.  
  43. double vldelta(double a, double b, double c)
  44. { double delta;
  45.   delta = pow(b,2) - 4 * a * c;
  46.   return delta;
  47. }
  48.  
  49. double vlX1(double a, double b, double del)
  50. {  double x1;
  51.    x1= (-b + sqrt(del))/(2*a);
  52.    return x1;
  53. }
  54.  
  55. double vlX2(double a, double b, double del)
  56. {  double x2;
  57.    x2= (-b - sqrt(del))/(2*a);
  58.    return x2;
  59. }
  60.  
  61. void armazena_struct(double a, double b, double c, double delta, double x1, double x2){
  62. p.a = a;
  63. p.b = b;
  64. p.c = c;
  65. p.delta = delta;
  66. p.x1 = x1;
  67. p.x2 = x2;
  68. }
  69.  
  70.  
  71. void telasaida(double a, double b, double c,double delta, double x1, double x2)
  72. { system("cls");
  73.   cout << "\nRelatório de Saída\n";
  74.   cout << "\nValor de A....: " << p.a;
  75.   cout << "\nValor de B....: " << p.b;
  76.   cout << "\nValor de C....: " << p.c ;
  77.   cout << "\nValor de Delta: " << p.delta;
  78.  
  79.   if (delta >= 0)
  80.   {
  81.     cout << "\nValor de X1...: " << p.x1;
  82.     cout << "\nValor de X2...: " << p.x2;
  83.   }
  84.   cout << "\n\nFim do Relatório de Saída\n\n";
  85.  
  86.   system("pause");
  87. }
  88.  
  89. int telaentrada() {
  90.     int tecla;
  91.     system("cls");
  92.     cout << "\nTela de Entrada\n";
  93.     cout << "\n1- ler A, B e C";
  94.     cout << "\n2- Calcular o Delta, X1 e X2";
  95.     cout << "\n3- Relatório de saída";
  96.     cout << "\n4- Finalizar";
  97.     cout << "\nItem: ";
  98.     cin >> tecla;
  99.     return tecla; }
  100.  
  101. void controlemenu()
  102. {float a, b, c, delta, x1, x2;
  103.  int tecla = -1;
  104.  
  105.  while (tecla != 4)
  106.  { tecla = telaentrada(); // chama a tela
  107.    switch (tecla)
  108.     {
  109.         case 1:
  110.              a = lerA();
  111.              b = lerB();
  112.              c = lerC();
  113.              break;
  114.  
  115.         case 2:
  116.  
  117.              delta = vldelta(a, b, c);
  118.              if (delta >=0 )
  119.              {
  120.                x1 = vlX1( a,  b, delta);
  121.                x2 = vlX2( a,  b, delta);
  122.              }
  123.              armazena_struct(a,b,c,delta,x1,x2);
  124.              system("cls");
  125.              cout << "\nEfetuando cálculos...\n" << endl;
  126.              Sleep(3000);
  127.              cout << "\nCálculos efetuados!\n" << endl;
  128.              system("pause");
  129.              break;
  130.  
  131.         case 3:
  132.              telasaida(a, b, c, delta, x1, x2);
  133.             break;
  134.  }}}
  135.  
  136. int main()
  137. {
  138.    setlocale(LC_ALL, "Portuguese");
  139.    controlemenu();
  140.    return 0;
  141. }
Advertisement
Add Comment
Please, Sign In to add comment