IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите с курсовиком, И снова ООП
SunDevil
сообщение 5.06.2005 17:35
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Помогите, плиз, разобраться с такой проблемой: в прикрепленном файле наполовину сделанный мой курсовик. Все ООП содержтся в файле Main.PAS В этом файле нормально работает только массив (с матрицей и списком я еще не разобрался). Когда запустите прогу, то увидете меню. Мне надо, чтобы на данный момент ВЫ помогли бы мне реализовать первый пункт меню (РАБОТА С МАССИВОМ). Надо, чтобы когда я зашел в этот пункт меню и выбрал любой другой пункт (Ввод массива, ввод диапазона от А до В, вывод измененного массива), то соотвественно это все работало. Моя проблема заключается в том, что я не знаю как вызывать файл Main.PAS и чтобы там все прекрасно работало :o
ПОМОГИТЕ, плиз :p2:


Прикрепленные файлы
Прикрепленный файл  Kursovik.zip ( 3.28 килобайт ) Кол-во скачиваний: 166
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 5.06.2005 18:25
Сообщение #2


Гость






Так напиши процедуры, который вызываются вот тут:
input_baza(list,n);
output_baza(list,n)}

Как ты хочешь, чтобы тебе помогли, если там у тебя черт ногу сломит в этих вызовах меню из одного в другое?...
Да и с массивом тоже... Ты же его не подключил, откуда знаешь, что он работает?
 К началу страницы 
+ Ответить 
SunDevil
сообщение 5.06.2005 18:45
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Чтобы всем понятнее было :
Исходный код
unit main;
interface
type TAbst=object
n,k:integer;
constructor Init;
procedure InData; virtual;
procedure OutData; virtual;
procedure Form; virtual;
procedure OutRes; virtual;
destructor Done; virtual;
end;
mas=array[1..1] of real;
TMas=object(TAbst)
x,y:^mas;
constructor Init;
procedure InData; virtual;
procedure OutData; virtual;
procedure Form; virtual;
procedure OutRes; virtual;
destructor Done; virtual;
end;
matr=array[1..1] of ^mas;
TMatr=object(TAbst)
m:integer;
x:^matr;
y:^mas;
constructor Init;
procedure InData; virtual;
procedure OutData; virtual;
procedure Form; virtual;
procedure OutRes; virtual;
destructor Done; virtual;
end;
PList=^List;
List=record
dat:real;
next:PList;
end;
TList=object(Tabst)
beg,beg1:PList;
constructor Init;
procedure InData; virtual;
procedure OutData; virtual;
procedure Form; virtual;
procedure OutRes; virtual;
destructor Done; virtual;
end;
PMas=^TMas;
PMatr=^TMatr;
{PList=^TList;}
implementation
constructor TAbst.Init;
begin
writeln('Введите количество элементов');
readln(n);
end;
procedure TAbst.InData;
begin
end;
procedure TAbst.OutData;
begin
end;
procedure TAbst.Form;
begin
end;
procedure TAbst.OutRes;
begin
end;
destructor TAbst.Done;
begin
end;
constructor TMas.Init;
begin
TAbst.Init;
getmem(x,n*sizeof(Mas));
getmem(y,n*sizeof(Mas));
end;
procedure TMas.InData;
var i:integer;
begin
for i:=1 to n do
begin
writeln('a[',i,']= ');
readln(x^[i]);
end
end;
procedure TMas.OutData;
var i:integer;
begin
for i:=1 to n do
write(x^[i],' ');
end;
procedure TMas.Form;
var i:integer;
a,b:real;
begin
writeln('Введите диапазон значений от A до B');
readln(a,B);
k:=0;
for i:=1 to n do
if (x^[i]<a) OR (x^[i]>b) then
begin
inc(k);
y^[k]:=x^[i];
end
end;
procedure TMas.OutRes;
begin
{ for k:=1 to n do
write(y^[k],' ');}
end;
destructor TMas.Done;
begin
freemem(x,n*sizeof(Mas));
freemem(y,n*sizeof(Mas));
end;
end.

