Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Текст 1-ї програми

Читайте также:
  1. A) Контекстік меню көмегімен, Файл менюімен және “Бума құру” сайманымен.
  2. A. для виконання програми.
  3. A6. Какое из приведенных ниже предложений должно быть первым в этом тексте?
  4. B. частина програми, де змінна оголошена або, де до неї можна отримати доступ за допомогою операції надання видимості.
  5. Dei в контексте отношения людей к Богу или их господства над всеми
  6. Ex.21. Используя изученный грамматический и лексический материал, напишите небольшие тексты по темам, предложенным преподавателем или по изученным темам.
  7. I. Найдите слова из первой колонки в тексте и соотнесите с их значением во второй колонке.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Permit

{

class Program

{

static void Main(string[] args)

{

Creator myCreator = new Creator();

List<IDocument> forPrint = new List<IDocument>();

 

/*

myDocument = myCreator.GetDocument("Sokol");

Console.WriteLine(myDocument.GetInfoDocument());

myDocument = myCreator.GetDocument("Rozetka");

Console.WriteLine(myDocument.GetInfoDocument());

*/

 

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

forPrint.Add(myCreator.GetDocument2("Rozetka"));

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

forPrint.Add(myCreator.GetDocument2("Sokol"));

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

forPrint.Add(myCreator.GetDocument2("Foxtrot"));

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

forPrint.Add(myCreator.GetDocument2("Eldorado"));

 

foreach(IDocument tmp in forPrint)

{

Console.WriteLine(tmp.Print());

}

 

Console.ReadKey();

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Permit

{

interface IDocument

{

string Print();

}

 

class Order: IDocument

{

public string Print()

{

return "Ордер";

}

}

 

class Creator

{

private static Permit _permanentPermit = new PermanentPermit();

private static Permit _temporaryPermit = new TemporaryPermit(new DateTime(2014, 4, 15));

private static Permit _oneTimePermit = new OneTimePermit();

 

public IDocument GetDocument(string firm)

{

if (firm.ToLower() == "rozetka")

{

int key = 0;

Console.WriteLine("Тип:\n1-Постійна\n2-Тимчсова\n3-Одноразова");

while (true)

{

try

{

Console.Write("Ваш вибір: ");

key = Convert.ToInt32(Console.ReadLine());

break;

}

catch

{

continue;

}

}

 

if (key == 1)

return _permanentPermit.Clone();

else if (key == 2)

return _temporaryPermit.Clone();

else if (key == 3)

return _oneTimePermit.Clone();

}

else if (firm.ToLower() == "sokol")

return new Order();

 

return null;

}

 

public IDocument GetDocument2(string firm)

{

if (firm.ToLower() == "rozetka")

return _permanentPermit.Clone();

else if (firm.ToLower() == "eldorado")

return _temporaryPermit.Clone();

else if (firm.ToLower() == "foxtrot")

return _oneTimePermit.Clone();

else if (firm.ToLower() == "sokol")

return new Order();

 

return null;

}

}

 

abstract class Permit: IDocument

{

protected string _typeOfPermit;

 

public Permit(string type)

{

_typeOfPermit = type;

}

 

public Permit Clone()

{

Permit tmp = (Permit)this.MemberwiseClone();

return tmp;

}

 

public virtual string Print()

{

return ("Перепустка: " + _typeOfPermit);

}

}

 

//Постійна

class PermanentPermit: Permit

{

public PermanentPermit(): base("Постійна") { }

}

 

//Тимчасова

class TemporaryPermit: Permit

{

private int _validDay;

private string _validMonth;

private int _validYear;

 

public TemporaryPermit(DateTime date)

: base("Тимчасова")

{

_validDay = date.Day;

_validMonth = date.Month.ToString();

_validYear = date.Year;

}

 

public override string Print()

{

return ("Перепустка: " + _typeOfPermit + " діє до(" + _validDay + " " + _validMonth + " " + _validYear + ")");

}

}

 

//Одноразова

class OneTimePermit: Permit

{

public OneTimePermit(): base("Одноразова") { }

}

}

 

Скріншоти

 

Рис. 2 результат виконання першої програми

 

 


Дата добавления: 2015-11-14; просмотров: 30 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
UML-діаграмма класів| Текст 2-ї програми

mybiblioteka.su - 2015-2024 год. (0.007 сек.)