public void OMovementPositiveTest(double amplitude, double frequency, double phase, double time) { var obj = new OscillatingMovement(amplitude, frequency, phase, time); Assert.AreEqual(obj.Amplitude, amplitude); Assert.AreEqual(obj.Frequency, frequency); Assert.AreEqual(obj.Phase, phase); Assert.AreEqual(obj.Time, time); }
private void movementDataGrid_CellClick(object sender, DataGridViewCellEventArgs e) { int i = movementDataGrid.CurrentRow.Index; if (MovementList[i] is UniformMovement) { UniformMovement obj = (UniformMovement)MovementList[i]; objectControl.SetValue(obj); } else if (MovementList[i] is AccelerationMovement) { AccelerationMovement obj = (AccelerationMovement)MovementList[i]; objectControl.SetValue(obj); } else if (MovementList[i] is OscillatingMovement) { OscillatingMovement obj = (OscillatingMovement)MovementList[i]; objectControl.SetValue(obj); } }
public void SetValue(OscillatingMovement obj) { textBox1.Text = Convert.ToString(obj.Time); label2.Text = "Амплитуда"; textBox2.Text = Convert.ToString(obj.Amplitude); label3.Text = "Частота"; textBox3.Text = Convert.ToString(obj.Frequency); label4.Text = "Фаза"; textBox4.Text = Convert.ToString(obj.Phase); label5.Text = "Значение функции"; textBox5.Text = Convert.ToString(obj.FuncValue); label1.Visible = true; label2.Visible = true; label3.Visible = true; label4.Visible = true; label5.Visible = true; textBox1.Visible = true; textBox2.Visible = true; textBox3.Visible = true; textBox4.Visible = true; textBox5.Visible = true; }
static void Main(string[] args) { string select; Console.WriteLine("Программа вычисления движения.\n"); Console.WriteLine("1. Равномерное движение;"); Console.WriteLine("2. Равноускоренное движение;"); Console.WriteLine("3. Колебательное движение;"); Console.WriteLine("0. Выход.\n"); Console.Write("Введите команду: "); select = Console.ReadLine(); switch (select) { // Равномерное движение. case "1": { double inputSpeed; double inputTime; Console.WriteLine(); Console.WriteLine("Выбран расчет равномерного" + " движения."); do { Console.Write("Введите скорость (в км/ч): "); inputSpeed = Convert.ToDouble(Console.ReadLine()); if (inputSpeed <= 0) { Console.WriteLine("Ошибка. Неверно задан" + " параметр."); } } while (inputSpeed <= 0); do { Console.Write("Введите время (в сек): "); inputTime = Convert.ToInt32(Console.ReadLine()); if (inputTime <= 0) { Console.WriteLine("Ошибка. Неверно задан" + " параметр."); } } while (inputTime <= 0); UniformMovement obj = new UniformMovement(inputSpeed, inputTime); Console.WriteLine("Выбрана скорость {0} км/ч." + " и время {1} сек.", inputSpeed, inputTime); Console.WriteLine("\nРезультаты расчета:"); Console.WriteLine("Расстояние = {0:##.###} м", obj.Calculation()); break; } // Равноускоренное движение. case "2": { double inputAccel; int inputTime; Console.WriteLine(); Console.WriteLine("Выбран расчет равноускоренного" + " движения."); do { Console.Write("Введите ускорение (в м/с^2): "); inputAccel = Convert.ToDouble(Console.ReadLine()); if (inputAccel <= 0) { Console.WriteLine("Ошибка. Неверно задан" + " параметр."); } } while (inputAccel <= 0); do { Console.Write("Введите время (в сек): "); inputTime = Convert.ToInt32(Console.ReadLine()); if (inputTime <= 0) { Console.WriteLine("Ошибка. Неверно задан" + " параметр."); } } while (inputTime <= 0); AccelerationMovement obj = new AccelerationMovement(inputAccel, inputTime); Console.WriteLine("Выбрано ускорение {0} м/с^2." + " и время {1} сек.", inputAccel, inputTime); Console.WriteLine("\nРезультаты расчета:"); Console.WriteLine("Растояние = {0:##.###} м", obj.Calculation()); break; } // Колебательное движение. case "3": { double inputAmplitude; double inputFrequency; double inputPhase; int inputTime; Console.WriteLine(); Console.WriteLine("Выбран расчет колебательного" + " движения."); do { Console.Write("Введите значение амплитуды: "); inputAmplitude = Convert.ToDouble(Console.ReadLine()); if (inputAmplitude <= 0) { Console.WriteLine("Ошибка. Неверно задан" + " параметр."); } } while (inputAmplitude <= 0); do { Console.Write("Введите время (в сек): "); inputTime = Convert.ToInt32(Console.ReadLine()); if (inputTime <= 0) { Console.WriteLine("Ошибка. Неверно задан" + " параметр."); } } while (inputTime <= 0); Console.Write("Введите значение частоты: "); inputFrequency = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение фазы: "); inputPhase = Convert.ToDouble(Console.ReadLine()); OscillatingMovement obj = new OscillatingMovement( inputAmplitude, inputFrequency, inputPhase, inputTime); Console.WriteLine("Выбраны следующие параметры:"); Console.WriteLine("Амплитуда: {0}\t Частота: {1}\t" + " Фаза: {2}", inputAmplitude, inputFrequency, inputPhase, inputTime); Console.WriteLine("\nРезультаты расчета:"); Console.WriteLine("Координата Y = {0}", obj.Calculation()); break; } // Выход. case "0": { Console.WriteLine("Выход из программы."); break; } default: { Console.WriteLine("Ошибка."); break; } } Console.Read(); }
/// <summary> /// Метод, обрабатывающий нажатие кнопки "Рассчитать". /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { // Если выбрано равномерное движение. // if (UniformMovementRadio.Checked) { // Обработка ошибок. // if ((textBox1.Text == "") || (textBox2.Text == "")) { MessageBox.Show("Один или оба поля пусты.", "Ошибка"); } else if (Convert.ToDouble(textBox2.Text) <= 0) { MessageBox.Show("Скорость не может иметь отрицательное" + " значение или равняться 0.", "Ошибка"); } else if (Convert.ToInt32(textBox1.Text) <= 0) { MessageBox.Show("Время не может иметь отрицательное" + " значение или равняться 0.", "Ошибка"); } // Реализация расчета. // else { MainMovementForm main = this.Owner as MainMovementForm; UniformMovement obj = new UniformMovement(Convert.ToDouble(textBox2.Text), Convert.ToInt32(textBox1.Text)); main.MovementList.Add(obj); Close(); } } // Если выбрано равноускоренное движение. // else if (AccelerationMovementRadio.Checked) { // Обработка ошибок. // if ((textBox1.Text == "") || (textBox2.Text == "")) { MessageBox.Show("Один или оба поля пусты.", "Ошибка"); } else if (Convert.ToDouble(textBox2.Text) <= 0) { MessageBox.Show("Ускорение не может иметь" + " отрицательное значение или" + " равняться нулю.", "Ошибка"); } else if (Convert.ToInt32(textBox1.Text) <= 0) { MessageBox.Show("Время не может иметь" + " отрицательное значение" + " или равняться 0.", "Ошибка"); } // Реализация расчета. // else { MainMovementForm main = this.Owner as MainMovementForm; AccelerationMovement obj = new AccelerationMovement( Convert.ToDouble(textBox2.Text), Convert.ToInt32(textBox1.Text)); main.MovementList.Add(obj); Close(); } } // Если выбрано колебательное движение. // else if (OscillatingMovementRadio.Checked) { // Обработка ошибок. // if ((textBox1.Text == "") || (textBox2.Text == "") || (textBox3.Text == "") || (textBox4.Text == "")) { MessageBox.Show("Все поля обязательны для заполнения.", "Ошибка"); } else if (Convert.ToInt32(textBox1.Text) <= 0) { MessageBox.Show("Время не может иметь отрицательное" + " значение или равняться 0.", "Ошибка"); } // Реализация расчета. // else { MainMovementForm main = this.Owner as MainMovementForm; OscillatingMovement obj = new OscillatingMovement( Convert.ToDouble(textBox2.Text), Convert.ToDouble(textBox3.Text), Convert.ToDouble(textBox4.Text), Convert.ToInt32(textBox1.Text)); main.MovementList.Add(obj); Close(); } } }