sneyzi

Untitled

Oct 26th, 2021
1,422
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace WindowsFormsApp1
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.  
  16.         public struct Factory
  17.         {
  18.             public string code;
  19.             public string name;
  20.             public int plannedProductionRate;
  21.             public int factProductionRate;
  22.  
  23.             public Factory(string code, string name, int plannedProductionRate, int factProductionRate)
  24.             {
  25.                 this.code = code;
  26.                 this.name = name;
  27.                 this.plannedProductionRate = plannedProductionRate;
  28.                 this.factProductionRate = factProductionRate;
  29.             }
  30.         }
  31.  
  32.  
  33.         List<Factory> list = new List<Factory>();
  34.  
  35.  
  36.         public Form1()
  37.         {
  38.             InitializeComponent();
  39.         }
  40.  
  41.  
  42.         private void Form1_Load(object sender, EventArgs e)
  43.         {
  44.             dataGridView1.AllowUserToAddRows = false;
  45.             dataGridView1.RowHeadersVisible = false;
  46.  
  47.             list.Add(new Factory("01", "Fish", 100, 3333));
  48.             list.Add(new Factory("02", "Meat", 100, 50));
  49.             list.Add(new Factory("03", "Vegetables", 100, 222));
  50.             list.Add(new Factory("04", "Fruits", 2500, 5000));
  51.             list.Add(new Factory("05", "Toys", 1000, 1000));
  52.  
  53.             DataTable table = new DataTable();
  54.  
  55.             table.Columns.Add("шифр цеху", typeof(string));
  56.             table.Columns.Add("найменування цеху", typeof(string));
  57.             table.Columns.Add("планова норма виробітку (тонн)", typeof(int));
  58.             table.Columns.Add("фактична норма виробітку (тонн)", typeof(int));
  59.  
  60.             for (int i = 0; i < list.Count; i++)
  61.             {
  62.                 table.Rows.Add(list[i].code, list[i].name, list[i].plannedProductionRate, list[i].factProductionRate);
  63.             }
  64.  
  65.             dataGridView1.DataSource = table;
  66.         }
  67.  
  68.         private void button1_Click(object sender, EventArgs e)
  69.         {
  70.  
  71.             foreach (Factory factory in list)
  72.             {
  73.                 if (factory.name.Equals(textBox5.Text))
  74.                 {
  75.                     textBox1.Text = factory.code;
  76.                     textBox2.Text = factory.name;
  77.                     textBox3.Text = Convert.ToString(factory.plannedProductionRate);
  78.                     textBox4.Text = Convert.ToString(factory.factProductionRate);
  79.  
  80.                     return;
  81.                 }
  82.             }
  83.             MessageBox.Show("Запис не знайдено.");
  84.         }
  85.  
  86.         private void button2_Click(object sender, EventArgs e)
  87.         {
  88.             double max = 0.0;
  89.             Factory maxFactory = new Factory();
  90.  
  91.             foreach (Factory factory in list)
  92.             {
  93.                 double perevyp = ((double)factory.factProductionRate / (double)factory.plannedProductionRate * 100) - 100;
  94.  
  95.                 if (perevyp > 0)
  96.                 {
  97.                     if (max < perevyp)
  98.                     {
  99.                         max = perevyp;
  100.                         maxFactory = factory;
  101.                     }
  102.                 }
  103.             }
  104.             textBox7.Text = "Найбільший відсоток перевиконання плану у цеха " + maxFactory.name + " - " + max + "%";
  105.         }
  106.  
  107.         private void button3_Click(object sender, EventArgs e)
  108.         {
  109.             foreach (Factory factory in list)
  110.             {
  111.                 double perevyp = ((double)factory.factProductionRate / (double)factory.plannedProductionRate * 100) - 100;
  112.  
  113.                 if (perevyp < 0)
  114.                 {
  115.                     textBox6.AppendText("Цех " + factory.name + " виконав лише " + Math.Abs(perevyp) + " %");
  116.                 }
  117.             }
  118.         }
  119.     }
  120. }
RAW Paste Data