MainForm.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. namespace calculator
  11. {
  12. public partial class MainForm : Form
  13. {
  14. public MainForm()
  15. {
  16. InitializeComponent();
  17. }
  18. /// <summary>
  19. /// Клик кнопки, вычисляющей ответ
  20. /// </summary>
  21. /// <param name="sender"></param>
  22. /// <param name="e"></param>
  23. private void btnCalculate_Click(object sender, EventArgs e)
  24. {
  25. double x, y, z;
  26. // Считываем данные
  27. try
  28. {
  29. x = double.Parse(tbInputX.Text);
  30. y = double.Parse(tbInputY.Text);
  31. z = double.Parse(tbInputZ.Text);
  32. } catch (FormatException)
  33. {
  34. MessageBox.Show("Убедитесь, что во всех полях указаны числа в правильном формате!");
  35. return;
  36. }
  37. // Вычисляем ответ
  38. double Output = 0.00d;
  39. try
  40. {
  41. Output += Math.Pow(2, Math.Pow(y, x));
  42. Output += Math.Pow(Math.Pow(3, x), y);
  43. Output -= (y * (Math.Atan(z) - Math.PI / 6)) / (Math.Abs(x) + 1 / (y * y + 1));
  44. } catch (DivideByZeroException)
  45. {
  46. MessageBox.Show("При вычислении ответа необходимо делить на 0!");
  47. return;
  48. }
  49. // Выводим ответ в lblAnswer
  50. lblAnswer.Visible = true;
  51. lblAnswer.Text = Convert.ToString(Output);
  52. }
  53. /// <summary>
  54. /// Метод загрузки главной формы
  55. /// </summary>
  56. /// <param name="sender"></param>
  57. /// <param name="e"></param>
  58. private void MainForm_Load(object sender, EventArgs e)
  59. {
  60. lblAnswer.Visible = false;
  61. }
  62. }
  63. }