Конструирование программ и языки программирования

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 21.04.2016
Размер файла 72,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Учреждение образования

“Белорусский государственный университет информатики и радиоэлектроники” филиал “Минский Радиотехнический Колледж”

Конструирование программ и языки программирования

Контрольная работа №1

Вежновец Анжелика Сергеевна

Проверил преподаватель: М.А. Бельчик

Минск 2016

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

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

Создать производные классы: Вкладчик (фамилия, дата открытия вклада, размер вклада, процент по вкладу), Кредитор (фамилия, дата выдачи кредита, размер кредита, процент по кредиту, остаток долга), Организация (название, дата открытия счета, номер счета, сумма на счету) со своими методами вывода информации на экран, и определения соответствия дате (открытия вклада, выдаче кредита, открытия счета).

Создать базу (массив) из n клиентов, вывести полную информацию из базы на экран, а также организовать поиск клиентов, начавших сотрудничать с банком в заданную дату.

Разработаем приложение WinForm. Для хранения информации о клиентах банка используем коллекцию List<>. Для занесения и вывода информации разработаем кнопочный интерфейс главной формы приложения, с полем для вывода информации. Для запроса информации о разных клиентах банка используем специально сроозданные диалоговые окна.

Ввод данных:

Просмотр всех записей:

Просмотр клиентов с конкретной датой:

Код программы:

Абстрактный класс:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace z4

{

abstract class Klient

{

public string klientName { get; set; }

public DateTime dateBegin{ get; set; }

public Klient(string kn, DateTime db)

{

klientName = kn;

dateBegin = db;

}

public Klient()

{

klientName = "";

dateBegin = DateTime.MinValue;

}

public abstract string Display();

}

}

Наследуемые классы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace z4

