Главная страница
Навигация по странице:

  • «КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ ИМЕНИ И.Т. ТРУБИЛИНА» Факультет прикладной информатикиКафедра системного анализа и обработки информацииКУРСОВОЙ ПРОЕКТ

  • Выполнил

  • Приложение в c++

  • гобах есам. Курсовой проект по дисциплине Алгоритмизация и программирование


    Скачать 0.52 Mb.
    НазваниеКурсовой проект по дисциплине Алгоритмизация и программирование
    Дата26.05.2022
    Размер0.52 Mb.
    Формат файлаdocx
    Имя файлагобах есам.docx
    ТипКурсовой проект
    #551754

    МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ

    Федеральное государственное бюджетное образовательное учреждение

    высшего образования

    «КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ ИМЕНИ И.Т. ТРУБИЛИНА»
    Факультет прикладной информатики
    Кафедра системного анализа и обработки информации

    КУРСОВОЙ ПРОЕКТ

    по дисциплине «Алгоритмизация и программирование»
    Программирование приложения ведения БД «ресторан»
    Направление подготовки: 09.03.03 Информационные системы и технологии
    Направленность: Информационные системы и технологии
    Выполнил:
    Гобах Есам Абдо

    Группы ПИ1902
    Руководитель: Иванова Е. А.
    _______________ФИО

    подпись
    Дата защиты_________
    _________

    Оценка
    _____________

    ФИО
    ____________ подпись

    Краснодар

    2020

    содержание


    ВВЕДЕНИЕ 3

    ГЛАВА 1. АНАЛИЗ И ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 4

    1.1 Описание предметной области 4

    1.2 Анализ предметной области 5

    ГЛАВА 2. РАЗРАБОТКА ПРОГРАММЫ 10

    ЗАКЛЮЧЕНИЕ 16

    ЛИТЕРАТУРА 18

    ПРИЛОЖЕНИЕ 19


    ВВЕДЕНИЕ


    Ресторан – место, обсуживающее людей, предоставление своих услуг в сфере обслуживания людей, имеющее меню, доставку продукции до места положения человека.

    Целью курсовой работы является создание программы по работе с базой данных ресторана. Основой программы является автоматическая работа с базой данной ресторана. Задачами программы являются:

    Создание даталогической модели БД Ресторана;

    Создание приложения по работе с локальной БД;

    Создание аналогичной БД на сервере MySQL;

    Создание приложения о работе с БД клиент-сервера архитектуры.

    Производится просмотр общих продуктов и людей, заказывающих их. Вся информация записывается в базу данных.

    Курсовая работа содержит две главы, включающая параграфы, которые составляют её объём, равный 18 страницам. Также имеется Введение, Заключение и список Литературы. В данной работе представлено десять рисунков и семь литературных источников [2].

    Первая глава – “ Анализ и описание предметной области ”, посвященная описанию даталогической модели БД Ресторана, решению поставленной задачи.

    Вторая глава – “ Визуальное представление” приводится подробное описание работы программы, приводятся рисунки её визуального представления. В главе описывается: свойства окна, объекты формы.

    Информация, внесённая в таблицы должна быть полной, не допускается ввод пустых значений [1].

    ГЛАВА 1. АНАЛИЗ И ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ




    1.1 Описание предметной области



    Ресторан - организация, производящая доставку людям продуктов на дом. В этой организации ведётся статистический учёт данных заказов и изготовления. Эти учеты помогают правильно рассчитать количественную и качественную стороны деятельности ресторана.

    Для обеспечения оперативности введения информации статистического учёта данных, необходима автоматизированная система, основанная на современной базе данных. Используя базу данных и автоматизированную систему, существенно сокращает время статистического учета заказов и выполнения.

    В базе данных ресторана содержится информация о продукции, осуществляемой доставкой, фамилии заказчиков, адреса их местоположения.

    Вся информация хранится в соответствующих таблицах. Произведя поиск по ключевому полю таблицы, которая содержит данные фамилию заказчиков можно узнать следующую информацию:

    Адрес местоположения;

    Телефон заказчика;

    Стоимость доставки;

    Доставляемую продукцию.

    Таблица "Eit” содержит информацию о Цене, Объеме и Себестоимости, Заказанных Блюдах. Таблица “Dostavka” содержит информацию о Фамилии, Адресе, Телефоне заказчика и Стоимость доставки заказчику. Таблица “Zakazy” содержит информацию о Фамилии, Дате заказа и о заказанном Блюде. Все данные содержаться в БД. Между таблицами существует связь типа 1:1, которая является обязательной. Таблицы “Eit” и “Zakazy” связаны по полю Блюда. Таблицы “Zakazy” и “Dostavka” связаны по ключевому полю Фамилия. Первичным ключом является поле Фамилия Заказчика, в которой не должно быть похожих записей. Таблицы связаны клиент-серверами.[3].


    Рисунок 1.1 – Инфологическая модель БД

    1.2 Анализ предметной области



    Для того чтобы разработать программную систему, приносящую реальные выгоды определенным пользователям, необходимо сначала выяснить, какие же задачи она должна решать для этих людей и какими свойствами обладать.

    Требования к ПО определяются, какие свойства и характеристики оно должно иметь для удовлетворения потребностей пользователей и других заинтересованных лиц. Однако сформулировать требования к сложной системе не так легко. В большинстве случаев будущие пользователи могут перечислить набор свойств, который они хотели бы видеть, но никто не даст гарантий, что это — исчерпывающий список. Кроме того, часто сама формулировка этих свойств будет непонятна большинству программистов: могут прозвучать фразы типа "должно использоваться и частотное, и временное уплотнение каналов", "передача клиента должна быть мягкой", "для обычных швов отмечайте бригаду, а для доверительных — конкретных сварщиков", и это еще не самые тяжелые для понимания примеры.

    Чтобы ПО было действительно полезным, важно, чтобы оно удовлетворяло реальные потребности людей и организаций, которые часто отличаются от непосредственно выражаемых пользователями желаний. Для выявления этих потребностей, а также для выяснения смысла высказанных требований приходится проводить достаточно большую дополнительную работу, которая называется анализом предметной области или бизнес-моделированием, если речь идет о потребностях коммерческой организации. В результате этой деятельности разработчики должны научиться понимать язык, на котором говорят пользователи и заказчики, выявить цели их деятельности, определить набор задач, решаемых ими. В дополнение стоит выяснить, какие вообще задачи нужно уметь решать для достижения этих целей, выяснить свойства результатов, которые хотелось бы получить, а также определить набор сущностей, с которыми приходится иметь дело при решении этих задач. Кроме того, анализ предметной области позволяет выявить места возможных улучшений и оценить последствия принимаемых решений о реализации тех или иных функций.

    После этого можно определять область ответственности будущей программной системы — какие именно из выявленных задач будут ею решаться, при решении каких задач она может оказать существенную помощь и чем именно. Определив эти задачи в рамках общей системы задач и деятельностей пользователей, можно уже более точно сформулировать требования к ПО.

    Анализом предметной области занимаются системные аналитики или бизнес-аналитики, которые передают полученные ими знания другим членам проектной команды, сформулировав их на более понятном разработчикам языке. Для передачи этих знаний обычно служит некоторый набор моделей, в виде графических схем и текстовых документов.

    Анализ деятельности крупной организации, такой как банк, с сетью региональных отделений, нефтеперерабатывающий завод или компания, производящая автомобили, дает огромные объемы информации. Из этой информации надо уметь отбирать существующие, а также уметь находить в ней пробелы — области деятельности, информации по которым недостаточно для четкого представления о решаемых задачах. Значит, всю получаемую информацию надо каким-то образом систематизировать. Для систематизации сбора информации о больших организациях и дальнейшей разработки систем, поддерживающих их деятельность, применяется схема Рахмана (автор — John Zachman, [1,2]) или архитектурная схема предприятия.


    Рисунок 1.2 - Схема Захмана
    Приведены примеры моделей для отдельных клеток. В основе схемы Захмана лежит следующая идея: деятельность даже очень большой организации можно описать, используя ответы на простые вопросы — зачем, кто, что, как, где и когда — и разные уровни рассмотрения. Обозначенные 6 вопросов определяют 6 аспектов рассмотрения.

    Цели организации и базовые правила, по которым она работает.

    Персонал, подразделения и другие элементы организационной структуры, связи между ними.

    Сущности и данные, с которыми имеет дело организация.

    Выполняемые организацией и различными ее подразделениями функции и операции над данными.

    Географическое распределение элементов организации и связи между географически разделенными ее частями.

    Временные характеристики и ограничения на деятельность организации, значимые для ее деятельности события.

    Также выделены несколько уровней рассмотрения, из которых при бизнес-моделировании особенно важны три верхних:

    Самый крупный — уровень организации в целом, рассматриваемой в ее развитии совместно с окружением, уровень общего планирования ее деятельности. Этот уровень содержит долговременные цели и задачи организации как цельной системы, основные связи организации с внешним миром и основные виды ее деятельности.

    Уровень бизнеса, на котором организация рассматривается во всех аспектах как отдельная сущность, имеющая определенную структуру, которая соответствует ее основным задачам.

    Системный уровень, на котором определяются концептуальные модели всех аспектов организации, без привязки к конкретным их воплощениям и реализациям, например, логическая модель данных в виде набора сущностей и связей между ними, логическая архитектура системы автоматизации в виде набора узлов с привязанными к ним функциями и пр.

    Наиболее удобной формой представления информации при анализе предметной области являются графические диаграммы различного рода. Они позволяют достаточно быстро зафиксировать полученные знания, быстро восстанавливать их в памяти и успешно объясняться с заказчиками и другими заинтересованными лицами. Набросать рисунок из прямоугольников и связывающих их стрелок обычно можно гораздо быстрее, чем записать соответствующий объем информации, и на рисунке за один взгляд видно гораздо больше, чем в тексте.

    ГЛАВА 2. РАЗРАБОТКА ПРОГРАММЫ



    Основной целью курсовой работы является создание графического отображения данных Ресторана из MySQL в среде Microsoft Visual C#.

    Входной информацией является БД, которая загружается из внешнего источника, или создаётся локально. Данные БД отображаются в виде таблиц или итоговых полей, которые создаются посредством операций агрегирования. В базе данных можно производить поиск, добавление, редактирование и удаление данных. Добавляемые данные в таблицы пользователем не должны содержать пустых значений. Данные в таблицах можно сортировать и осуществлять поиск информации, как по ключевому полю, так и по остальным полям. Данный проект написан на языке C# в среде Microsoft Visual C# 2008. Программа состоит из 7 форм, содержащие процедуры, функции, основные компоненты, необходимые для надёжной работы программы. Формы включают специальные компоненты, предназначенные для визуального представления программы.

    Визуальное представление

    Работа программы начинается с открытия главного окна (рисунок 2.1).l



    Рисунок 2.1 – Главное окно

    Главное меню (рисунок 2.1) состоит из пунктов: “Таблицы”, “Переход на таблицы MySQL” и “Выхода”. При переходе по пункту “Таблицы” главного меню, открывается подменю, которое служит для мгновенного перехода на другие формы, чтобы просмотреть базу данных. При переходе по вкладке “Выход” заканчивается работа программы. При переходе по пункту “Переход на таблицы MySQL” главного меню, открывается подменю, которое служит для мгновенного перехода на другие формы, чтобы просмотреть Sql-базу данных. По вкладки “Показать таблицы” отображаются таблицы с базами данных:


    Рисунок 2.2 – Таблица “Eit” БД


    Рисунок 2.3 – Таблица “Dostavka” БД



    Рисунок 2.4 – Таблица “Zakazy” БД


    Рисунок 2.5 – Общая таблица БД
    По кнопки поиск появляется панель с элементами, по которым производится поиск, данный из базы данных.



    Рисунок 2.6 – Поиск в Общей БД

    По кнопки “Найти” производится поиск данный, и выводятся данный из таблицы. Также, при отображении Общей таблице появляется кнопка Редактирования, при нажатии которой отображается панель, на которую производится Добавление, Редактирование, Удаление данных в БД. Вводится Фамилия, Адрес, Телефон, Стоимость Доставки, Время Заказа, Заказанное Блюдо. В случае, отсутствия такой фамилии в БД, занесенные данные добавляются в БД Ресторана.



    Рисунок 2.7 – Добавление данных в БД

    При попытке добавления фамилии имеющейся в таблице, выводится сообщение “ Запись Ivanov уже существует, заменить все данные?”. Нажав кнопку ОК, данные имеющиеся в БД изменятся по ключевому полю “Фамилия”.


    Рисунок 2.8 – Измененные данные в таблице

    По нажатию кнопки Удалить, удаляются конкретные данные по ключевому полю Фамилия из БД.



    Рисунок 2.9 – Таблица с удаленными данными

    ЗАКЛЮЧЕНИЕ



    Данная работа заключалась в разработке программы по обработке данных из БД Ресторана.

    Главной задачей было автоматизация работы оператора. Рассматривались общие показатели учета. Вся информация записывалась в БД и в дальнейшем могла быть использоваться, обрабатываться, редактироваться.

    За время выполнения курсовой работы, был подобран материал из литературных источников и проведён анализ.

    Широко известные методы проектирования баз данных (БД) появились в процессе разработки все более сложных Информационных Систем (ИС), которые должны были рассматривать потребности не одного пользователя, но больших групп и коллективов. Одна такая интегрированная БД создавалась для решения многих задач, каждая из которых использовала только "свою" часть данных, обычно, пересекающуюся с частями, используемыми в других задачах. Поэтому главнейшими методами проектирования стали методы исключения избыточности в данных. Эти методы связывались с другими средствами обеспечения логической целостности данных.

    Было сформулировано принципиальное требование отделения программ от интегрированных данных. Этот принцип направлен на отчуждение данных в качестве ресурса предприятия, важен также тем, что консервативные по характеру данные отделялись от прикладных программ, которые могли часто подвергаться изменениям.

    Другой важной проблемой проектирования БД явилось обеспечение нужных эксплуатационных параметров, таких как объем внешней памяти или время выполнения различных операций [8].

    Были выполнены все задачи, поставленные в курсовой работе «Ресторан».

    ЛИТЕРАТУРА





    1. Гейм А.Г. ОсновЫ. информатики и вычислительной техники / A.Г.Гейн. -1-е изд. 2003. -100 с.

    2. Еженедельное приложение к газете “Первое сентября”. M., 2008.

    3. Касаткин В.Н. Информация, алгоритмы, ЭВМ. М.: Просвещение, 2005.

    4. Что такое информатика. Каныгин Ю. М и др., 2004.-100 с.

    5. Извозчиков В.А. Информатика в понятиях и терминах: Учебное пособие. - M.: Издательство Аванта, 2007. 654 c.

    6. Л.З. Шауцуков. Основы информатики в вопросах и ответах: Методическое пособие. – М., 2006.

    7. Левитин A.Н. Введение алгоритмов в разработку и анализ/ A.Н Левитин. – 1-е изд., перераб. и доп.- М., 2006. 80 с.

    8. http://citforum.ru/database/kbd96/41.shtml



    ПРИЛОЖЕНИЕ



    Исходный код программы

    Основные подпрограммы

    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 MySql.Data.MySqlClient;

    namespace WindowsFormsApplication1

    {

    public partial class Form7 : Form

    {

    public Form7()

    {

    InitializeComponent();

    }

    private void Form7_Load(object sender, EventArgs e)

    {

    gl.Connect.ConnectionString = "DataBase=cafe; Data Source=localhost; user Id=root; Password = '111'";

    gl.cmd.Connection = gl.Connect;

    gl.Connect.Open();

    }

    private void button2_Click(object sender, EventArgs e)

    {

    string s = "select dostavka.fio,adres,tel,dostavka,zakazy.time,bluda " +

    "from dostavka,zakazy " +

    "where dostavka.fio=zakazy.fio";

    string s0 = "", s1 = "", s2 = "", s3 = "", s4 = "", s5 = "";

    if (checkBox1.Checked)

    {

    s0 = " and dostavka.fio= '"+textBox1.Text+" '";

    }

    if (checkBox2.Checked) {

    s0 = " and dostavka.adres= '"+textBox2.Text+"'";

    }

    if (checkBox3.Checked)

    {

    s2 = " and dostavka.tel= " + textBox3.Text + "";

    }

    if(checkBox4.Checked)

    {

    s3 = " and dostavka.dostavka= " + textBox4.Text + "";

    }

    if (checkBox5.Checked)

    {

    s4 = " and zakazy.time= '" + textBox5.Text + "'";

    }

    if (checkBox6.Checked)

    {

    s5 = " and zakazy.bluda= '" + textBox6.Text + "'";

    }

    s = s + s0 + s1 + s2 + s3 + s4 + s5;

    s = s + ";";

    gl.cmd.CommandText = s;

    int i;

    gl.MDR = gl.cmd.ExecuteReader();

    gl.DB = new DataSet();

    gl.t1 = gl.DB.Tables.Add("cafe");

    if (gl.t1 == null)

    {

    gl.t1 = gl.DB.Tables.Add("cafe");

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i), gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    }

    else

    {

    gl.t1.Clear();

    }

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i),

    gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    while (gl.MDR.Read())

    {

    gl.r = gl.t1.NewRow();

    for (i = 0; i < gl.MDR.FieldCount; i++)

    gl.r[i] = gl.MDR.GetString(i);

    gl.t1.Rows.Add(gl.r);

    }

    mySqlDataReaderBindingSource.DataSource = gl.t1;

    if (mySqlDataReaderDataGridView.Columns.Count != 0)

    { mySqlDataReaderDataGridView.Columns.Clear(); };

    {

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    mySqlDataReaderDataGridView.Columns.Add(gl.MDR.GetName(i), gl.MDR.GetName(i));

    mySqlDataReaderDataGridView.Columns[i].DataPropertyName = gl.t1.Columns[i].ToString();

    }

    }

    gl.MDR.Close();

    }

    private void Form7_FormClosed(object sender, FormClosedEventArgs e)

    {

    gl.Connect.Close();

    Application.Exit();

    }

    private void выходToolStripMenuItem_Click(object sender, EventArgs e)

    {

    Application.Exit();

    }

    private void button3_Click(object sender, EventArgs e)

    {

    gl.cmd.CommandText = "insert into dostavka values ('" + textBox1.Text + "','" + textBox2.Text + "'," + textBox3.Text + "," + textBox4.Text + ");";

    gl.cmd.ExecuteNonQuery();

    gl.cmd.CommandText = "insert into zakazy values ('" + textBox1.Text + "','2010-12-20 22:12:55','" + textBox6.Text + "' );";

    gl.cmd.ExecuteNonQuery();

    this.общаяToolStripMenuItem1_Click(sender, e);

    }

    private void доставкаToolStripMenuItem_Click(object sender, EventArgs e)

    {

    gl.cmd.CommandText = "Select*from dostavka";

    int i;

    gl.MDR = gl.cmd.ExecuteReader();

    gl.DB = new DataSet();

    gl.t1 = gl.DB.Tables.Add("cafe");

    if (gl.t1 == null)

    {

    gl.t1 = gl.DB.Tables.Add("cafe");

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i), gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    }

    else

    {

    gl.t1.Clear();

    }

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i),

    gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    while (gl.MDR.Read())

    {

    gl.r = gl.t1.NewRow();

    for (i = 0; i < gl.MDR.FieldCount; i++)

    gl.r[i] = gl.MDR.GetString(i);

    gl.t1.Rows.Add(gl.r);

    }

    mySqlDataReaderBindingSource.DataSource = gl.t1;

    if (mySqlDataReaderDataGridView.Columns.Count != 0)

    { mySqlDataReaderDataGridView.Columns.Clear(); };

    {

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    mySqlDataReaderDataGridView.Columns.Add(gl.MDR.GetName(i), gl.MDR.GetName(i));

    mySqlDataReaderDataGridView.Columns[i].DataPropertyName = gl.t1.Columns[i].ToString();

    }

    }

    gl.MDR.Close();

    }

    private void едаToolStripMenuItem1_Click(object sender, EventArgs e)

    { gl.cmd.CommandText = "Select*from eit";

    int i;

    gl.MDR = gl.cmd.ExecuteReader();

    gl.DB = new DataSet();

    gl.t1 = gl.DB.Tables.Add("cafe");

    if (gl.t1 == null)

    {

    gl.t1 = gl.DB.Tables.Add("cafe");

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i), gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    }

    else

    {

    gl.t1.Clear();

    }

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i),

    gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    while (gl.MDR.Read())

    { gl.r = gl.t1.NewRow();

    for (i = 0; i < gl.MDR.FieldCount; i++)

    gl.r[i] = gl.MDR.GetString(i);

    gl.t1.Rows.Add(gl.r);

    }

    mySqlDataReaderBindingSource.DataSource = gl.t1;

    if (mySqlDataReaderDataGridView.Columns.Count != 0)

    { mySqlDataReaderDataGridView.Columns.Clear(); };

    {

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    mySqlDataReaderDataGridView.Columns.Add(gl.MDR.GetName(i), gl.MDR.GetName(i));

    mySqlDataReaderDataGridView.Columns[i].DataPropertyName = gl.t1.Columns[i].ToString();

    }

    }

    gl.MDR.Close();

    }

    private void доставкаToolStripMenuItem1_Click(object sender, EventArgs e)

    {

    gl.cmd.CommandText = "Select*from dostavka";

    int i;

    gl.MDR = gl.cmd.ExecuteReader();

    gl.DB = new DataSet();

    gl.t1 = gl.DB.Tables.Add("cafe");

    if (gl.t1 == null)

    {

    gl.t1 = gl.DB.Tables.Add("cafe");

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i), gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    }

    else

    {

    gl.t1.Clear();

    }

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i),

    gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    while (gl.MDR.Read())

    {

    gl.r = gl.t1.NewRow();

    for (i = 0; i < gl.MDR.FieldCount; i++)

    gl.r[i] = gl.MDR.GetString(i);

    gl.t1.Rows.Add(gl.r);

    }

    mySqlDataReaderBindingSource.DataSource = gl.t1;

    if (mySqlDataReaderDataGridView.Columns.Count != 0)

    { mySqlDataReaderDataGridView.Columns.Clear(); };

    {

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    mySqlDataReaderDataGridView.Columns.Add(gl.MDR.GetName(i), gl.MDR.GetName(i));

    mySqlDataReaderDataGridView.Columns[i].DataPropertyName = gl.t1.Columns[i].ToString();

    }

    }

    gl.MDR.Close();

    }

    private void заказыToolStripMenuItem1_Click(object sender, EventArgs e)

    { gl.cmd.CommandText = "Select * from zakazy";

    int i;

    gl.MDR = gl.cmd.ExecuteReader();

    gl.DB = new DataSet();

    gl.t1 = gl.DB.Tables.Add("cafe");

    if (gl.t1 == null)

    {

    gl.t1 = gl.DB.Tables.Add("cafe");

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i), gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    }

    else

    {

    gl.t1.Clear();

    }

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i),

    gl.MDR.GetFieldType(i));

    gl.t1.Columns.Add(gl.col);

    }

    while (gl.MDR.Read())

    { gl.r = gl.t1.NewRow();

    for (i = 0; i < gl.MDR.FieldCount; i++)

    gl.r[i] = gl.MDR.GetString(i);

    gl.t1.Rows.Add(gl.r);

    }

    mySqlDataReaderBindingSource.DataSource = gl.t1;

    if (mySqlDataReaderDataGridView.Columns.Count != 0)

    { mySqlDataReaderDataGridView.Columns.Clear(); };

    {

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    mySqlDataReaderDataGridView.Columns.Add(gl.MDR.GetName(i), gl.MDR.GetName(i));

    mySqlDataReaderDataGridView.Columns[i].DataPropertyName = gl.t1.Columns[i].ToString();

    }

    }

    gl.MDR.Close();

    }

    private void общаяToolStripMenuItem1_Click(object sender, EventArgs e)

    {

    button1.Visible = true;

    button4.Visible = true;

    string s = "select dostavka.fio,adres,tel,dostavka,zakazy.time,bluda " +

    "from dostavka,zakazy " +

    "where dostavka.fio=zakazy.fio;";

    gl.cmd.CommandText = s;

    int i;

    gl.MDR = gl.cmd.ExecuteReader();

    gl.DB = new DataSet();

    gl.t2 = gl.DB.Tables.Add("cafe");

    if (gl.t2 == null)

    {

    gl.t2 = gl.DB.Tables.Add("cafe");

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i), gl.MDR.GetFieldType(i));

    gl.t2.Columns.Add(gl.col);

    }

    }

    else

    {

    gl.t2.Clear();

    }

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    gl.col = new DataColumn(gl.MDR.GetName(i),

    gl.MDR.GetFieldType(i));

    gl.t2.Columns.Add(gl.col);

    } while (gl.MDR.Read())

    {

    gl.r = gl.t2.NewRow();

    for (i = 0; i < gl.MDR.FieldCount; i++)

    gl.r[i] = gl.MDR.GetString(i);

    gl.t2.Rows.Add(gl.r);

    }

    mySqlDataReaderBindingSource.DataSource = gl.t2;

    if (mySqlDataReaderDataGridView.Columns.Count != 0)

    { mySqlDataReaderDataGridView.Columns.Clear(); };

    {

    for (i = 0; i < gl.MDR.FieldCount; i++)

    {

    mySqlDataReaderDataGridView.Columns.Add(gl.MDR.GetName(i), gl.MDR.GetName(i));

    mySqlDataReaderDataGridView.Columns[i].DataPropertyName = gl.t2.Columns[i].ToString();

    }

    }

    gl.MDR.Close();

    }

    private void mySqlDataReaderDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)

    {

    int n;

    n = mySqlDataReaderDataGridView.CurrentCell.RowIndex;

    textBox1.Text = mySqlDataReaderDataGridView.Rows[n].Cells[0].Value.ToString();

    textBox2.Text = mySqlDataReaderDataGridView.Rows[n].Cells[1].Value.ToString();

    textBox3.Text = mySqlDataReaderDataGridView.Rows[n].Cells[2].Value.ToString();

    textBox4.Text = mySqlDataReaderDataGridView.Rows[n].Cells[3].Value.ToString();

    textBox5.Text = mySqlDataReaderDataGridView.Rows[n].Cells[4].Value.ToString();

    textBox6.Text = mySqlDataReaderDataGridView.Rows[n].Cells[5].Value.ToString();

    }

    private void button1_Click(object sender, EventArgs e)

    {

    button2.Visible = true;

    button3.Visible = false;

    button5.Visible = false;

    panel1.Visible = true;

    checkBox1.Visible = true;

    checkBox2.Visible = true;

    checkBox3.Visible = true;

    checkBox4.Visible = true;

    checkBox5.Visible = true;

    checkBox6.Visible = true;

    button4.Visible = true;

    label1.Visible = false;

    }

    private void button4_Click(object sender, EventArgs e)

    {

    button3.Visible = true;

    button5.Visible = true;

    button2.Visible = false;

    panel1.Visible = true;

    checkBox1.Visible = false;

    checkBox2.Visible = false;

    checkBox3.Visible = false;

    checkBox4.Visible = false;

    checkBox5.Visible = false;

    checkBox6.Visible = false;

    label2.Visible = true;

    label1.Visible = false;

    }

    private void поискToolStripMenuItem_Click(object sender, EventArgs e)

    {

    this.Close();

    }

    private void button5_Click(object sender, EventArgs e)

    {

    gl.cmd.CommandText = "delete from dostavka where dostavka.fio='" + textBox1.Text + "';";

    gl.cmd.ExecuteNonQuery();

    gl.cmd.CommandText = "delete from zakazy where zakazy.fio='" + textBox1.Text + "';";

    gl.cmd.ExecuteNonQuery();

    this.общаяToolStripMenuItem1_Click(sender, e);

    }

    }

    }

    public static class gl

    {

    public static MySql.Data.MySqlClient.MySqlConnection Connect = new MySql.Data.MySqlClient.MySqlConnection();

    public static MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand();

    public static MySqlDataReader MDR;

    public static DataSet DB;

    public static DataTable t1;

    public static DataTable t2;

    public static DataColumn col;

    public static DataRow r;

    }

    Приложение в c++
    // ConsoleApplication10.cpp : Defines the entry point for the console application.

    //

     

    #include "stdafx.h"

    #include

     

    #include

     

    #include

    using namespace std;

     

    int main() {

        setlocale(LC_ALL, "rus");

        string divider = "******";

     

        int snack, side, hot, exit, choice, snackNum = 0, sideNum = 0, hotNum = 0;

     

        double snackPrice = 11.99, sidePrice = 4.99, hotPrice = 1.99, salesTax = 0.06, total;

     

        cout << divider;

        cout << "\n\nTakeout Menu"

     

            << "\n\n1)Холодные закуски"

     

            << "\n2)Первые блюда"

     

            << "\n3)Горячие блюда:"

     

            << "\n4)Exit menu";

     

        cout << "\n\nYour choice (1-4)? ";

     

        cin >> choice;

     

        cout << "\n";

     

        cout << divider;

     

        do {

     

            switch (choice) {

     

            case 1:

     

                int carpachoL, carpachoC, tartar, cheese, snackChoice;

     

                cout << "\n\n1)Карпаччо из лосося"

     

                    << "\n2)Карпаччо из телятины"

     

                    << "\n3)Тартар из тигровых креветок"

     

                    << "\n4)Сырное плато";

     

                cout << "\n\nWhich type of snack? ";

     

                cin >> snackChoice;

     

                switch (snackChoice) {

     

                case 1:

     

                    cout << "\nСколько порций карпаччо из лосося вы желаете? ";

     

                    cin >> snackNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                case 2:

     

                    cout << "\nСколько порций карпаччо из телятины вы желаете? ";

     

                    cin >> snackNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                case 3:

     

                    cout << "\nСколько порций тартара из тигровых криветок вы желаете? ";

     

                    cin >> snackNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                case 4:

     

                    cout << "\nСколько порций сырного плато вы желаете?";

     

                    cin >> snackNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                default:

     

                    cout << snackNum << " is not a valid character!";

     

                    int carpachoL, carpachoC, tartar, cheese, snackChoice;

     

                    cout << "\n\n1)Карпаччо из лосося"

     

                        << "\n2)Карпаччо из телятины"

     

                        << "\n3)Тартар из тигровых креветок"

     

                        << "\n4)Сырное плато";

     

                    cout << "\n\nСделайте выбор ";

     

                    cin >> snackChoice;

     

                    cout << "\n" << divider;

     

                    break;

     

                }

     

                cout << "\n\nTakeout Menu"

                    << "\n\nTakeout Menu"

     

                    << "\n\n1)Холодные закуски"

     

                    << "\n2)Первые блюда"

     

                    << "\n3)Горячие блюда:"

     

                    << "\n4)Exit menu";

     

                cout << "\n\nYour choice (1-4)? ";

     

                cin >> choice;

     

                cout << "\n";

     

                cout << divider;

     

                break;

     

            case 2:

     

                int tom, soup, tai, borshch, sideChoice;

     

                cout << "\n\n1) Том-ям с креветками"

     

                    << "\n2) Суп из перепелки с итальянской лапшой"

     

                    << "\n3) Тайский суп с курицей и креветками"

     

                    << "\n4) Зеленый борщ из телятины";

     

                cout << "\n\nКакие  первые блюда вы желаете? ";

     

                cin >> sideChoice;

     

                switch (sideChoice) {

     

                case 1:

     

                    cout << "\nСколько порций Том-яма с креветкаи вы желаете?";

     

                    cin >> sideNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                case 2:

     

                    cout << "\nСколько порций Супа из перепелки с итальянской лапшой вы желаете? ";

     

                    cin >> sideNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                case 3:

     

                    cout << "\nСколько порций тайского супа вы желаете? ";

     

                    cin >> sideNum;

                    cout << "\n" << divider;

     

                    break;

     

                case 4:

     

                    cout << "\nСколько порций зеленого борща с телятины вы желаете? ";

     

                    cin >> sideNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                default:

     

                    cout << sideNum << " is not a valid character!";

     

                    int carpachoL, carpachoC, tartar, cheese, snackChoice;

     

                    cout << "\n\n1) Том-ям с креветками"

     

                        << "\n2) Суп из перепелки с итальянской лапшой"

     

                        << "\n3) Тайский суп с курицей и креветками"

     

                        << "\n4) Зеленый борщ из телятины";

     

                    cout << "\n\nКакие первые блюда вы желаете? ";

     

                    cin >> sideChoice;

     

                    cout << "\n" << divider;

     

                    break;

     

                }

     

                cout << "\n\nTakeout Menu"

     

                    << "\n\nTakeout Menu"

     

                    << "\n\n1)Холодные закуски"

     

                    << "\n2)Первые блюда"

     

                    << "\n3)Горячие блюда:"

     

                    << "\n4)Exit menu";

     

                cout << "\n\nYour choice (1-4)? ";

     

                cin >> choice;

     

                cout << "\n";

     

                cout << divider;

     

                break;

     

            case 3:

     

                int kambala, semga, ytka, telatina, hotChoice;

     

                cout << "\n\n1) Камбала во фритюре по-японски"

     

                    << "\n2) Семга гриль с печеными овощами"

     

                    << "\n3) Утка по-турецки"

     

                    << "\n4) Телятина под соусом « Четыре сыра";

     

                cout << "\n\nКакие горячие блюда вы желаете? ";

     

                cin >> hotChoice;

     

                switch (hotChoice) {

     

                case 1:

     

                    cout << "\nСколько порций камбалы во фритюре по -японски вы желаете? ";

     

                    cin >> hotNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                case 2:

     

                    cout << "\nСколько порций семги гриль с овощами вы желаете? ";

     

                    cin >> hotNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                case 3:

     

                    cout << "\nСколько порций утки по-пекински вы желаете";

     

                    cin >> hotNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                case 4:

     

                    cout << "\nСколько порций телтины под соусом четыри сыра вы желаете? ";

     

                    cin >> hotNum;

     

                    cout << "\n" << divider;

     

                    break;

     

                default:

     

                    cout << hotNum << " is not a valid character!";

     

                    int kambala, semga, ytka, telatina, hotChoice;

     

     

                    cout << "\n\n1) Камбала во фритюре по-японски"

     

                        << "\n2) Семга гриль с печеными овощами"

     

                        << "\n3) Утка по-турецки"

     

                        << "\n4) Телятина под соусом « Четыре сыра";

     

                    cout << "\n\nКакие горячие блюда вы желаете? ";

     

                    cin >> hotChoice;

     

                    cout << "\n" << divider;

     

                    break;

     

                }

     

                cout << "\n\nTakeout Menu"

     

                    << "\n\nTakeout Menu"

     

                    << "\n\n1)Холодные закуски"

     

                    << "\n2)Первые блюда"

     

                    << "\n3)Горячие блюда:"

     

                    << "\n4)Exit menu";

     

                cout << "\n\nYour choice (1-4)? ";

     

                cin >> choice;

     

                cout << "\n";

     

                cout << divider;

     

                break;

     

            case 4:

     

                cout << "\n\nFine, we don't want your business anyways!";

     

                break;

     

            default:

     

                cout << "\n\n" << choice << " is not a valid choice. Please enter 1-4.\n\n";

     

                cout << divider;

     

                cout << "\n\nTakeout Menu"

     

                    << "\n\nTakeout Menu"

     

                    << "\n\n1)Холодные закуски"

     

                    << "\n2)Первые блюда"

     

                    << "\n3)Горячие блюда:"

     

                    << "\n4)Exit menu";

     

                cout << "\n\nYour choice (1-4)? ";

     

                cin >> choice;

     

                cout << "\n";

     

                cout << divider;

     

                break;

     

            }

     

        } while (choice != 4);

     

        if (choice == 4) {

     

            cout << "\n\nORDER SUMMARY\n";

     

            if (snackNum != 1) {

     

                cout << "\n" << snackNum << "snacks";

     

            }

     

            else {

     

                cout << "\n" << snackNum << " snack";

     

            }

     

            if (sideNum != 1) {

     

                cout << "\n" << sideNum << " sides";

     

            }

     

            else {

     

                cout << "\n" << sideNum << " side";

     

            }

     

            if (hotNum != 1) {

     

                cout << "\n" << hotNum << " hots\n\n";

     

            }

     

            else {

     

                cout << "\n" << hotNum << " hot\n\n";

     

            }

     

            cout << "PRICE SUMMARY";

     

            snackPrice = snackPrice * snackNum;

     

            sidePrice = sidePrice * sideNum;

     

            hotPrice = hotPrice * hotNum;

     

            total = (snackPrice + sidePrice + hotPrice);

     

            salesTax = total * salesTax;

     

            cout << "\n\nPrice of items: $" << setprecision(2) << fixed << total;

     

            total = total + salesTax;

     

            cout << "\nTax of items: $" << setprecision(2) << fixed << salesTax;

     

            if (total > 100) {

     

                cout << "\n------"

     

                    << "\n|Total price: $" << setprecision(2) << fixed << total << "|\n"

     

                    << "------\n\n";

     

            }

     

            else if (total > 10 && total < 100) {

     

                cout << "\n------"

     

                    << "\n|Total price: $" << setprecision(2) << fixed << total << "|\n"

     

                    << "------\n\n";

     

            }

     

            else if (total < 10) {

     

                cout << "\n------"

     

                    << "\n|Total price: $" << setprecision(2) << fixed << total << "|\n"

     

                    << "------\n\n";

     

            }

     

        }

     

        cout << divider << "\n\n";

     

    }



    написать администратору сайта