Товарисчи, задача есть - решения нет) - C#
Формулировка задачи:
В небоскребе M этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужной ему квартиры N. На какой этаж должен доставить лифт пассажира?
Вот код, который составили с Помощником моим и гидом в Шарпе. некоторые вложения мои. но программа реально без смысла. посмотрите её, пожалуйста, как изменить? чтоб ошибок не было при выводе сообщения про спуск на этаж ниже или выше. а то совсем бессмыслица, особенно в последних Мессаджах.
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs ev) { int n, m, d, n1, n2; if (!int.TryParse(textBox2.Text, out n)) { MessageBox.Show("Вы бы указали количество этажей в доме, а то долго кататься будем..."); return; } if (!int.TryParse(textBox1.Text, out m)) { MessageBox.Show("Не разрешается на лифте кататься, введите свою квартиру!"); return; } d = m / 3; n1 = d; n2 = 0; if (d % 2 == 0) { n1 = d + 1; n2 = d - 1; } if ((n1 <= 1) && (n2 >= 1)) { MessageBox.Show(string.Format("Лифт доехал до {0}-го этажа... или до {1}-го", n1, n2)); return; } if (n1 > n) { MessageBox.Show(string.Format("Лифт доехал до {0}-го этажа", n2)); return; } if (n2 < 1) { MessageBox.Show(string.Format("Лифт доехал до {0}-го этажа", n1)); } { if (n > d) MessageBox.Show("Спуститься на этаж ниже"); } { if (n <= d) MessageBox.Show("Подняться на этаж выше"); } } } }
Решение задачи: «Товарисчи, задача есть - решения нет)»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int floorCount, flatNumber, currentFloor = 0; int.TryParse(textBox1.Text, out floorCount); int.TryParse(textBox2.Text, out flatNumber); while (flatNumber <= 3*floorCount) { currentFloor = (flatNumber + 2)/3; if (currentFloor%2 > 0) MessageBox.Show("Доехал до " + currentFloor); else MessageBox.Show("Конструктор дурак, не могу на нечетных этажах останавливаться."); return; } MessageBox.Show("Высоко"); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д