Advertisement
daniv1

Untitled

Dec 9th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.17 KB | None | 0 0
  1. #pragma once
  2.  
  3. namespace Project9 {
  4.  
  5.     using namespace System;
  6.     using namespace System::ComponentModel;
  7.     using namespace System::Collections;
  8.     using namespace System::Windows::Forms;
  9.     using namespace System::Data;
  10.     using namespace System::Drawing;
  11.  
  12.     /// <summary>
  13.     /// Сводка для MyForm
  14.     /// </summary>
  15.     public ref class MyForm : public System::Windows::Forms::Form
  16.     {
  17.     public:
  18.         MyForm(void)
  19.         {
  20.             InitializeComponent();
  21.             //
  22.             //TODO: добавьте код конструктора
  23.             //
  24.         }
  25.  
  26.     protected:
  27.         /// <summary>
  28.         /// Освободить все используемые ресурсы.
  29.         /// </summary>
  30.         ~MyForm()
  31.         {
  32.             if (components)
  33.             {
  34.                 delete components;
  35.             }
  36.         }
  37.     private: System::Windows::Forms::Label^  L_a;
  38.     protected:
  39.     private: System::Windows::Forms::Label^  L_b;
  40.     private: System::Windows::Forms::Label^  L_c;
  41.     private: System::Windows::Forms::Label^  L_x2;
  42.  
  43.     private: System::Windows::Forms::Label^  L_x1;
  44.  
  45.     private: System::Windows::Forms::TextBox^  In_a;
  46.     private: System::Windows::Forms::TextBox^  In_b;
  47.     private: System::Windows::Forms::TextBox^  In_c;
  48.     private: System::Windows::Forms::Button^  button1;
  49.     private: System::Windows::Forms::Button^  button2;
  50.     private: System::Windows::Forms::Label^  L_per1;
  51.  
  52.     private: System::Windows::Forms::Label^  L_per2;
  53.     private: System::Windows::Forms::Label^  L_D;
  54.  
  55.     private:
  56.         /// <summary>
  57.         /// Обязательная переменная конструктора.
  58.         /// </summary>
  59.         System::ComponentModel::Container ^components;
  60.  
  61. #pragma region Windows Form Designer generated code
  62.         /// <summary>
  63.         /// Требуемый метод для поддержки конструктора — не изменяйте
  64.         /// содержимое этого метода с помощью редактора кода.
  65.         /// </summary>
  66.         void InitializeComponent(void)
  67.         {
  68.             this->L_a = (gcnew System::Windows::Forms::Label());
  69.             this->L_b = (gcnew System::Windows::Forms::Label());
  70.             this->L_c = (gcnew System::Windows::Forms::Label());
  71.             this->L_x2 = (gcnew System::Windows::Forms::Label());
  72.             this->L_x1 = (gcnew System::Windows::Forms::Label());
  73.             this->In_a = (gcnew System::Windows::Forms::TextBox());
  74.             this->In_b = (gcnew System::Windows::Forms::TextBox());
  75.             this->In_c = (gcnew System::Windows::Forms::TextBox());
  76.             this->button1 = (gcnew System::Windows::Forms::Button());
  77.             this->button2 = (gcnew System::Windows::Forms::Button());
  78.             this->L_per1 = (gcnew System::Windows::Forms::Label());
  79.             this->L_per2 = (gcnew System::Windows::Forms::Label());
  80.             this->L_D = (gcnew System::Windows::Forms::Label());
  81.             this->SuspendLayout();
  82.             //
  83.             // L_a
  84.             //
  85.             this->L_a->AutoSize = true;
  86.             this->L_a->Location = System::Drawing::Point(68, 65);
  87.             this->L_a->Name = L"L_a";
  88.             this->L_a->Size = System::Drawing::Size(24, 17);
  89.             this->L_a->TabIndex = 0;
  90.             this->L_a->Text = L"a=";
  91.             //
  92.             // L_b
  93.             //
  94.             this->L_b->AutoSize = true;
  95.             this->L_b->Location = System::Drawing::Point(68, 144);
  96.             this->L_b->Name = L"L_b";
  97.             this->L_b->Size = System::Drawing::Size(24, 17);
  98.             this->L_b->TabIndex = 1;
  99.             this->L_b->Text = L"b=";
  100.             //
  101.             // L_c
  102.             //
  103.             this->L_c->AutoSize = true;
  104.             this->L_c->Location = System::Drawing::Point(68, 210);
  105.             this->L_c->Name = L"L_c";
  106.             this->L_c->Size = System::Drawing::Size(23, 17);
  107.             this->L_c->TabIndex = 2;
  108.             this->L_c->Text = L"c=";
  109.             //
  110.             // L_x2
  111.             //
  112.             this->L_x2->AutoSize = true;
  113.             this->L_x2->Location = System::Drawing::Point(383, 112);
  114.             this->L_x2->Name = L"L_x2";
  115.             this->L_x2->Size = System::Drawing::Size(30, 17);
  116.             this->L_x2->TabIndex = 3;
  117.             this->L_x2->Text = L"x2=";
  118.             this->L_x2->Visible = false;
  119.             //
  120.             // L_x1
  121.             //
  122.             this->L_x1->AutoSize = true;
  123.             this->L_x1->Location = System::Drawing::Point(383, 68);
  124.             this->L_x1->Name = L"L_x1";
  125.             this->L_x1->Size = System::Drawing::Size(30, 17);
  126.             this->L_x1->TabIndex = 4;
  127.             this->L_x1->Text = L"x1=";
  128.             this->L_x1->Visible = false;
  129.             //
  130.             // In_a
  131.             //
  132.             this->In_a->Location = System::Drawing::Point(158, 65);
  133.             this->In_a->Name = L"In_a";
  134.             this->In_a->Size = System::Drawing::Size(100, 22);
  135.             this->In_a->TabIndex = 5;
  136.             //
  137.             // In_b
  138.             //
  139.             this->In_b->Location = System::Drawing::Point(158, 141);
  140.             this->In_b->Name = L"In_b";
  141.             this->In_b->Size = System::Drawing::Size(100, 22);
  142.             this->In_b->TabIndex = 6;
  143.             //
  144.             // In_c
  145.             //
  146.             this->In_c->Location = System::Drawing::Point(158, 210);
  147.             this->In_c->Name = L"In_c";
  148.             this->In_c->Size = System::Drawing::Size(100, 22);
  149.             this->In_c->TabIndex = 7;
  150.             //
  151.             // button1
  152.             //
  153.             this->button1->Location = System::Drawing::Point(86, 331);
  154.             this->button1->Name = L"button1";
  155.             this->button1->Size = System::Drawing::Size(170, 71);
  156.             this->button1->TabIndex = 8;
  157.             this->button1->Text = L"Розв\'язати";
  158.             this->button1->UseVisualStyleBackColor = true;
  159.             this->button1->Click += gcnew System::EventHandler(this, &MyForm::button1_Click);
  160.             //
  161.             // button2
  162.             //
  163.             this->button2->Location = System::Drawing::Point(331, 331);
  164.             this->button2->Name = L"button2";
  165.             this->button2->Size = System::Drawing::Size(172, 71);
  166.             this->button2->TabIndex = 9;
  167.             this->button2->Text = L"Завершити";
  168.             this->button2->UseVisualStyleBackColor = true;
  169.             this->button2->Click += gcnew System::EventHandler(this, &MyForm::button2_Click);
  170.             //
  171.             // L_per1
  172.             //
  173.             this->L_per1->AutoSize = true;
  174.             this->L_per1->Location = System::Drawing::Point(383, 144);
  175.             this->L_per1->Name = L"L_per1";
  176.             this->L_per1->Size = System::Drawing::Size(51, 17);
  177.             this->L_per1->TabIndex = 10;
  178.             this->L_per1->Text = L"В x1 = ";
  179.             this->L_per1->Visible = false;
  180.             //
  181.             // L_per2
  182.             //
  183.             this->L_per2->AutoSize = true;
  184.             this->L_per2->Location = System::Drawing::Point(383, 185);
  185.             this->L_per2->Name = L"L_per2";
  186.             this->L_per2->Size = System::Drawing::Size(47, 17);
  187.             this->L_per2->TabIndex = 11;
  188.             this->L_per2->Text = L"В x2 =";
  189.             this->L_per2->Visible = false;
  190.             //
  191.             // L_D
  192.             //
  193.             this->L_D->AutoSize = true;
  194.             this->L_D->Location = System::Drawing::Point(383, 234);
  195.             this->L_D->Name = L"L_D";
  196.             this->L_D->Size = System::Drawing::Size(26, 17);
  197.             this->L_D->TabIndex = 12;
  198.             this->L_D->Text = L"D=";
  199.             this->L_D->Visible = false;
  200.             //
  201.             // MyForm
  202.             //
  203.             this->AutoScaleDimensions = System::Drawing::SizeF(8, 16);
  204.             this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
  205.             this->BackColor = System::Drawing::Color::Lime;
  206.             this->ClientSize = System::Drawing::Size(850, 478);
  207.             this->Controls->Add(this->L_D);
  208.             this->Controls->Add(this->L_per2);
  209.             this->Controls->Add(this->L_per1);
  210.             this->Controls->Add(this->button2);
  211.             this->Controls->Add(this->button1);
  212.             this->Controls->Add(this->In_c);
  213.             this->Controls->Add(this->In_b);
  214.             this->Controls->Add(this->In_a);
  215.             this->Controls->Add(this->L_x1);
  216.             this->Controls->Add(this->L_x2);
  217.             this->Controls->Add(this->L_c);
  218.             this->Controls->Add(this->L_b);
  219.             this->Controls->Add(this->L_a);
  220.             this->Name = L"MyForm";
  221.             this->Text = L"MyForm";
  222.             this->ResumeLayout(false);
  223.             this->PerformLayout();
  224.  
  225.         }
  226. #pragma endregion
  227.     private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
  228.         Close();
  229.     }
  230. private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
  231.     double a, b, c, D, x1, x2, x,per,per1,per2;
  232.     a = Convert::ToDouble(In_a->Text);
  233.     b = Convert::ToDouble(In_b->Text);
  234.     c = Convert::ToDouble(In_c->Text);
  235.     D = Math::Pow(b, 2) - 4 * a*c;
  236.     if (a == 0 && b == 0 && c == 0)
  237.     {
  238.         L_x2->Visible = false;
  239.         L_per2->Visible = false;
  240.         L_x1->Visible = false;
  241.         L_per1->Visible = false;
  242.         L_D->Visible = true;
  243.         L_D->Text = "D = " + Convert::ToString(D);
  244.         L_x1->Visible = false;
  245.         L_x2->Visible = false;
  246.         MessageBox::Show("Rivnanja pogano obymovlene ");
  247.         return;
  248.     }
  249.     else if (a == 0 && b != 0 && c == 0)
  250.     {
  251.         L_x2->Visible = false;
  252.         L_per2->Visible = false;
  253.         L_D->Visible = true;
  254.         L_D->Text = "D = " + Convert::ToString(D);
  255.         x = 0;
  256.         per = a*x*x + b*x + c;
  257.         L_x1->Visible = true;
  258.         L_per1->Visible = true;
  259.         L_x1->Text = "x1 = x2 = " + Convert::ToString(x);
  260.         L_per1->Text = "в x =" + Convert::ToString(per);
  261.         return;
  262.     }
  263.     else if (a == 0 && b != 0 && c != 0)
  264.     {
  265.         L_D->Visible = true;
  266.         L_D->Text = "D = " + Convert::ToString(D);
  267.         x = -c / b;
  268.         per = a*x*x + b*x + c;
  269.         L_x2->Visible = false;
  270.         L_per2->Visible = false;
  271.         L_x1->Visible = true;
  272.         L_per1->Visible = true;
  273.         L_x1->Text = "x1 = x2 = " + Convert::ToString(x);
  274.         L_per1->Text = "в x = " + Convert::ToString(per);
  275.         return;
  276.     }
  277.     else if (a == 0 && b == 0)
  278.     {
  279.         L_x2->Visible = false;
  280.         L_per2->Visible = false;
  281.         L_x1->Visible = false;
  282.         L_per1->Visible = false;
  283.         L_D->Visible = true;
  284.         L_D->Text = "D = " + Convert::ToString(D);
  285.         MessageBox::Show("Rivnanja ne maje rozvjazkiv ");
  286.         return;
  287.     }
  288.     else
  289.     {
  290.         D = b*b - 4 * a*c;
  291.         if (D < 0)
  292.         {
  293.             L_x2->Visible = false;
  294.             L_per2->Visible = false;
  295.             L_x1->Visible = false;
  296.             L_per1->Visible = false;
  297.             L_D->Visible = true;
  298.             L_D->Text = "D = " + Convert::ToString(D);
  299.             MessageBox::Show("RIVNANJA NE MAJE ROZVKAZKIV");
  300.             return;
  301.  
  302.         }
  303.         else if (D == 0)
  304.         {
  305.             L_per1->Visible = true;
  306.             L_D->Visible = true;
  307.             L_D->Text = "D = " + Convert::ToString(D);
  308.             x = (-b) / (2 * a);
  309.             per = a*x*x + b*x + c;
  310.             L_x1->Visible = true;
  311.             L_x2->Visible = false;
  312.             L_per2->Visible = false;
  313.             L_x1->Text = "x1 = x2 = " + Convert::ToString(x);
  314.             L_per1->Text = "в x = " + Convert::ToString(per);
  315.             return;
  316.  
  317.         }
  318.         else
  319.         {
  320.             x1 = (-b + Math::Sqrt(D)) / (2 * a);
  321.             x2 = (-b - Math::Sqrt(D)) / (2 * a);
  322.             per1 = a*x1*x1 + b*x1 + c;
  323.             per2 = a*x2*x2 + b*x2 + c;
  324.             L_x1->Visible = true;
  325.             L_x1->Text = "x1 =  " + Convert::ToString(x1);
  326.             L_x2->Visible = true;
  327.             L_x2->Text = "x2 = " + Convert::ToString(x2);
  328.             L_per1->Visible = true;
  329.             L_per2->Visible = true;
  330.             L_D->Visible = true;
  331.             L_D->Text = "D = " + Convert::ToString(D);
  332.             L_per1->Text = "в x1 = " + Convert::ToString(per1);
  333.             L_per2->Text = "в x2 = " + Convert::ToString(per2);
  334.             return;
  335.         }
  336.     }
  337.  
  338. }
  339. };
  340. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement