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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2011, 01:38   #1
segion
 
Регистрация: 21.02.2011
Сообщений: 5
По умолчанию Программа выдает ошибку

Код:
program dred9;
USES CRT;

TYPE
rec=record
n_rejsa:string;
marsh:string;
typeplane:string;
station:string;
price:real;
end;

VAR s: string;

procedure privet;
begin
WriteLn('/*** База данных самолетов ***/');
WriteLn;
WriteLn('Что вы хотите сделать?');
WriteLn('1 - показать все записи');
WriteLn('2 - Добавить записи');
WriteLn('3 - Поис по номеру Рейса');
WriteLn('0 - виход');
end;

procedure AddRecord(r:rec);
var f: text;
begin
assign(f, 'baza.txt');
append(f);
writeln(f,r.n_rejsa);
writeln(f,r.marsh);
writeln(f,r.typeplane);
writeln(f,r.station);
writeln(f,r.price);
close(f);
end;

procedure ReadRecord(s: string);
var f: text;
r:rec;
begin
clrscr;
assign(f, 'baza.txt');
reset(f);
writeln('====================');
while not EOF(f) do
begin
readln(f,r.n_rejsa);
readln(f,r.marsh);
readln(f,r.typeplane);
readln(f,r.station);
readln(f,r.price);
if (r.typeplane=s) or (s='') then 
writeln(r.n_rejsa:7, r.marsh:18, r.typeplane:10, r.station:10, r.price:7);
end;
writeln('====================');
close(f);
readln;
end;

procedure process(s: string);
var tip:string;
r: rec;
begin
if s='0' then halt(0) else
if s='1' then ReadRecord('') else
if s='2' then begin clrscr;
write('Номер рейса ');readln(r.n_rejsa);
write('Маршрут ');readln(r.marsh);
write('Тип самолета');readln(r.typeplane);
write('Остановка ');readln(r.station);
write('Цена ');readln(r.price);
AddRecord(r) end;
if s='3' then begin clrscr;write('тип=');readln(tip);ReadRecord(tip) end;
end;

BEGIN
repeat
clrscr;
privet;
read(s);
ReadRecord(s);
process(s);
writeln;
until false;
END.
*
Ошибка ввода/вывода 2: Не удается найти указанный файл (dred9.pas, строка 45)
segion вне форума Ответить с цитированием
Старый 08.03.2011, 04:15   #2
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

А не проще было бы

Код:
var
 r: rec;
 s: string;
только 1 раз объявить?
А в остальном, код полностью рабочий...
Хакинг - не преступление, а способ выживания.

Последний раз редактировалось Ghost of Night; 08.03.2011 в 04:23.
Ghost of Night вне форума Ответить с цитированием
Старый 08.03.2011, 11:16   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не удается найти указанный файл
Значит такого файла действительно нет. Пиши полный путь к нему а не просто имя.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2011, 04:57   #4
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Полный путь не обязательно, если файл находится в папке с прогой, просто его нужно создать, если его там нет.
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на СИ...выдает ошибку в функии... VIKA1829 Помощь студентам 10 27.02.2011 21:19
Выдает ошибку( И.А.А. Общие вопросы C/C++ 1 21.05.2010 19:10
Программа выдает ошибку при работе T-dayne Помощь студентам 15 27.02.2010 10:31
Скомпилированая программа на одних компах запускается, а на других выдает ошибку? Velross Помощь студентам 1 14.01.2010 21:05
Программа выдает ошибку на нуле Panika Помощь студентам 1 11.11.2009 21:42