Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2014, 02:13   #1
conquerant
Новичок
Джуниор
 
Регистрация: 27.03.2014
Сообщений: 3
Восклицание Паттерн проектирования на C#(мост)

С помощью шаблона реализовать программу, которая демонстрирует сдачи теста объектами класса «виртуальный студент». Известно, что такой студент может быть нескольких типов: отличник, такой, что учится хорошо, удовлетворительно и неудовлетворительно. Условно установим, что отличник всегда отвечает на все поставленные вопросы; студент, учится хорошо отвечает на 80% вопросов; удовлетворительно - на 60% вопросов и неудовлетворительно - на 40% вопросов.
conquerant вне форума Ответить с цитированием
Старый 27.03.2014, 20:03   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Вопрос

Цитата:
С помощью шаблона реализовать программу
Самостоятельные попытки были?
Streletz вне форума Ответить с цитированием
Старый 28.03.2014, 03:59   #3
conquerant
Новичок
Джуниор
 
Регистрация: 27.03.2014
Сообщений: 3
По умолчанию

пока новичок
conquerant вне форума Ответить с цитированием
Старый 28.03.2014, 07:32   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Суть шаблона ясна? Между студентами и выводом результатов должен быть посредник, который бы передавал проценты системе вывода.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.03.2014, 08:09   #5
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Пример применения паттерна на С#.
http://www.dofactory.com/Patterns/Pa...ge.aspx#_self1

Осталось придумать куда его вкорячить в это совершенно абстрактное задание, где он нафих не нужен.
the_deer_one вне форума Ответить с цитированием
Старый 28.03.2014, 09:22   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Можно взять сущности:
итоги
арбитр/жюри заносящие данные в итоги
студенты.
Студенты передают сведения жюри, а он их вносит в итоги (выводит на экран)
Ну а так да, такие дутые примеры наоборот убивают понимание сути.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.03.2014, 21:47   #7
conquerant
Новичок
Джуниор
 
Регистрация: 27.03.2014
Сообщений: 3
По умолчанию code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace Bridge
{
class Program
{
static void Main(string[] args)
{
List<AbstractStudent> students = new List<AbstractStudent>{
new AbstractStudent(new BalStudent()),
new AbstractStudent(new BalStudent()),
new AbstractStudent(new giveStudent())
};

foreach (AbstractStudent gi in students)
if (gi.AnswerallForexam())
Console.WriteLine("Student is excellent");
else
if(gi.AnswergoodForexam())
Console.WriteLine("Student is good");
else
if(gi.AnswersatisfactorilyForexam() )
Console.WriteLine(Sstudent is satisfactorily);
if(gi.AnswerunsatisfactorilyForexam ())
Consloe.Writeline("Student is unsatisfactorily");
Console.ReadKey();
}
}

interface IStudent
{
bool AnswerallForexam();
}

class AbstractStudent
{
IStudent give;
public AbstractStudent(IStudent s)
{
this.give = s;
}

public bool AnswerallForexam()
{
return this.give.AnswerallForexam();
}
}

class GiveStudent : IStudent
{
List<float> gives = new List<float> { 100, 80, 60,40 };
public bool AnswerallForexam()
{
if (gives.Count > 0)
{
gives.Remove(0);
return true;
}
return false;
}
}

class BalStudent : IStudent
{
float balsum = 100;
public bool AnswerallForexam()
{
if (balsum >= 80)
{
balsum -= 80;
return true;
}
return false;
}
}
}
conquerant вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паттерн Начинающий програм Помощь студентам 0 20.05.2013 19:41
Интернет мост dmitriegorovih Работа с сетью в Delphi 4 19.05.2012 23:50
DLE+SMF мост might2012 WordPress и другие CMS 0 14.05.2012 17:44
Программный сетевой мост Plankton Помощь студентам 0 09.04.2012 21:02
Узкий мост NYH Помощь студентам 0 29.11.2010 20:46