Структура и состав классов для построения модели работы гостиницы.

Автор работы: Пользователь скрыл имя, 09 Мая 2015 в 17:15, курсовая работа

Описание работы

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

Содержание работы

Введение...............................................................................................................................5 1 Структура и состав классов для построения модели работы гостиницы.
Инкапсуляция. Применение конструкторов на С#......................................................... 7
1.1 Поля и методы основного и вспомогательного классов............................................7
1.2 Реализация классов на С#............................................................................................ 8
1.3 Примеры использования объектов основного класса Otel и вспомогательного класса Nomer......................................................................................................................11
2 Перегрузка оператора +………………………………………………………………. 13
2.1 Перегрузка оператора + для объектов класса Nomer …………………………….13
2.2 Метод типа void с возвратом результата через параметр ref……………………..15
3 Создание производного класса….................................................................................17
3.1 Производный класс. Модификатор доступа protected и его использование..........17
3.2 Реализация производного класса на С#.....................................................................19
4 Абстрактные классы и виртуальные функции ............................................................23
4.1 Разработка виртуальной функции……………………………………………..........23
4.2 Вызов виртуальной функции…………… .................................................................25
4.3 Разработка абстрактного класса и создание абстрактной функции…………...…27
4.4 Создание статического метода для вспомогательного класса……………………32
5 Применение строк и исключений на языке С#............................................................34
5.1 Класс String в С#, основные методы класса…………………..................................34
5.2 Пример использования методов класса String .........................................................36
5.3 Исключения на языке С#............................................................................................34
6 Создание коллекций…………….…….……………………………………………….39
6.1 Реализация необобщённой коллекции......................................................................39
6.2 Реализация обобщённой коллекции..........................................................................42
Заключение.........................................................................................................................45
Список использованных источников ..............................................................................36
Приложение А....................................................................................................................47
Приложение Б ...................................................................................................................51
Приложение В ...................................................................................................................56
Приложение Г ...................................................................................................................61
Приложение Д....................................................................................................................70
Приложение Е ..................................................................................................................

Файлы: 1 файл

Содержани1.docx

— 511.25 Кб (Скачать файл)

            }

            s1 = s2[N - 1]+" ";

            s3 = "";

            for (i = 1; i < N - 1; i++)

            {

                s3 = s2[i];

                s1 += s3 + " ";

            }

            s1 += s2[0];

            a.sname(s1);

            a.Display();

            Console.ReadKey();

        }

    }

}

 

 

                   

Рисунок 8 – Демонстрация работы программы

 

 

using System;  // Пространство  имён 

using System.Collections.Generic;  //   Пространство имён, содержащее интерфейсы  и классы, определяющие универсальные  коллекции

using System.Linq;  // Пространство  имён, разрешающее доступ к данным  из кода

using System.Text;  // Пространство  имен, содержащее классы, представляющие  кодировки ASCII и Юникод, абстрактные  базовые классы 

 

namespace ConsoleApplication1

{

 

     //Вспомогательный класс

     class Element

    {

           private int ves; double cost;  // Вес элемента и стоимость грамма элемента

           public Exception e1 = new Exception("");  //Первое исключение

           public Exception e2 = new Exception("");  //Второе исключение

           public double Prizn;  //0-вычислено, >0 - исключение

           public void Init(int v, double c)  // Инициализация полей – вес, стоимость

          {

                ves=v;    //Присваиваем значению  поля вес элемента значение  переменной v

                cost=c;  //Присваиваем значению поля  стоимость грамма элемента значение 

                           // переменной с

          }

         // Стоимость элемента, входящего  в изделие

         public double CostElem()

         {

                double z;  //Переменная, хранящая значение стоимости элемента

                z = 0;

                try  //Блок try

               {

                    if (ves < 0)  //Если вес меньше 0

                        throw e1 = new Exception("ves<0");  //Первое исключение

                    if (cost <= 0)  //Если стоимость меньше либо равна 0

                        throw e2 = new Exception("cost<=0");  //Второе исключение

                   Prizn = 0;  //Нет исключений

                   z = ves * cost;  //Вычисление стоимости элемента

               }

               catch (Exception e1)  //Перехват первого исключения

              {

                   string s;  //Переменная для работы с иключениями

                   s = e1.Message;  //s="ves<0"

                   Console.WriteLine(s);  //Вывод строки

                   Prizn = 1;  //Первое исключение

               }

               return z;  //Возвращает стоимость элемента

        }

    }

