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

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

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

> В этом коде определенно есть ошибка!
iSlayter
сообщение 28.04.2007 10:12
Сообщение #1


Новичок
*

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

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


Проблема в том, что в файле после его заполнения есть данные, а процедуры Print и ShowInfo не срабатывают. Вообще ничего не выдают.

Помогите, пожалуйста, разобраться с данной проблемой.
Надеюсь на понимание.

С уважением,
Юрий.
program rec;
uses crt;
type

TRec = record
name : string [31];
bornyear : integer;
bornmonth : integer;
bornday : integer;
adress : string [250];
end;

TBase = array [1..100] of TRec;

TFile = file of TBase;





procedure ShowInfo (var b : TBase; var f : TFile; x : integer; k : integer);
var
i : byte;
begin
read(f, b);
writeln('Infromation about mans : ');
for i := 1 to k do
with b[i] do begin
if bornyear > x then begin
writeln('Name : ' , name);
writeln('Born day: ' , bornday , '; Born month: ' , bornmonth , 'Born year: ' , bornyear);
writeln('Adress: ' , adress);
writeln;
end;
end;
end;





procedure Input(var b : TBase; var f : TFile; var k : integer);
var
i : byte;
begin
writeln('Vvod bazy dannyx. ');writeln('');
for i := 1 to k do
with b[i] do begin
writeln('Chelovek N ',i);
write('Name : '); readln(name);
write('Born day: '); readln(bornday); write('Born month: '); readln(bornmonth); write('Born year: '); readln(bornyear);
write('Adress: '); readln(adress);
writeln;
end;
write(f, b);
end;



procedure Print(var b : TBase; var f : TFile; var k : integer);
var
i : byte;
begin
read(f, b);
writeln('Infromation about mans : ');
for i := 1 to k do
with b[i] do begin
writeln('Name : ' , name);
writeln('Born day: ' , bornday , '; Born month: ' , bornmonth , 'Born year: ' , bornyear);
writeln('Adress: ' , adress);
writeln;
end;
end;





var
base : TBase;
baseFile : TFile;
birthYr : integer;
temp : integer;
k : integer;



begin
CLRSCR;
temp := -1;
assign(baseFile, 'c:\students.db');

while temp <> 0 do
begin

CLRSCR;
write('1 - create database; 2 - mans which born after X year; 3 - prints database; 0 - exit ... ');
readln(temp);


if temp = 1 then
begin
rewrite(baseFile);
Write('Enter count fo rows for file: '); Readln(k);
Input(base, baseFile, k);
writeLn('Press any key ...'); ReadKey;
close(baseFile);
end;


if temp = 2 then
begin
reset(baseFile);
write('Enter start birthyear: ');
readln(birthYr);
ShowInfo(base, baseFile, birthYr, k);
close(baseFile);
end;


if temp = 3 then
begin
reset(baseFile);
Print(base, baseFile, k);
close(baseFile);
end;


end;

writeln('Press any button for exit ...');
ReadKey
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
мисс_граффити
сообщение 5.05.2007 0:10
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


А зачем ты в файл пишешь массив, а не сами записи (рекорды)?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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