Студопедия

Главная страница Случайная страница

Разделы сайта

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






Листинг






 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Collections;

 

namespace Библеотеченые_интерфейсы

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

class MyInt: IEnumerable, IEnumerator

{

int[] ints = {150};

int index = -1;

 

// Реализуем интерейс IEnumerable

public IEnumerator GetEnumerator()

{

return this;

}

 

// Реализуем интерфейс IEnumerator

public bool MoveNext()

{

if (index == ints.Length - 1)

{

Reset();

return false;

}

 

index++;

return true;

}

 

public void Reset()

{

index = -1;

}

 

public object Current

{

get

{

return ints[index];

}

}

}

private void button1_Click(object sender, EventArgs e)

{

MyInt mi = new MyInt();

richTextBox1.Text = " Общее кол-во авто в магазине ";

foreach (int i in mi)

richTextBox1.Text += i.ToString();

richTextBox1.Text += " \n";

}

 

private void Form1_Load(object sender, EventArgs e)

{

 

}

 

class AutoShop

{

public string CarName { set; get; }

public int MaxSpeed { get; set; }

public double Cost { get; set; }

public byte Discount { get; set; }

public int ID { get; set; }

 

public AutoShop() { }

public AutoShop(string CarName, int MaxSpeed, double Cost, byte Discount, int ID)

{

this.CarName = CarName;

this.MaxSpeed = MaxSpeed;

this.Cost = Cost;

this.Discount = Discount;

this.ID = ID;

}

 

public override string ToString()

{

return String.Format(" {4}\tМарка: {0}\tМакс. скорость: {1}\tЦена: {2: C}\tСкидка: {3}%",

this.CarName, this.MaxSpeed, this.Cost, this.Discount, this.ID);

}

}

 

class CompInv< T>: IComparer< T>

where T: AutoShop

{

// Реализуем интерфейс IComparer< T>

public int Compare(T x, T y)

{

if (x.Cost < y.Cost)

return -1;

if (x.Cost > y.Cost)

return 1;

else return 0;

}

}

 

private void button2_Click(object sender, EventArgs e)

{

CompInv< AutoShop> cp = new CompInv< AutoShop> ();

List< AutoShop> dic = new List< AutoShop> ();

 

// Создадим множество автомобилей

AutoShop[] autoArr = new AutoShop[5];

dic.Add(new AutoShop(" Toyota Corolla", 180, 300000, 5, 1));

dic.Add(new AutoShop(" VAZ 2114i ", 160, 220000, 0, 2));

dic.Add(new AutoShop(" Daewoo Nexia ", 140, 260000, 5, 3));

dic.Add(new AutoShop(" Honda ", 220, 400000, 7, 4));

dic.Add(new AutoShop(" Audi R8 Best ", 360, 420000, 3, 5));

 

//Console.WriteLine(" Исходный каталог автомобилей: \n");

//Console.WindowWidth = 100;

foreach (AutoShop a in dic)

{

richTextBox2.Text += a.ToString();

richTextBox2.Text += " \n";

}

 

//Console.WriteLine(" \nТеперь автомобили отсортированны по стоимости: \n");

//

//foreach (AutoShop a in dic)

// Console.WriteLine(a);

dic.Sort(cp);

foreach (AutoShop a in dic)

{

richTextBox3.Text += a.ToString();

richTextBox3.Text += " \n";

}

}

 

 

public class Employee: ICloneable

{

public string Name;

public string Title;

public int Kol;

 

public Employee(string name, string title, int kol)

{

Name = name;

Title = title;

Kol = kol;

}

 

public object Clone()

{

return MemberwiseClone();

}

 

public override string ToString()

{

return string.Format(" {0} ({1}) - Кол-во {2}", Name, Title, Kol);

}

}

 

public class EmployeeList: ICloneable

{

public List< Employee> EmployeeListMembers = new List< Employee> ();

 

public EmployeeList()

{

}

 

private EmployeeList(List< Employee> members)

{

foreach (Employee e in members)

{

EmployeeListMembers.Add((Employee)e.Clone());

}

}

 

public void AddMember(Employee member)

{

EmployeeListMembers.Add(member);

}

 

public override string ToString()

{

StringBuilder str = new StringBuilder();

 

foreach (Employee e in EmployeeListMembers)

{

str.AppendFormat(" {0}\r\n", e);

}

 

return str.ToString();

}

 

public object Clone()

{

return new EmployeeList(this.EmployeeListMembers);

}

}

 

private void button3_Click(object sender, EventArgs e)

{

EmployeeList team = new EmployeeList();

team.AddMember(new Employee(" BMW", " AA", 4));

team.AddMember(new Employee(" AUDI", " BB", 8));

team.AddMember(new Employee(" VAZ", " CC", 8));

 

EmployeeList clone = (EmployeeList)team.Clone();

 

//Console.WriteLine(" Оригинал");

//Console.WriteLine(team);

 

richTextBox4.Text += " оригинал" + " \n" + team + " клон" + " \n" + clone;

 

//onsole.WriteLine(" Клон: ");

//nsole.WriteLine(clone);

 

 

//Console.WriteLine(" Сделаем изменения в оригинальном списке");

team.EmployeeListMembers[1].Name = textBox1.Text;

team.EmployeeListMembers[0].Title = textBox2.Text;

team.EmployeeListMembers[0].Kol = 100;

 

//Console.WriteLine(" Оригинальный список: ");

// Console.WriteLine(team);

 

// Console.WriteLine(" Клонированный список: ");

// Console.WriteLine(clone);

// Console.ReadLine();

richTextBox5.Text += " оригинал" + " \n" + team + " клон" + " \n" + clone;

 

}

 

private void label5_Click(object sender, EventArgs e)

{

 

}

 

private void richTextBox1_TextChanged(object sender, EventArgs e)

{

 

}

}

}

 

 


Заключение

В ходе разработки курсового проекта на тему «Разработка приложения с использованием стандартных интерфейсов» было разработано приложение «Автомагазин». Разработанное приложение имеет как плюсы, так и минусы. К плюсам можно отнести приятный и легкодоступный интерфейс приложения, функциональность приложения, наглядная реализация стандартных интерфейсов. К недостаткам можно отнести не реализацию всех стандартных интерфейсов, так как их огромное количество.

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

В настоящее время Windows Form имеют очень широкое значение в большинстве программ. Windows Forms облегчает работу простого пользователя с программой. Это делает работу с программой более комфортной и простой.

 


 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.