    class Program

    {

        static void Main(string[] args)

        {

              Element a;  //Объект типа Элемент 

              a = new Element();  //Инициализация объекта а

              a.Init(-120, 28.9);  //Вызов метода объектом а

            double k = 0;

            string s;  //Переменная для работы с исключениями

            try  //Блок  try

            {

                k = a.CostElem();  //Вычисление стоимости элемента

            }

            catch (Exception e)  //Перехват второго исключения

            {

                e = a.e2;

                s = e.Message;  // s="cost<0"

                Console.WriteLine(s);  //Вывод строки

                a.Prizn = 2;  //Второе исключение

            }

            if (a.Prizn == 0)  //Если исключений нет - вывод результата

            {

                Console.WriteLine("\nСтоимость элемента: " +k.ToString());  //Вывод

                                                                                          // стоимости элемента

            }

            Console.ReadKey();  //Ожидание нажатия  символа

        }

    }

}

 

 


 

 

 

 

Рисунок 9 – Демонстрация работы программы

 

 

 

Приложение Е

 

 

Текст программы (этап №6)

 

 

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace kursYuli

{

    class Nomer

    {

        protected double stoimost;

        protected int ploshad;

        public void Display()

        {

            string s, s1;

            s1 = Convert.ToString(stoimost);

            s = "\nстоимость: " + s1 + " ";

            s1 = Convert.ToString(ploshad);

            s = s + "\nплощадь: " + s1 + " ";

            Console.WriteLine(s);

        }

        public double PrivlekNom()

        {

            return stoimost / ploshad;

        }

        public void Init(double s, int p)

        {

            stoimost = s;

            ploshad = p;

        }

 

    }

 

    class Program

    {

        static void Main(string[] args)

        {

            ArrayList one = new ArrayList();

            int a, b;

            Random n = new Random();

            for (int i = 0; i < 10; i++)

            {

                a = n.Next(200);

                b = n.Next(4);

                Nomer d = new Nomer();

                d.Init(a, b);

                one.Add(d);

            }

            int sum = 0;

            foreach (Nomer k in one)

            {

                if (k.PrivlekNom() > 50)

                {

                    sum++;

                }

            }

            Console.WriteLine("\nКоличество номеров: " + sum);

            Console.ReadKey();

        }

    }

}

 

 

                      

Рисунок 10 – Демонстрация работы программы

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace kursYuli

{

    class Nomer

    {

        protected double stoimost;

        protected int ploshad;

        public void Display()

        {

            string s, s1;

            s1 = Convert.ToString(stoimost);

            s = "\nстоимость: " + s1 + " ";

            s1 = Convert.ToString(ploshad);

            s = s + "\nплощадь: " + s1 + " ";

            Console.WriteLine(s);

        }

        public double PrivlekNom()

        {

            return stoimost / ploshad;

        }

        public void Init(double s, int p)

        {

            stoimost = s;

            ploshad = p;

        }

 

    }

 

    class Program

    {

        static void Main(string[] args)

        {

            List<Nomer> one = new List<Nomer>();

            int a, b;

            Random n = new Random();

            for (int i = 0; i < 10; i++)

            {

                a = n.Next(200);

                b = n.Next(4);

                Nomer d = new Nomer();

                d.Init(a, b);

                one.Add(d);

            }

            List<double> two = new List<double>();  // коллекция из целых чисел

            double m;

            foreach (Nomer k in one)

            {

                m = k.PrivlekNom();

                two.Add(m);                // заполнение коллекции 

            }

            int sum = 0;

            foreach (double k in two)

            {

                if (k > 50)

                {

                    sum++;

                }

            }

            Console.WriteLine("\nКоличество номеров: " + sum);

            Console.ReadKey();

        }

    }

}

                         

Рисунок 11 – демонстрация работы программы

 

 


Информация о работе Структура и состав классов для построения модели работы гостиницы.