Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Подготовка к работе
По указанной литературе изучить:
1. свойства компонента dataGridView.
2. создание обработчиков событий Activated, Click.
Контрольные вопросы
Задание и порядок выполнения работы
Таблица .9.1
M |
Наименование |
Задания по варианту |
Цвет столбцов |
||||
1 |
Цифровой код |
840 |
036 |
826 |
949 |
392 |
синий |
Процентная ставка |
5 |
3 |
4 |
2 |
6 |
||
2 |
Цифровой код |
208 |
840 |
980 |
978 |
756 |
зеленый |
Процентная ставка |
6 |
2 |
5 |
3 |
4 |
||
3 |
Цифровой код |
826 |
752 |
840 |
124 |
949 |
пурпурный |
Процентная ставка |
2 |
4 |
5 |
3 |
6 |
||
4 |
Цифровой код |
208 |
978 |
756 |
840 |
980 |
оранжевый |
Процентная ставка |
2 |
5 |
6 |
4 |
3 |
||
5 |
Цифровой код |
840 |
352 |
826 |
392 |
398 |
коричневый |
Процентная ставка |
4 |
5 |
3 |
6 |
2 |
||
6 |
Цифровой код |
398 |
840 |
036 |
978 |
702 |
малиновый |
Процентная ставка |
6 |
4 |
2 |
3 |
5 |
||
7 |
Цифровой код |
826 |
124 |
840 |
578 |
208 |
голубой |
Процентная ставка |
5 |
4 |
6 |
2 |
3 |
||
8 |
Цифровой код |
578 |
978 |
702 |
840 |
980 |
фуксии |
Процентная ставка |
4 |
5 |
2 |
3 |
6 |
||
9 |
Цифровой код |
840 |
960 |
826 |
756 |
978 |
индиго |
Процентная ставка |
6 |
5 |
4 |
3 |
2 |
||
10 |
Цифровой код |
702 |
840 |
392 |
978 |
124 |
лимонный |
Процентная ставка |
4 |
3 |
5 |
2 |
6 |
||
11 |
Цифровой код |
036 |
826 |
208 |
578 |
960 |
желтый |
Процентная ставка |
3 |
5 |
2 |
6 |
4 |
||
12 |
Цифровой код |
124 |
978 |
980 |
752 |
949 |
оливковый |
Процентная ставка |
3 |
2 |
4 |
5 |
6 |
Таблица 9.2
Цифровой код |
Буквенный код |
Единиц |
Валюта |
Курс* рубля |
036 |
AUD |
1 |
Австралийский доллар |
29,80 |
826 |
GBP |
1 |
Английский фунт стерлингов |
45,30 |
208 |
DKK |
10 |
Датских крон |
53,40 |
840 |
USD |
1 |
Доллар США |
27,80 |
978 |
EUR |
1 |
Евро |
39,70 |
352 |
ISK |
10 |
Исландских крон |
44,60 |
398 |
KZT |
10 |
Казахских тенге |
19,10 |
124 |
CAD |
1 |
Канадский доллар |
28,90 |
960 |
KUA |
1 |
Китайских юаней |
42,86 |
578 |
NOK |
10 |
Норвежских крон |
50,80 |
702 |
SGD |
1 |
Сингапурский доллар |
20,45 |
949 |
TRY |
1 |
Новая турецкая лира |
17,60 |
980 |
UAH |
10 |
Украинских гривен |
34,90 |
752 |
SEK |
10 |
Шведских крон |
44,36 |
756 |
CHF |
1 |
Швейцарский франк |
31,55 |
392 |
JPY |
10 |
Японских иен |
34,55 |
* Курсы иностранных валют установлены банком РФ на май 2011 г.
Таблица 9.3
N |
Найти и вывести: |
1 |
буквенный код валюты, с наибольшим курсом рубля; |
отсортировать массив в порядке возрастания комиссионного сбора; |
|
используя поиск, заданную процентную ставку; |
|
2 |
среднюю процентную ставку; |
отсортировать массив в порядке возрастания курса рубля; |
|
используя поиск, заданную сумму выдачи; |
|
3 |
наименьший комиссионный сбор банком; |
отсортировать массив в порядке возрастания суммы выдачи; |
|
используя поиск, заданный курс рубля; |
|
4 |
наибольшую сумму выдачи по заданным процентным ставкам; |
отсортировать массив в порядке возрастания процентных ставок; |
|
используя поиск, заданный комиссионный сбор; |
5 |
буквенный код валюты, с наименьшим курсом рубля; |
отсортировать массив в порядке убывания процентных ставок; |
|
используя поиск, заданный комиссионный сбор; |
|
6 |
наибольшую из заданных процентных ставок; |
отсортировать массив в порядке убывания курса рубля; |
|
используя поиск, заданную сумму выдачи; |
|
7 |
средний комиссионный сбор; |
отсортировать массив в порядке убывания суммы выдачи; |
|
используя поиск, заданный курс рубля; |
|
8 |
наибольший курс рубля по заданным процентным ставкам; |
отсортировать массив в порядке убывания комиссионного сбора; |
|
используя поиск, заданную процентную ставку; |
|
9 |
буквенный код валюты, с наибольшей суммой выдачи; |
отсортировать массив в порядке возрастания процентных ставок; |
|
используя поиск, заданный комиссионный сбор; |
|
10 |
наименьшую из заданных процентных ставок; |
отсортировать массив в порядке возрастания суммы выдачи; |
|
используя поиск, заданный курс рубля; |
|
11 |
средний комиссионный сбор; |
отсортировать массив в порядке возрастания комиссионного сбора; |
|
используя поиск, заданную сумму выдачи; |
|
12 |
среднюю процентную ставку; |
отсортировать массив в порядке убывания курса рубля; |
|
используя поиск, заданный курс рубля; |
Рис. 9.1. Заготовка интерфейса проекта «Табличное представление данных».
Рис 9.2. Окно этапа проектирования
Рис. 9.3. Интерфейс проекта «Табличное представление данных» в режиме конструирования
public Form1()
{
InitializeComponent();
dataGridView1.Rows.Add(5); //добавление 5 строк
}
ВзносРуб = Сумма для конверсии;
Комиссия = ВзносРуб * Ставка / 100;
СумВыдачи = (ВзносРуб Комиссия) / КурсРубля;
Рис. 9.4. Таблица пересчета денежных сумм в режиме запуска.
// объявление данных по варианту
string[] Valuta = { "Доллар США", "Тур лира", "Евро", "Дат. крон", "Кит UA" };
double[] Kurs = {27.80, 17.60, 39.70, 5.34, 42.86};
double[] Vznoc = new double[5];
int[] Stavka = {3, 4, 5, 2, 6};
double[] Komis = new double[5];
double[] SumR = new double[5];
// обработчик события расчета конверсии рубля
private void button2_Click(object sender, EventArgs e) // Расчет комиссионных и суммы выдачи
{
try //охраняемый блок
{
if (double.Parse(textBox1.Text) > 0) // работа только с положительными числами
{
for (int i = 0; i < 5; i++)
{
dataGridView1.Rows[i].Cells[0].Value = Valuta[i];
dataGridView1.Rows[i].Cells[1].Value = Kurs[i];
dataGridView1.Rows[i].Cells[2].Value = textBox1.Text;
Vznoc[i] = System.Convert.ToDouble(dataGridView1.Rows[i].Cells[2].Value);
dataGridView1.Rows[i].Cells[3].Value = Stavka[i];
Komis[i] = Vznoc[i] * Stavka[i] / 100;
dataGridView1.Rows[i].Cells[4].Value = Komis[i];
SumR[i] = (Vznoc[i] - Komis[i]) / Kurs[i];
dataGridView1.Rows[i].Cells[5].Value = String.Format("{0:f2}", SumR[i]);
}
}
else MessageBox.Show("Надо вводить положительные цифры ", "Ошибочный ввод данных", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
catch
{
MessageBox.Show("Надо вводить положительные цифры ", "Ошибочный ввод данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void button1_Click(object sender, EventArgs e) //Очистка столбцов от данных
{
for (int i = 0; i < 5; i++)
{
dataGridView1.Rows[i].Cells[2].Value = " ";
dataGridView1.Rows[i].Cells[4].Value = " ";
dataGridView1.Rows[i].Cells[5].Value = " ";
}
}
private void button3_Click(object sender, EventArgs e)
{
int mx = 500; int a = 300; //длина оси х и отступ для заголовка диаграммы
int x0 = 40; int y0 = 500; //начала координат
int[] h = new int[5]; //массив столбцов
int wc = 40; int dc = 25; //ширина столбцов и расстояние между столбцами
int m = 0; //номер столбца с максимальным значением
for (int i = 1; i < 5; i++)
if (SumR[i]> SumR[m]) m=i; //поиск максимального значения
for (int i = 0; i < 5; i++) //расчет столбцов диаграммы с их масштабированием
h[i] = (int)Math.Round((y0-a) * SumR[i] / SumR[m]); //нормирование высоты столбцов
Graphics g = Graphics.FromHwnd(this.Handle); // рисуем
Pen pen = Pens.Black; //карандашом черного цвета
g.DrawString("Диаграмма конверсии валют разных стран", new Font("Arial", 14),
Brushes.Red, 100, a-50); // вывод заголовка диаграммы
g.DrawLine(pen, x0, y0, x0, y0 - h[m]); //Рисуем ось Y
g.DrawLine(pen, x0, y0, x0 + mx, y0); //Рисуем ось Х
x0 = x0 + dc; //отступ первого столбца
Brush brush = Brushes.Red; // заливка столбцов
for (int i = 0; i < 5; i++) // Вывод столбцов с надписью валюты для каждого столбца
{
g.FillRectangle(brush, x0, y0 - h[i], wc, h[i]); //заливка прямоугольной области
g.DrawRectangle(pen, new Rectangle(x0, y0 - h[i], wc, h[i])); //прямоугольная область
g.DrawString(String.Format("{0:f2}", SumR[i])+" у.е.", new Font("Arial", 10), Brushes.Black,
x0, y0 - h[i] - 20); //вывод надписи над столбцами
x0 = x0 + wc + dc; //подготовка к следующему столбцу
}
}
Рис. 9.5. Проект «Табличное и графическое представление данных» в режиме запуска.
private void button4_Click(object sender, EventArgs e)
{
int x0 = 40; int y0 = 280; //начало прямоугольника
Graphics g = Graphics.FromHwnd(this.Handle);
Brush brush = Brushes.White; //заливка белого цвета
g.FillRectangle(brush, x0, y0, 510, y0 + 200); //конец прямоугольника
}