Лабораторный практикум по объектно-ориентированному программированию предназначено для студентов ЧГУ факультета компьютерного дизайна. В пособии представлены задания и примеры выполнения лабораторных работ по объектно-ориентированному программированию на языке программирования вычислительного комплексаVisual Studio 2010( 2013) C#. Тематика лабораторных работ соответствует рабочей программе, написанной в соответствии со стандартом образования. Каждая работа содержит: условие задачи, алгоритм в виде блок-схем, программ на языках программирования C#, результаты вычислений и задания для выполнения лабораторных работ. Особое внимание уделено выполнению лабораторных работ по методу объектно-ориентированного программирования для Windows приложений. Обучение построено по методу параллельного изучения основ программирования на языке C#. Лабораторный практикум будет очень полезен как бакалаврам, магистрам, аспирантам и преподавателям, которые изучают основы объектно-ориентированного программирования .
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение высшего профессионального
образования «Чувашский государственный университет им. И.Н. Ульянова»
Кафедра компьютерных технологий
Вячеслав Никишев
Лабораторный практикум
по объектноориентированному
программированию ООП
12014
Печатается по решению Ученого совета Чувашского государственного
университета им. И.Н. Ульянова.
Рецензенты:
Горский А.В . доцент кафедры информатики и вычислительной техники
чувашского педагогического университета им. И.Я. Яковлева, канд. физмат. Наук,
доцент
Ю В. старший преподаватель кафедры информатики и
Григорьев
вычислительной техники чувашского педагогического университета им. И.Я.
Яковлева, канд. пед. наук,
Лабораторный практикум
по объектноориентированному
программированию
предназначено для студентов ЧГУ факультета
компьютерного дизайна. В пособии представлены задания и примеры выполнения
лабораторных работ по объектноориентированному программированию на языке
программирования вычислительного комплексаVisual Studio 2010( 2013) C#.
Тематика лабораторных работ соответствует рабочей программе, написанной в
соответствии со стандартом образования. Каждая работа содержит: условие
задачи, алгоритм в виде блоксхем, программ на языках программирования C#,
результаты вычислений и задания для выполнения лабораторных работ. Особое
внимание уделено выполнению лабораторных работ по методу объектно
ориентированного программирования для Windows приложений. Обучение
построено по методу параллельного изучения основ программирования на языке
C#. Лабораторный практикум будет очень полезен как бакалаврам, магистрам,
аспирантам и преподавателям,
которые изучают основы объектно
ориентированного программирования .
2SBN
© 2014
Предисловие
Язык программирования C# был разработан компанией Microsoft в 2000
году, как один из языков платформы .NET, где за основу была взята технология
ASP.NET и языки C++б , J ( джава). Язык программирования C# является
объектоориентированным языком, реализованным на платформе пакета
Microsoft .NET Framework .
C# (произносится СиШарп) это новый язык программирования от
компании Microsoft. Он входит в новую версию Visual Studio Visual Studio.NET.
Кроме C# в Visual Studio.NET входят Visual Basic.NET и Visual C++. Одна из
причин разработки нового языка компанией Microsoft это создание
компонентноориентированного языка для новой платформы .NET. Другие языки
были созданы до появления платформы .NET, язык же C# создавался специально
под эту платформу и не несет с собой груза совместимости с предыдущими
версиями языков. Хотя это не означает, что для новой платформы это
единственный язык.
Еще одна из причин разработки компанией Microsoft нового языка
программирования это создание альтернативы языку Java. Как известно,
реализация Java у Microsoft не была лицензионно чистой Microsoft в присущей
ей манере внесла в свою реализацию много чего от себя. Компания Sun,
владелица Java, подала на Microsoft в суд, и Microsoft этот суд проиграла. Тогда
Microsoft решила вообще отказаться от Java, и создать свой Javaподобный язык,
который и получил название C#.
Предлагаемое учебное пособие « Лабораторный практикум для языка
программирования С#.NET поможет быстрее усвоить практику работ в среде
Visual Studio 2010 и особенно разрабатывать проекты на основе метода
объектноориентированного программирования.
3Лабораторная работа 1. Тема: Структура программ на основе ООП.
Цель занятия: Изучить структуру программ на основе использования
метода объектноориентированного программирования, основные элементы
структуры ООП: классы, объекты, а также повторить основные операторы языка
программирования С#. Получить навыки работ по составлению простейших
проектов с использованием основных элементов управления и простейших
операторов..
Задачи занятия:
1. Построение словесных алгоритмов
2. Построение алгоритмов в виде блоксхем
3. Разработка программы на основе ООП с использованием классов и
объектов.
4.
Изучение и практическое усвоение сущности метода
объектноориентрованного
программирования на основе ООП
программирования
5. Оформление отчета выполненной работы, включающей : условие
задачи, алгоритм, программу и результат работы.
6. Защитить работу по знанию как теоретических , так и практических
вопросов.
Пример 1.Условие задачи: Составить алгоритм и программу Student
для ввода и вывода данных по студентам ( фамилия, имя, группа и
стипендия).
Программа должна иметь класс, объект, операторы ввода и вывода
данных. Данные вводить во время работы программы .
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication8
{
4class Program
{
class student // класс студент
{
// public string s;
public string family;// фамилия
public string name; // имя
public int year;// год рождения
public int gruppa;// группа
public void Show(student s, string family, string name, int year, int
gruppa)
{
s = new student();
// for (int i = 1; i <= n; i++)
// {
Console.WriteLine("Вывод студентов :");
Console.WriteLine( "фамилия " + " " + s.family + "\n имя
студента "
+ " " + s.name + "\n год рождения " + " " + s.year + " \n
учебная группа " + " " + s.gruppa);
// }
Console.ReadKey();
}
public void Input(student s, string family, string name, int year, int
gruppa)
{
// {
Console.WriteLine("Ввод студентов :");
// int i;
// i = 1;
//for ( i = 1; i <= n; i++)
// {
s = new student();
// Console.WriteLine("Ввод" + i.ToString() + " студента:");
Console.WriteLine("Введите фамилию :");
s.family = Console.ReadLine();
Console.WriteLine("Введите имя студента");
s.name = Console.ReadLine();
Console.WriteLine("Введите год рождения");
s.year = int.Parse(Console.ReadLine());
Console.WriteLine("Введите учебную группу");
s.gruppa = int.Parse(Console.ReadLine());
Console.ReadKey();
5Console.Clear();
// }
// }
// }
}
static void Main(string[] args)// главная функция
{
string str = "да";
while (str == "да")
{
student s = new student();// объект
Console.WriteLine("\n\n\n\n\n\n\n\n " + " Программа
Студент");
Console.WriteLine(" \n Выполнил Никишев ");
Console.ReadKey();
Console.Clear();
// Console.WriteLine("Ввод студентов :");
// Console.WriteLine("Введите количество студентов :");
// int n = int.Parse(Console.ReadLine());
// int i=1;
s = new student();
s.Input(s, s.family, s.name, s.year, s.gruppa);
// i = 1;
s = new student();
s.Show(s, s.family, s.name, s.year, s.gruppa);
Console.WriteLine("\n повторить решение (да/нет)");
str = Console.ReadLine();
Console.ReadKey();
Console.Clear();
} } } }}
6Начало
1
Титульный лист
Условие
Автор
2
3
Пробел
начало
Класс
Student
фамилия имя группа,стипендия
4
6
7
8
да
Объект
stud для студентов
Ввод данных
family, name,gruppa,solary
Выод данных
family, name,gruppa,solary
продолж
нет
выход
Лабораторная работа 1.Тема: Структура программ. Вычисление
арифметических выражений.
Условие: Разработать проект для вычисления выражения c=a+b
методом
объектноориентированного программирования.
7Консольный вариант
Цель занятия: Изучить структуру программ, основные операторы языка
для вычислений с использованием объектно
навыки работ по
программирования
ориентированного программирования ООП. Получить
составлению простейших программ в консольном варианте.
С#
1. Построение алгоритмов в виде блоксхем
2. Разработка программы в консольном варианте .
3.Разработка программы на основе основных математических операторов
1
2
3
4
5
6
7
да
начало
класс: calcul
данные: a,b,d
функция: с=
класс: titlist
тит.лист
тема
работа
автор
условие
объект. c1
объект.с
c1(calcul)
c(titlist)
вывод
титульного
листа
ввод данных
a,b,d
вычисление d
c=(a+b)/d
вывод с
повторить
нет
конец
8Прогнрамма
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
class calcul
{
public int a;
public int b;
public int c;
public void input()
{
Console.WriteLine("Введите число а.");
int a = int.Parse(Console.ReadLine());
Console.WriteLine("Вы ввели: " + a);
Console.WriteLine("Введите число b.");
int b = int.Parse(Console.ReadLine());
Console.WriteLine("Вы ввели: " + b);
}
public void show()
{
int c = a + b;
Console.WriteLine("результат с=: " + c);
}
}
static void Main(string[] args)
{
string str;
calcul cl = new calcul();
Console.WriteLine("\n\n\n\n\n\n\n\n " + " Программа
Калькулятор");
Console.WriteLine(" \n Выполнил Никишев ");
Console.ReadKey();
Console.ReadLine();
Console.Clear();
cl.input();
cl.show();
Console.WriteLine("\n нажми Enter для выхода из программы");
str = Console.ReadLine();
Console.ReadKey();
9}
}
}
Пример программы при вводе данных после главной функции
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
class calcul
{
public double a;
public double b;
public double c;
public double d;
public void show(double a,double b,double d)
{
c = a / (b+d);
// Console.WriteLine("результат с=: " + c);
// return c;
}
}
static void Main(string[] args)
{
string str;
calcul cl = new calcul();
Console.WriteLine("\n\n\n\n\n\n\n\n " + " Программа
Калькулятор");
Console.WriteLine(" \n Выполнил Никишев ");
Console.ReadKey();
Console.ReadLine();
Console.Clear();
Console.WriteLine("Введите число а.");
double a = double.Parse(Console.ReadLine());
Console.WriteLine("Вы ввели: " + a);
Console.WriteLine("Введите число b.");
double b = double.Parse(Console.ReadLine());
10Console.WriteLine("Вы ввели: " + b);
Console.WriteLine("Введите число d.");
double d = double.Parse(Console.ReadLine());
Console.WriteLine("Вы ввели: " + d);
// cl.input();
cl.show(a,b,d);
Console.WriteLine("результат с=: " + cl.c);
// clf.sum(ex).ToString()
Console.WriteLine("\n нажми Enter для выхода из программы");
str = Console.ReadLine();
Console.ReadKey();
} }}
начало
1
2
3
4
5
6
7
да
класс: calcul
данные: a,
функция: с=
Объектноориентированное
программирование
( Windows – проект)
Титульный
лист
автор
условие
меню
Основная
форма
объект. c1
c1(calcul)
ввод данных
a,b,d
edittext
вычисление d
c=(a+b)/d
вывод с
edittext
нет
повторить
11
конецusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication3
{
class Class1
{
public int a;
public int b;
public int c;
public int sum (int a,int b)
{
c=a+b;
return c;
}
}
}
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
WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Class1 cal = new Class1();
private void button2_Click(object sender, EventArgs e)
{
Close(); } }}
private void button1_Click(object sender, EventArgs e)
12{
double a = Convert.ToDouble(textBox1.Text);
double b = Convert.ToDouble(textBox2.Text);
double d = Convert.ToDouble(textBox2.Text);
Class1 cal = new Class1(a, b, d);
cal.sum(a,b,d);
textBox3.Text = textBox3.Text + " c= " + Convert.ToString(cal.c) + "\n ";
}
Программа ООП для вычисления арифметических вещественных
выражений с конструктором
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication3
{
class Class1
{
public double a;
public double b;
public double c;
public double d;
public Class1(double a, double b, double d)
{
this.a = a;
this.b = b;
this.d = d;
}
public double sum (double a,double b, double d)
{
c=(a+b)/d;
return c;
} }}
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 WindowsFormsApplication3
{
public partial class Form1 : Form
{
13public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double a = Convert.ToDouble(textBox1.Text);
double b = Convert.ToDouble(textBox2.Text);
double d = Convert.ToDouble(textBox2.Text);
Class1 cal = new Class1(a, b, d);
cal.sum(a,b,d);
textBox3.Text = textBox3.Text + " c= " + Convert.ToString(cal.c) + "\n ";
}
private void button2_Click(object sender, EventArgs e)
1
начало
{
Close();
z
2(
tg
a
2
класс: calcul
sec
1/()2
a
функция: z=(tg2a+sec2a)/(1+sina)
sin
a
данные: a,
)
}
Вычислить значение
выражения по формуле
3
4
5
6
7
да
Титульный
лист
автор
условие
ìåíþ
Основная
форма
объект. rez
rez(rezalt)
ввод данных
a
edittext
вычисление z
z=(tg2a+sec2a)/(1+sina)
вывод z
edittext
нет
повторить
14
конецusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace
WindowsFormsApplication5
{
class Class1
{
public double a;
public double z;
public Class1(double a)
{
this.a = a;
}
public double result(double a)
{
z = (Math.Sin(2 * a) / Math.Cos(2 * a) + 1 / Math.Cos(2 * a))/
(1+Math.Sin(a));
return z;
}
}
}
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 WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
15{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double a = Convert.ToDouble(textBox1.Text);
Class1 res = new Class1(a);
res.result(a);
textBox2.Text = textBox2.Text + "z= " + Convert.ToString(res.z)
+ "\n ";
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("Программу выполнил: студент группы
ДиКТ 21-09 Мишин М. Н. ©, 2012", "Информация");
}
private void button3_Click(object sender, EventArgs e)
{
Close();
} } }
Лабораторная работа 2. Тема: Вычисление суммы ряда
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
class rayd
{
public int i;
public int n;
public double s;
public double a;
// public rayd(int i,int n,double a)
// {
16// this.i=i;
// this.n =n;
// this.a=a;
// this.s=s;
// }
public void input()
{
Console.WriteLine("Введите n.");
int n = int.Parse(Console.ReadLine());
Console.WriteLine("Вы ввели: " + n);
// s = 5;
for (i = 1; i <= n; i++)
{
a = (1 + 1 / Math.Pow(i, i));
s=s + a;
//Console.WriteLine("результат S=: " + s);
}
// return (s);
}
// public void sum(int i,int n,double a)
// {
//int s=n;
//double s = 5;
// double s = 0;
// for (i = 1; i <= n; i++)
// {
// a = (1 + 1 / Math.Pow(i, i));
// s=s + a;
//Console.WriteLine("результат S=: " + s);
// }
// return (s);
//}
public void show()
{
// double s = 0;
// for (int i = 1; i <= n; i++)
// {
// a = (1 + 1 / Math.Pow(i, i));
// s = s + a;
// // Console.WriteLine("результат S=: " + s);
17// }
Console.WriteLine("результат S=: " + s);
}
}
static void Main(string[] args)
{
string str;
rayd r = new rayd();
Console.WriteLine("\n\n\n\n\n\n\n\n " + "
Программа Сумма ряда");
Console.WriteLine("\n\n\n\n " + " условие:
вычислить s=1+1/(i^i), для i=1,n ") ;
Console.WriteLine(" \n Выполнил профессор
Никишев В.К. ");
Console.ReadKey();
Console.ReadLine();
Console.Clear();
// Console.WriteLine("Введите n.");
// int n = int.Parse(Console.ReadLine());
// Console.WriteLine("Вы ввели: " + n);
r.input();
// r.sum();
r.show();
Console.WriteLine("\n нажми Enter для выхода из программы");
str = Console.ReadLine();
Console.ReadKey();
} }}
1819Тема Одномерные массивы.
Консольный вариант
Надо сделать ооп
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
String й = "Да";
while (й == "Да")
{
Console.WriteLine("\n\n\n\n\n\n\n\n " + " Одномерные
массивы ");
Console.WriteLine();
Console.WriteLine("Условие : Создать массив, получить массивы
положительных и отрицательных чисел");
Console.WriteLine();
Console.WriteLine(" Выполнил профессор Никишов В.К.");
Console.WriteLine();
Console.WriteLine();
Console.ReadKey();
Console.Clear();
// int[] для_конструктора = new int[25];
Console.WriteLine("Введите размерность массива :");
int n = int.Parse(Console.ReadLine());
int[] mas = new int[25];
int j;
20Random rnd = new Random();
string s = "";
for (int i = 0; i < n; i++)
{
mas[i] = rnd.Next(20, 20);
s = s + mas[i].ToString() + " ";
//
}
Console.WriteLine(" Исходный массив");
Console.WriteLine(s + " ");
int[] masP = new int[25];
j = 0;
s = "";
for (int i = 0; i < n; i++)
{
if (mas[i] > 0) { masP[j] = mas[i]; s = s + masP[j].ToString() + "
"; j++; }
}
Console.WriteLine(" Массив из положительных чисел");
Console.WriteLine(s + " ");
j = 0;
s = "";
for (int i = 0; i < n; i++)
{
if (mas[i] < 0) { masP[j] = mas[i]; s = s + masP[j].ToString() + "
"; j++; }
}
Console.WriteLine(" Массив из отрицательных чисел");
Console.WriteLine(s + " ");
s = "";
int[] a = new int[25];
for (int i = 0; i < n; i++)
{
s += a[i].ToString() + " ";
Console.ReadKey();
Console.WriteLine("Повторить программу ? Да/Нет ");
й = Console.ReadLine();
Console.Clear();
}
}
}
}
21}
Windows проект
Class1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication4
{
22class new_massiv
{
public int[] masP = new int[25];
public int[] masP1 = new int[25];
public int[] mas = new int[25];
public int j;
public int j1;
public int[] iznachalnii(int n, int[] mas)//генерация начального
массива
{
Random rnd = new Random();
for (int i = 1; i < n; i++)
{
mas[i] = rnd.Next(20, 20);
}
return mas;
}
public int [] polojitelnie(int n, int[] masP)//отбор массива
положительных чисел
{
// int[] masP = new int[25];
j = 1;
j1=1;
string s = "";
for (int i = 1; i <= n; i++)
{
if (mas[i] >= 0) { masP[j] = mas[i]; j++; }
else { masP1[j1] = mas[i]; j1++; };
// int k = j;
}
return masP;
// return s;
}
// public int[] otricatelnie(int n, int[] masP1)//отбор массива
отрицательных чисел
// {
//int[] masP1 = new int[25];
// int j1 = 1;
// for (int i = 1; i aray = new List();
for (int i = 0; i < list.Tables[0].Rows.Count; i++)
{
aray = list.Tables[0].Rows[i].ItemArray.ToList();
dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
}
label1.Text
=Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].
Cells[2].Value);
}
}
35private void dataGridView1_CellDoubleClick(object sender,
DataGridViewCellEventArgs e)
{
Form2 form = new
Form2(Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIn
dex].Cells[0].Value));
form.ShowDialog();
}
private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
{
Form3 form = new Form3();
form.ShowDialog();
updateDaraGrid();
}
private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
{
san.delete("sanator",
Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Ce
lls[0].Value));
updateDaraGrid();
}
private void dataGridView1_CellEnter(object sender,
DataGridViewCellEventArgs e)
{
label1.Text =
Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[2].Value);
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void поискToolStripMenuItem_Click(object sender, EventArgs e)
{
36Form7 form = new Form7();
form.ShowDialog();
dataGridView1.Rows.Clear();
list = form.srch();
if (list.Tables[0].Rows.Count != 0)
{
dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
List aray = new List();
for (int i = 0; i < list.Tables[0].Rows.Count; i++)
{
aray = list.Tables[0].Rows[i].ItemArray.ToList();
dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
}
label1.Text =
Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[2].Value);
}
}
private void button1_Click(object sender, EventArgs e)
{
updateDaraGrid();
button1.Visible = false;
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs
e)
{
Form9 form = new Form9();
form.ShowDialog();
}
private void dataGridView1_CellContentClick(object sender,
DataGridViewCellEventArgs e)
37{
}
}
}
FORM2
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 pashsan
{
public partial class Form2 : Form
{
private int id = 0;
public Form2(int ids)
{
InitializeComponent();
id = ids;
}
private void Form2_Load(object sender, EventArgs e)
{/*
baza san = new baza();
DataSet onesan = new DataSet();
onesan = san.selectSan(id);
List aray = new List();
if (onesan.Tables[0].Rows.Count != 0)
{
aray = onesan.Tables[0].Rows[0].ItemArray.ToList();
label1.Text = Convert.ToString(aray[1]);
label2.Text = Convert.ToString(aray[2]);
}
DataSet list = new DataSet();
dataGridView1.Rows.Clear();
list = san.listImages(id);
38if (list.Tables[0].Rows.Count != 0)
{
dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
for (int i = 0; i < list.Tables[0].Rows.Count; i++)
{
aray = list.Tables[0].Rows[i].ItemArray.ToList();
dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
}
pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
dataGridView1.Rows[0].Cells[1].Value;
}
* */
updateDaraGrid();
}
private void button1_Click(object sender, EventArgs e)
{
}
private void updateDaraGrid()
{
baza san = new baza();
DataSet onesan = new DataSet();
onesan = san.selectSan(id);
DataSet pricesan = new DataSet();
pricesan = san.listPrice(id);
List aray = new List();
aray = onesan.Tables[0].Rows[0].ItemArray.ToList();
List aray1 = new List();
label1.Text = Convert.ToString(aray[1]);
label2.Text = Convert.ToString(aray[2]);
DataSet list = new DataSet();
dataGridView1.Rows.Clear();
dataGridView2.Rows.Clear();
list = san.listImages(id);
if (list.Tables[0].Rows.Count != 0)
39{
dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
for (int i = 0; i < list.Tables[0].Rows.Count; i++)
{
aray = list.Tables[0].Rows[i].ItemArray.ToList();
dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(i);
}
pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
dataGridView1.Rows[0].Cells[1].Value;
}
if (pricesan.Tables[0].Rows.Count != 0)
{
dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);
// aray = list.Tables[0].Rows[i].ItemArray.ToList();
for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
{
aray1 = pricesan.Tables[0].Rows[i].ItemArray.ToList();
dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray1[0]);
dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray1[1]);
dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray1[2]);
}
}
}
private void dataGridView1_CellEnter(object sender,
DataGridViewCellEventArgs e)
{
try
{
pictureBox1.Image = null;
int tmp = dataGridView1.CurrentCell.RowIndex;
pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
Convert.ToString(dataGridView1.Rows[tmp].Cells[1].Value);
}
40catch
{
}
}
private void изменитьToolStripMenuItem_Click(object sender, EventArgs e)
{
Form4 form = new Form4(id);
form.ShowDialog();
updateDaraGrid();
}
private void фотографииToolStripMenuItem_Click(object sender, EventArgs
e)
{
Form4 form = new Form4(id);
form.ShowDialog();
updateDaraGrid();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void услугиToolStripMenuItem1_Click(object sender, EventArgs e)
{
Form5 form = new Form5(id);
form.ShowDialog();
updateDaraGrid();
}
private void закрытьToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
41}
}
FORM3
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 pashsan
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
baza san = new baza();
san.insertSan(textBox1.Text,richTextBox1.Text);
this.Close();
42}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form3_Load(object sender, EventArgs e)
{
}
}
FORM4
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;
using System.IO;
namespace pashsan
{
public partial class Form4 : Form
{
43private string name = "";
private string path = "";
private int id = 0;
private bool ch;
baza san = new baza();
public Form4(int ids)
{
InitializeComponent();
id = ids;
}
private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
{
string copyTo="";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
if (openFileDialog1.FileName != null)
{
FileInfo pic = new FileInfo(openFileDialog1.FileName);
copyTo = Application.StartupPath + "\\img\\" +
openFileDialog1.FileName.Remove(0,
openFileDialog1.FileName.LastIndexOf("\\") + 1);
path = openFileDialog1.FileName.Remove(0,
openFileDialog1.FileName.LastIndexOf("\\") + 1);
pic.CopyTo(copyTo);
}
dataGridView1.Rows.Add(1);
dataGridView1.Rows[dataGridView1.Rows.Count 1].Cells[0].Value
= dataGridView1.Rows.Count*1;
dataGridView1.Rows[dataGridView1.Rows.Count 1].Cells[1].Value
= path;
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original
error: " + ex.Message);
}
44}
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value) < 0)
san.insertPicturs(Convert.ToString(dataGridView1.Rows[i].Cells[1].Value), id);
}
this.Close();
}
private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
{
if
(Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[0].Value) > 0)
{
san.delete("pic",
Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Ce
lls[0].Value));
}
dataGridView1.Rows.Remove(dataGridView1.Rows[dataGridView1.CurrentCell.
RowIndex]);
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form4_Load(object sender, EventArgs e)
{
baza san = new baza();
DataSet onesan = new DataSet();
List aray = new List();
DataSet list = new DataSet();
dataGridView1.Rows.Clear();
45list = san.listImages(id);
if (list.Tables[0].Rows.Count != 0)
{
dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
for (int i = 0; i < list.Tables[0].Rows.Count; i++)
{
aray = list.Tables[0].Rows[i].ItemArray.ToList();
dataGridView1.Rows[i].Cells[0].Value =
Convert.ToString(aray[0]);
dataGridView1.Rows[i].Cells[1].Value =
Convert.ToString(aray[1]);
}
pictureBox1.ImageLocation = Application.StartupPath + "\\img\\" +
dataGridView1.Rows[0].Cells[1].Value;
}
}
private void dataGridView1_CellEnter(object sender,
DataGridViewCellEventArgs e)
{
try
{
pictureBox1.Image = null;
int tmp = dataGridView1.CurrentCell.RowIndex;
pictureBox1.ImageLocation = Application.StartupPath + "\\img\\" +
Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[1].Value);
}
catch
{
}
}
private void menuStrip1_ItemClicked(object sender,
ToolStripItemClickedEventArgs e)
{
}
46private void pictureBox1_Click(object sender, EventArgs e)
{
} }}}
FORM5
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 pashsan
{
public partial class Form5 : Form
{
int id = 0;
public Form5(int idp)
{
InitializeComponent();
id = idp;
}
private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
{
baza san = new baza();
47san.delete("price",
Convert.ToInt32(dataGridView2.Rows[dataGridView2.CurrentCell.RowIndex].Ce
lls[0].Value));
}
private void Form5_Load(object sender, EventArgs e)
{
baza san = new baza();
DataSet pricesan = new DataSet();
pricesan = san.listPrice(id);
List aray = new List();
DataSet list = new DataSet();
dataGridView2.Rows.Clear();
if (pricesan.Tables[0].Rows.Count != 0)
{
dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);
aray = pricesan.Tables[0].Rows[0].ItemArray.ToList();
for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
{
aray = pricesan.Tables[0].Rows[i].ItemArray.ToList();
dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
}
}
}
private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
{
Form6 form = new Form6(id);
form.ShowDialog();
baza san = new baza();
DataSet pricesan = new DataSet();
pricesan = san.listPrice(id);
List aray = new List();
DataSet list = new DataSet();
dataGridView2.Rows.Clear();
if (pricesan.Tables[0].Rows.Count != 0)
48{
dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);
aray = pricesan.Tables[0].Rows[0].ItemArray.ToList();
for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
{
aray = pricesan.Tables[0].Rows[i].ItemArray.ToList();
dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void dataGridView2_CellContentClick(object sender,
DataGridViewCellEventArgs e)
{
}
}
}
49FORM6
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 pashsan
{
public partial class Form6 : Form
{
int id = 1;
public Form6(int idp)
{
InitializeComponent();
id = idp;
}
private void button1_Click(object sender, EventArgs e)
{
baza price = new baza();
price.insertPrice(textBox1.Text, Convert.ToInt32(textBox2.Text), id);
50this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form6_Load(object sender, EventArgs e)
{
}
}
}
FORM7
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 pashsan
{
public partial class Form7 : Form
{
public string srchstr = "";
public Form7()
{
InitializeComponent();
}
51private void button1_Click(object sender, EventArgs e)
{
srchstr = textBox1.Text;
this.Close();
}
public DataSet srch()
{
baza pic = new baza();
return pic.search("sanator", srchstr);
}
private void Form7_Load(object sender, EventArgs e)
{
} }}
Form
{
public Form8()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form1 form = new Form1();
this.Hide();
form.ShowDialog();
this.Close();
}
private void label1_Click(object sender, EventArgs e)
{
52
FORM8
amespace
pashsan
{
public partial
class Form8 :}
private void
Form8_Load(object sender, EventArgs e)
{
}
}
}
FORM9
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 pashsan
{
public partial class Form9 : Form
{
public Form9()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form9_Load(object sender, EventArgs e)
{
53}
private void label1_Click(object sender, EventArgs e)
{
}
}
}
PROGRAMM
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace pashsan
{
static class Program
{
///
/// Главная точка входа для приложения.
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form8());
}
}
}
Оглавление
2.Введение…………........................................... 5
Лабораторная работа №1
Тема: Структура программ…………………….
2.1 Лабораторная работа №2 .......................... 5
Тема: Вычисление арифметических выражений.
2.2 Лабораторная работа №2
Тема: Вычисление суммы ряда…………….. 10
2.3 Лабораторная работа № 3.
Тема: Вычисление арифметического
54выражения и суммы ряда…………………... 14
2.4 Лабораторная работа №4.
Тема: Вычисление произведения ряда
и суммы ряда с заданной точностью………. .21
2.5Лабораторная работа №5
Тема: Одномерные массивы …………................26
2.6 Лабораторная работа №6.
Тема: Двумерные массивы.Window ..................29
2.7 Лабораторная работа №7.
2.8 Тема: Одномерные символьные массивы . 32
2.9 Лабораторная работа №8.
2.10
2.9 Лабораторная работа №10.
2.10
2.11
Тема: Графика...............................................42
Лабораторная работа №10 .
Тема: Файлы. Window ..................37
Тема: Построение графика и таблицы
значений функции y=f(x) … …...........................46
2.12
Лабораторная работа №11.
Тема: Выбор и построение графика функции....50
2.13 Лабораторная работа №14
Тема: Классы и объекты. Ввод и вывод с помощью
55