Загрузка данных


Вариант 1. Калькулятор стоимости товара с учётом скидки
Разработайте приложение Windows Forms для расчёта итоговой стоимости товара.
Состав интерфейса:
•	Поле для ввода цены за единицу (TextBox).
•	Поле для ввода количества единиц (TextBox).
•	Поле для ввода процента скидки (TextBox).
•	Кнопка «Рассчитать» (Button).
•	Метка (Label) для вывода итоговой суммы.
•	Метка для вывода суммы скидки отдельно.
Требования к реализации:
•	При нажатии на кнопку считать итоговую стоимость по формуле: Цена * Количество * (100 - Скидка) / 100.
•	Вывести сумму скидки и итоговую сумму.
•	Если поля не заполнены или содержат нечисловые значения, вывести сообщение об ошибке с помощью MessageBox.
•	Сброс значений не требуется.
________________________________________
 
Вариант 2. Список задач (To-Do) с сохранением в файл
Разработайте приложение для ведения списка дел.
Состав интерфейса:
•	Текстовое поле для ввода новой задачи (TextBox).
•	Кнопка «Добавить» (Button).
•	Список задач (ListBox).
•	Кнопка «Удалить выбранное» (Button).
•	Кнопка «Сохранить в файл» (Button).
•	Кнопка «Загрузить из файла» (Button).
Требования к реализации:
•	При нажатии «Добавить» текст из поля добавляется в ListBox, поле очищается.
•	При нажатии «Удалить выбранное» удаляется выбранный элемент списка.
•	При сохранении все строки из ListBox записываются в текстовый файл tasks.txt (по одной строке на задачу).
•	При загрузке файл считывается и заполняет ListBox, заменяя текущее содержимое.
•	Если файла нет при загрузке, вывести сообщение об ошибке.
________________________________________
 
Вариант 3. Анкета пользователя с выводом данных
Разработайте приложение для ввода и отображения персональных данных.
Состав интерфейса:
•	Текстовое поле для имени (TextBox).
•	Текстовое поле для возраста (TextBox).
•	Группа переключателей (RadioButton) для выбора пола («Мужской», «Женский»).
•	Выпадающий список (ComboBox) для выбора города (не менее трёх городов).
•	Флажок (CheckBox) «Согласен на обработку данных».
•	Кнопка «Показать результат» (Button).
•	Метка (Label) для вывода итоговой строки.
Требования к реализации:
•	При нажатии на кнопку сформировать строку вида: «Иван, 25 лет, мужчина, город Москва, согласие получено» или «согласие не получено».
•	Если поле имени пустое или возраст не число, вывести сообщение об ошибке.
•	Если возраст меньше 18, вывести предупреждение, но данные показать.
•	Если флажок не установлен, вывести сообщение «Без согласия данные не показаны» и не выводить анкетные данные.
________________________________________
 
Вариант 4. Конвертер валют (фиксированный курс)
Разработайте приложение для конвертации рублей в доллары и обратно.
Состав интерфейса:
•	Поле для ввода суммы (TextBox).
•	Метка с фиксированным курсом (например, 1 USD = 90 RUB) (Label).
•	Два переключателя (RadioButton): «Рубли → Доллары» и «Доллары → Рубли».
•	Кнопка «Конвертировать» (Button).
•	Метка для вывода результата.
Требования к реализации:
•	Курс задаётся константой в коде.
•	При конвертации выполняются расчёты:
o	Рубли → Доллары: сумма / курс
o	Доллары → Рубли: сумма * курс
•	Результат выводится с двумя знаками после запятой.
•	Если поле ввода пустое или содержит не число — сообщение об ошибке.
•	Добавить кнопку «Очистить поля».
________________________________________
 
Вариант 5. Генератор простых чисел в заданном диапазоне
Разработайте приложение, которое находит все простые числа в диапазоне от A до B.
Состав интерфейса:
•	Поле для ввода числа A (TextBox).
•	Поле для ввода числа B (TextBox).
•	Кнопка «Найти простые числа» (Button).
•	Область вывода (ListBox или TextBox с Multiline = true).
•	Кнопка «Очистить результат».
Требования к реализации:
•	Проверить, что A и B — целые положительные числа, причём A ≤ B. Иначе — ошибка.
•	Написать отдельный метод для проверки, является ли число простым.
•	Все простые числа от A до B включительно вывести в ListBox (по одному числу на строку).
•	Если простых чисел нет, вывести сообщение «Простых чисел не найдено».
•	Реализовать очистку результатов перед новым поиском.