Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Pahanuch
325 / 160 / 89
Регистрация: 03.11.2010
Сообщений: 920
1

Как сделать кольцевую очередь

01.11.2012, 08:20. Просмотров 822. Ответов 5
Метки нет (Все метки)

Доброго времени. Имеются два вопроса по коду.

1. Как сделать методы доступа к fSurname и fYear + set.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//информация о преподавателe=============================================
 
TStud = class //класс - преподаватель
 
private
 
fSurname: string; //фамилия
 
fYear: Integer; //возраст
 
public
 
property Surname: string read fSurname; //прочесть фамилию + set
 
property Year: Integer read fYear; //прочесть возраст + set
2. Как сделать кольцевую очередь ?

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//массив-очередь========================================================
 
TGroup = class //класс - кафедра
 
private
 
fStuds: array[0..Max] of TStud; //массив указателей на информацию о преподавателе
 
fCount: Integer; //количество в массиве-очереди
 
fGrNam: String; //номер кафедры
 
function GetStud(i: Integer): TStud; //просмотр преподавателя в ячейке i
 
public
 
property grnamber: String read fGrNam write fGrNam; //прочесть кафедру
 
property count: Integer read fCount; //прочесть колич.элем.в массиве-очереди
 
property studs[i: integer]: TStud read GetStud; //прочесть преподавателя в ячейке i
 
constructor Create(aInfo: string); //конструктор пустого массива-очереди
 
destructor Destroy; override; //деструктор массива-стека
 
function Add(aSurname: String; aSyear: Integer): boolean; //добавить в массив
 
function Del(): boolean; //удалить из массива-очереди
 
end;
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 08:20
Ответы с готовыми решениями:

Вместо Стека сделать Очередь
Есть программа, это "База данных", я ввожу данные и вывожу их в мемо. В данном ниже коде записи...

Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.)
Помогите пожалуйста написать очередь. Есть Температура double и ее тип int ну и нужно сделать...

Как сделать очередь и убрать паузу программы при вводе данных?
Написал прогу, при вводе новый параметров детали программа останавливается, как можно переделать,...

Как сделать чтобы документ не вставал на очередь печати когда принтер выключен
Привет знатокам. Имеется принтер uns-tp51.01s которым мы в магазине печатаем чеки. Так как шеф жлоб...

Как переделать очередь основанную на массиве в циклическую очередь
Как переделать очередь основанную на массиве в циклическую очередь? Тут кое-какие попытки. Беда с...

5
mss
2641 / 2265 / 277
Регистрация: 24.12.2010
Сообщений: 13,725
01.11.2012, 09:36 2
Если "stud" это преподаватель, то тогда кто такой "teach" ? )
0
Pahanuch
325 / 160 / 89
Регистрация: 03.11.2010
Сообщений: 920
01.11.2012, 18:11  [ТС] 3
mss, проблема сейчас не в названиях переменных. Преподаватель - студент - не важно. Мне сейчас главное понять, как сделать кольцевую очередь.
0
mss
2641 / 2265 / 277
Регистрация: 24.12.2010
Сообщений: 13,725
01.11.2012, 21:02 4
Цитата Сообщение от Pahanuch Посмотреть сообщение
проблема сейчас не в названиях переменных
А вот у меня иное мнение - бардак в логике начинается с бардака в именовании идентификаторов.
0
Pahanuch
325 / 160 / 89
Регистрация: 03.11.2010
Сообщений: 920
01.11.2012, 22:36  [ТС] 5
mss, а по теме вопроса что нибудь можете сказать ?
0
mss
2641 / 2265 / 277
Регистрация: 24.12.2010
Сообщений: 13,725
02.11.2012, 09:43 6
Код
TSomeClass = class(..)
..
private
   FSomeField: TSomeType; 
protected
   function GetPropValue: TSomeType;
   procedure SetPropValue(Value: TSomeType);
public
  property SomeProperty: TSomeType read GetPropValue write SetPropValue; 
..

function TSomeClass.GetPropValue: TSomeType;
begin
  Result := FField;
end;

procedure TSomeClass.SetPropValue(Value: TSomeType);
begin
  FField := Value;
end;
0
02.11.2012, 09:43
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 09:43

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

Как сделать два метода get и set размера для чтения и записи выделенной памяти в классе "Очередь"?
Помогите сделать два метода get и set Объявите класс "Очередь", имеющий поля – массив хранилище...

Очередь сделать по возрастанию
есть очередь private Queue<string> q = new Queue<string>(); в ней 23=wwqert 236=dfghh...

Очередь с приоритетом сделать многопоточной
Добрый день. Есть реализованная очередь с приоритетом. Реализованы операции вставки, извлечения и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.