Met_VCSharp_Forms
.pdf61
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 6 элементов типа TRAIN, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о поездах, отправляющихся в пункт, название которого введено с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по времени отправления поезда.
4-9. Дана запись с именем TRAIN, содержащая следующие поля:
∙Название пункта назначения;
∙Номер поезда;
∙Время отправления.
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа TRAIN, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о поезде, номер которого введен с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по номерам поездов.
4-10. ДаназаписьсименемMARSH, содержащаяследующиеполя:
∙Название начального пункта назначения;
∙Название конечного пункта назначения;
∙Номер маршрута.
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа MARSH, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о маршруте, номер которого введен с клавиатуры (если таких нет – вывести об этом сообщение);
62 ∙ Список должен быть упорядочен по номерам маршрутов.
4-11. Дана запись с именем MARSH, содержащая следующие поля:
∙Название начального пункта назначения;
∙Название конечного пункта назначения;
∙Номер маршрута.
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа MARSH, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о маршрутах, которые начинаются или заканчиваются в пункте, название которого введено с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по номерам маршрутов.
4-12. Дана запись с именем NOTE, содержащая следующие поля:
∙Фамилия, имя;
∙Номер телефона;
∙Дата рождения (массив из трех чисел).
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа NOTE, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о человеке, номер телефона которого введен с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по датам рождения.
4-13. Дана запись с именем NOTE, содержащая следующие поля:
∙Фамилия, имя;
∙Номер телефона;
∙Дата рождения (массив из трех чисел).
Написать программу, которая выполняет следующие действия:
63
∙Ввод с клавиатуры данных из 8 элементов типа NOTE, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о людях, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по алфавиту.
4-14. Дана запись с именем NOTE, содержащая следующие поля:
∙Фамилия, имя;
∙Номер телефона;
∙Дата рождения (массив из трех чисел).
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа NOTE, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о человеке, чья фамилия введена с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по двум первым цифрам номера телефона.
4-15. Дана запись с именем ZNAK, содержащая следующие поля:
∙Фамилия, имя;
∙Знак Зодиака;
∙Дата рождения (массив из трех чисел).
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа ZNAK, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о человеке, чья фамилия введена с клавиатуры (если таких нет – вывести об этом сообщение).
64 ∙ Список должен быть упорядочен по датам рождения.
4-16. Дана запись с именем ZNAK, содержащая следующие поля:
∙Фамилия, имя;
∙Знак Зодиака;
∙Дата рождения (массив из трех чисел).
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа ZNAK, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о людях, родившихся под знаком, название которого введено с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по датам рождения.
4-17. Дана запись с именем ZNAK, содержащая следующие поля:
∙Фамилия, имя;
∙Знак Зодиака;
∙Дата рождения (массив из трех чисел).
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа ZNAK, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о людях, родившихся в месяц, значение которого введено с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по знакам Зодиака.
4-18. Дана запись с именем PRICE, содержащая следующие поля:
∙Название товара;
∙Название магазина, в котором продается товар;
∙Стоимость товара в руб.
Написать программу, которая выполняет следующие действия:
65
∙Ввод с клавиатуры данных из 8 элементов типа PRICE, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о товаре, название которого введено с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по алфавиту названий товара.
4-19. Дана запись с именем PRICE, содержащая следующие поля:
∙Название товара;
∙Название магазина, в котором продается товар;
∙Стоимость товара в руб.
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа PRICE, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о товарах, продающихся в магазине, название которого введено с клавиатуры (если таких нет – вывести об этом сообщение);
∙Список должен быть упорядочен по алфавиту названий магазинов.
4-20. Дана запись с именем ORDER, содержащая следующие поля:
∙Расчетный счет плательщика;
∙Расчетный счет получателя;
∙Перечисляемая сумма в руб.
Написать программу, которая выполняет следующие действия:
∙Ввод с клавиатуры данных из 8 элементов типа ORDER, и занесение их в файл данных;
∙Чтение данных из файла и вывод их на экран;
∙вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры (если таких нет – вывести об этом сообщение).
66
∙ Список должен быть упорядочен по расчетным счетам плательщиков.
67
Раздел 5. Использование окон диалога
В приводимых ниже заданиях следует разработать программу с использованием окон диалога (см. пример ниже). В качестве примера приведем выполнение следующего задания:
Создать основную форму, а на ней меню с командами Input, Calc и Exit. При выборекомандыInput открываетсядиалоговоеокно. содержащее:
три поля типа TextBoxдля ввода трех сторон треугольника;
два флажка (Периметри Площадь)типа CheckBox;
кнопку типа Button.
Обеспечить возможность :
ввода длин сторон треугольника;
выбора режима с помощью флажков (подсчет периметра и/или
площади треугольника)
При выборе команды Calc открывается диалоговое окно с результатами. При выборе команды Exitприложение завершается.
68
Программный код для первой формы имеет вид: using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Text;
using System.Windows.Forms;
namespace Pavl_Lab12_v1
{
public partial class Form1 : Form
{
public double P, |
S,a,b,c; |
||||
public double |
In1 |
|
|
||
{get |
{ |
return |
P; |
} } |
|
public double |
In2 |
|
|
||
{get |
{ |
return |
S; |
} } |
public Form1()
{InitializeComponent(); }
private void menuItem1_Click(object sender, EventArgs e)
{Form2 f = new Form2();
if (f.ShowDialog() == DialogResult.OK)
{
label1.Text =label1.Text+ f.Info1; label2.Text =label2.Text+ f.Info2; label3.Text =label3.Text+ f.Info3; a = Convert.ToDouble(f.Info1);
b = Convert.ToDouble(f.Info2); c = Convert.ToDouble(f.Info3); bool p = (f.Info4);
if (p) P = a + b + c; bool s = (f.Info5); if (s)
69
{ double p1 = P / 2;
S = Math.Sqrt(p1*(p1-a)*(p1-b)*(p1-c));}
}
}
private void menuItem2_Click(object sender, EventArgs e)
{Form3 f = new Form3();
//label2 и label3 утсановлены в Public //в свойстве Modifier на Form3
//сейчас они видны в external classes //и здесь перед показом формы пропишем
//заполнение label2 и label3
f.label2.Text = Convert.ToString(In1); f.label3.Text = Convert.ToString(In2);
if (f.ShowDialog()== DialogResult.OK)
{f.Activate();
label4.Text="Периметр=" + P.ToString();
label5.Text = " Площадь=" + S.ToString();
}
}
private void menuItem3_Click(object sender, EventArgs e) { Close(); }
}
}
Программный код для второй формы таков:
public partial class Form2 : Form
{public string Info1
{ get { |
return textBox1.Text; |
} |
} |
|
|
public string Info2 |
|
|
{ get { |
return textBox2.Text; |
} |
} |
|
|
public string Info3 |
|
|
{ get { |
return textBox3.Text; |
} |
} |
|
|
public bool Info4
{ get { return checkBox1.Checked; }
}
public |
bool Info5 |
|
{ get |
{ return checkBox2.Checked ;} |
|
} |
|
|
public |
Form2() |
|
{ |
InitializeComponent(); |
|
} |
|
|
70
}
Соответственно для третьей формы программный код (кроме автоматически созданного) создавать не требуется.
5-1. Создать основную форму, а на ней меню с командами Size, Color, Paint и Quit. Команда Paint недоступна. При выборе команды Size открываетсядиалоговоеокно, содержащее:
два поля типа TextBox для ввода длин сторон прямоугольника;
три флажка (Red, Greenи Blue)типа CheckBox;
кнопку типа Button.
Обеспечить возможность :
ввода длин сторон прямоугольника в пикселах;
выбора его цвета с помощью флажков
После задания параметров команда Paint становится доступной. При выборе команды Paint в главном окне приложения выводится прямоугольник заданного размера и цвета или выдается сообщение, если введенные размеры превышают размер окна. При выборе команды Quitприложение завершается.
5-2.
Создать меню с командами Input, Work, Exit.
При выборе команды Exit приложение завершает работу. При выборе команды Input открывается диалоговое окно, содержащее:
• три поля ввода типа TextBox с метками Radius,
Height, Density;
• группу из двух флажков (Volume, Mass) типа CheckBox;
•кнопку типа Button. Обеспечить возможность:
•ввода радиуса, высоты и плотности конуса;
•выбора режима с помощью флажков: подсчет объема и/или массы конуса.
При выборе команды Work открывается окно сообщений с результатами.
5-3.
Создать меню с командами Input, Calc, Draw, Exit. При выборе команды Exit приложение завершает работу.
При выборе команды
Input открывается диалоговое окно, содержащее:
•поле ввода типа TextBox с меткой Radius;
•группу из двух флажков (Square, Length) типа
CheckBox;