Это модуль с ООП, так. Вопрос, где я не подключил массив? Мне надо чтобы на данный момент вызывалась и работала процедура ввода массива (procedure TMas.InData), вывода массива (procedure TMas.OutData) и процедура TMas.Form Как это, так сказать, реализовать???

Сообщение отредактировано: volvo - 12.06.2005 20:09
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
SunDevil   Помогите с курсовиком   5.06.2005 17:35
volvo   Так напиши процедуры, который вызываются вот тут: ...   5.06.2005 18:25
SunDevil   Чтобы всем понятнее было : unit main; interface ty...   5.06.2005 18:45
volvo   Ну, и где во всей программе у тебя хоть одна их эт...   5.06.2005 19:01
SunDevil   2 volvo Разницу между реализовать и подключить зна...   5.06.2005 19:20
volvo   Вот так: var massObj: TMas; ... { там, где нужно ...   5.06.2005 21:35
volvo   Вот тебе простой пример работы с многоуровневым ме...   6.06.2005 11:52
SunDevil   2 volvo СПАСИБО ЗА МЕНЮ ОГРОМНОЕ! РАЗОБРАЛСЯ...   10.06.2005 20:01
volvo   Правильно ругается. Смотри: The FOR statement con...   10.06.2005 20:28
SunDevil   volvo Спасибо, буду работать дальше...   10.06.2005 20:46
SunDevil   Да и еще такой вопрос. Можно ли запретить вводить ...   10.06.2005 21:12
volvo   Ты имеешь в виду запретить создание объектов типа...   10.06.2005 21:42
SunDevil   Мне не совсем понятно куда надо это вставлять, ве...   12.06.2005 19:21
SunDevil   Еще есть вопрос: ... Repeat menu...   10.06.2005 22:50
volvo   Ну, раз только 5 строчек, то я бы просто задавал и...   10.06.2005 23:03
SunDevil   Постепенно добрался до работы с матрицей... Соотве...   12.06.2005 15:12
volvo   И снова он прав :) У тебя неправильно происходит ...   12.06.2005 15:24
SunDevil   procedure TMas.Form; var i,k:integer; a,b:...   12.06.2005 17:27
volvo   Один дополнительный цикл: procedure TMatr.Form; va...   12.06.2005 17:37
SunDevil   Сделал как вы написали, пишу далее процедуру proce...   12.06.2005 18:18
volvo   :no: Неправильно... В массиве Y скорее всего или п...   12.06.2005 18:49
volvo   Ну, так это должно быть там, где ты собрался испол...   12.06.2005 19:33
SunDevil   Unit menu; interface Procedure Run; implementation...   12.06.2005 19:41
volvo   Я же сказал тебе не просто описАть указатели, а ра...   12.06.2005 20:08
SunDevil   Еще возникает такая проблема: constructor TAbst.In...   12.06.2005 21:15
volvo   :no: Никак !!! Ты не имеешь доступа к ...   12.06.2005 22:14
SunDevil   То есть мне надо наследовать так: TMas=object(TMat...   13.06.2005 9:43
volvo   Объясни мне, непонятливому, ПОЧЕМУ ты массив хочеш...   13.06.2005 10:31
SunDevil   2 volvo Я совсем запутался с этими объектами :( Уж...   13.06.2005 13:58
volvo   :no: Нет... Я не знаю смысла всего этого проекта, ...   13.06.2005 14:10
SunDevil   volvo Спасибо за помощь, тогда как все-таки вы мне...   13.06.2005 16:38
volvo   Тогда я делал бы вот так: 1. Наследуешь все как и ...   13.06.2005 17:06
SunDevil   volvo Мне надо еще одну переменную m вводить, для ...   13.06.2005 20:07
SunDevil   Что тут не так???? Почему теперь компилятор гонит ...   13.06.2005 20:35
volvo   Потому что ты его не определил!!! Где ...   13.06.2005 21:07
SunDevil   Доделал я этот гребаный курсовик, НО есть теперь о...   14.06.2005 20:29
volvo   У тебя тут та же самая история, что была с TMatr.....   14.06.2005 21:12


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 6.07.2025 17:45
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"