{

class vklad : Klient

{

public double vkSum { get; set; }

public int percent { get; set; }

public vklad() : base()

{

vkSum = 0;

percent = 0;

}

public vklad(string fio, DateTime dtb, double vk, int prc)

: base(fio, dtb)

{

vkSum = vk;

percent = prc;

}

public override string Display()

{

return

"ФИО : " + klientName + "\n" +

"Дата сотр.: " + dateBegin.ToString() + "\n" +

"Сумма : " + vkSum.ToString("N2") + "\n" +

"Процент : " + percent.ToString() + "\n-------\n";

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace z4

{

class kredit : Klient

{

public double krSum { get; set; }

public int krPercent { get; set; }

public double krRest { get; set; }

public kredit() : base()

{

krSum = 0;

krPercent = 0;

krRest = 0;

}

public kredit(string fio, DateTime dt, double ks, int pr, double kr)

: base(fio, dt)

{

krSum = ks;

krPercent = pr;

krRest = kr;

}

public override string Display()

{

return

"ФИО : " + klientName + "\n" +

"Дата сотр.: " + dateBegin.ToString() + "\n" +

"Сумма кр. : " + krSum.ToString("N2") + "\n" +

"Процент : " + krPercent.ToString() + "\n" +

"Остаток : " + krRest.ToString("N2") + "\n-------\n";

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace z4

{

class org : Klient

{

public string accNo { get; set; }

public double accSum { get; set; }

public org() : base()

{

accNo = "";

accSum = 0;

}

public org(string on, DateTime dt, string an, double asm)

: base(on, dt)

{

accNo = an;

accSum = asm;

}

public override string Display()

{

return

"Название : " + klientName + "\n" +

"Дата сотр.: " + dateBegin.ToString() + "\n" +

"Счет : " + accNo + "\n" +

"Сумма : " + accSum.ToString("N2") +"\n-------\n";

}

}

}

Код главной формы:

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;

namespace z4

{

public partial class Form1 : Form

{

public List<object> allKlient = new List<object>();

public Form1()

{

InitializeComponent();

}

private void button2_Click(object sender, EventArgs e)

{

fAdd_kr fkr = new fAdd_kr(this);

fkr.ShowDialog();

}

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)

{

}

private void Form1_Load(object sender, EventArgs e)

{

dtSel.Value = DateTime.Now.Date;

}

private void button1_Click(object sender, EventArgs e)

{

fAdd_vklad fVk = new fAdd_vklad(this);

fVk.ShowDialog();

}

private void button3_Click(object sender, EventArgs e)

{

fAdd_org forg = new fAdd_org(this);

forg.ShowDialog();

}

private void button4_Click(object sender, EventArgs e)

{

txInfo.Text = "";

foreach(object obj in allKlient)

{

Type t = obj.GetType();

if( t.Name == "kredit")

{

kredit kr = obj as kredit;

txInfo.Text += kr.Display();

}

if(t.Name == "vklad")

{

vklad vk = obj as vklad;

txInfo.Text += vk.Display();

}

if( t.Name == "org")

{

org or = obj as org;

txInfo.Text += or.Display();

}

}

}

private void button5_Click(object sender, EventArgs e)

{

txInfo.Text = "";

foreach (object obj in allKlient)

{

Type t = obj.GetType();

if (t.Name == "kredit")

{

kredit procObj = obj as kredit;

if (procObj.dateBegin == dtSel.Value.Date)

{

txInfo.Text += procObj.Display();

}

}

if (t.Name == "vklad")

{

vklad procObj = obj as vklad;

if (procObj.dateBegin == dtSel.Value.Date)

{

txInfo.Text += procObj.Display();

}

}

if (t.Name == "org")

{

org procObj = obj as org;

if (procObj.dateBegin == dtSel.Value.Date)

{

txInfo.Text += procObj.Display();

}

}

}

}

}

}

Размещено на Allbest.ru


Подобные документы

  • Основные понятия объектно-ориентированного программирования в PHP5. Структурный и объектно-ориентированный подход. Класс как абстрактный тип. Реализация класса. Конструкторы и деструкторы. Функция l_visited_style изменение стиля посещенных ссылок.

    курсовая работа [433,2 K], добавлен 13.06.2008

  • Объектно-ориентированный язык программирования: общая характеристика и свойства. Базовый и производный классы, конструкторы производного класса. Конструкторы и неопределенность при множественном наследовании. Роль наследования при разработке программ.

    курсовая работа [688,3 K], добавлен 23.12.2013

  • Класс как специальная структура для хранения разнотипной информации о физическом объекте. Порядок объявления класса, его специальные элементы-функции. Создание указателя на объект. Особенности конструкторов и деструкторов. Собственные операции класса.

    курсовая работа [483,1 K], добавлен 07.04.2014

  • Концепция объектно-ориентированного программирования. Объектно-ориентированные языки программирования: Smalltalk, Object Pascal, CLOS и C++. Понятие "Объект" и "Класс". Управление доступом к элементам данных классов. Определение функций-членов класса.

    реферат [24,5 K], добавлен 28.10.2011

  • Разработка интерфейса для объединения в структуру данных множества объектов различных классов (абстрактный базовый класс TObject). Создание таблиц (коллекций) объектов с помощью механизма объектно-ориентированного программирования - полиморфизма.

    курсовая работа [175,7 K], добавлен 06.08.2013

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

    дипломная работа [1,5 M], добавлен 30.06.2012

  • Основные этапы разработки программного обеспечения (пакета программ), анализ требований к системе. Метод пошаговой детализации. Языки программирования низкого уровня и высокого уровня (императивные, объектно-ориентированные, функциональные, логические).

    презентация [41,4 K], добавлен 13.10.2013

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

    курсовая работа [3,3 M], добавлен 18.03.2011

  • Основные сведения о языках программирования и их состав. Программа для компьютера. Использование компилятора и операторы. Языки программирования высокого уровня. Концепции объектно-ориентированного программирования. Языки искусственного интеллекта.

    презентация [6,3 M], добавлен 14.08.2013

  • Изучение принципов объектно-ориентированного программирования, в котором основными концепциями являются понятия классов и объектов. Свойства этого вида программирования: инкапсуляция, полиморфизм, наследование. Описание класса. Конструкторы и деструкторы.

    презентация [74,8 K], добавлен 14.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.