Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Mister Max
0 / 0 / 2
Регистрация: 03.04.2014
Сообщений: 21
#1

Задание на тему "Файлы прямого доступа"

03.04.2014, 13:36. Просмотров 323. Ответов 6
Метки нет (Все метки)

Дан файл DateFile,содержащий различные даты.Каждая дата это число,месяц и год.Найти
а) дату с наименьшим номером года
б) все весенние даты
в) самую позднюю дату

Часть программы написал,но на символах $ выходит ошибка.

Как-то так :
Pascal
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
uses crt;
type date=record
          day:byte;
          month:byte;
          year:byte;
          end;
var d:array[1..250] of date;
F:File of Integer;
Max,N,I:Integer;
c:char;
q:byte;
Buf:date;
begin
Assign(F,'C:\Users\Максим\Desktop\DateFile');
${I-}
Reset(F);
${I+}
if IOResult<>0 then
Begin
 Rewrite(F);
clrscr;
writeln('Введите данные');
n:=0;
for i:=1 to 5 do
begin
ReadLn(Buf.day,'.',Buf.month,'.',Buf.year);
Write(F,Buf);
end;
writeln('Выберите действие:');
writeln('1- Найти дату с наименьшим номером года ');
writeln('2- Найти все весенние даты ');
writeln('3- Найти самую позднюю дату ');
writeln('Другое - выход');
write('выбор ');readln(c);
case c of
'1':begin
writeln('Введите дату');
readln(q) ;
 
Close(F);
Reset(F);
Read(F,Buf);
Max:=Buf;
While not EOF(F) do
begin
Read(F,Buf);
if Buf>Max then
Max:=Buf;
end;
Close(F);
WriteLn('Max=',Max);
ReadLn;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2014, 13:36
Ответы с готовыми решениями:

Файлы последовательного доступа.Сохранить в файле " g " те числа файла " f ",которые являются чётными
Заполнить файл последовательного доступа &quot; f &quot; целыми числами,полученными с...

Файлы прямого доступа
Помогите пожалуйста с работой.Разработать программу решения задачи поиска в...

Из слова "клоун" путем "вырезок" и "склеек" его букв получить слова "уклон","кулон" и "колун"
Из слова &quot;клоун&quot; путем &quot;вырезок&quot; и &quot;склеек&quot; его букв получить слова...

Даны текстовый файл "F" и строка "S". Получить все строки файла "F", содержащие в качестве фрагмента строку "S".
Плиз помогите написать прогу: Даны текстовый файл &quot;F&quot; и строка &quot;S&quot;. Получить...

Пожалуйста, составьте программу, которая из слов"СТРАХ","БЕЛКА","ЦЫПЛЁНОК" получает слово "СТОЛБЕЦ"
Пожалуйста, составьте программу, которая из слов&quot;СТРАХ&quot;,&quot;БЕЛКА&quot;,&quot;ЦЫПЛЁНОК&quot;...

6
Puporev
Модератор
54346 / 41940 / 28976
Регистрация: 18.05.2008
Сообщений: 98,782
03.04.2014, 13:50 #2
Цитата Сообщение от Mister Max Посмотреть сообщение
но на символах $ выходит ошибка.
Потому что так пишут в Турбо Паскале.
В АВС проверяют файл на существование так
Pascal
1
2
if fileexists('C:\Users\Максим\Desktop\DateFile') then reset(F)
else rewrite(F);
1
Mister Max
0 / 0 / 2
Регистрация: 03.04.2014
Сообщений: 21
03.04.2014, 16:06  [ТС] #3
Спасибо.Сдвинулся ещё на шаг.Появилась ошибка "фактический параметр должен быть переменной"
0
Puporev
Модератор
54346 / 41940 / 28976
Регистрация: 18.05.2008
Сообщений: 98,782
03.04.2014, 16:09 #4
Pascal
1
2
3
4
5
for i:=1 to 5 do
begin
ReadLn(Buf.day,Buf.month,Buf.year);
Write(F,Buf);
end;
0
Mister Max
0 / 0 / 2
Регистрация: 03.04.2014
Сообщений: 21
03.04.2014, 16:11  [ТС] #5
Цитата Сообщение от Puporev Посмотреть сообщение
Потому что так пишут в Турбо Паскале.
В АВС проверяют файл на существование так
Pascal
1
2
if fileexists('C:\Users\Максим\Desktop\DateFile') then reset(F)
else rewrite(F);
Спасибо.Сдвинулся ещё на шаг.Появилась ошибка "фактический параметр должен быть переменной" на 28 строке

Добавлено через 1 минуту
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
1
2
3
4
5
for i:=1 to 5 do
begin
ReadLn(Buf.day,Buf.month,Buf.year);
Write(F,Buf);
end;
Нужен вывод дня,месяца и года через точку
0
Puporev
Модератор
54346 / 41940 / 28976
Регистрация: 18.05.2008
Сообщений: 98,782
03.04.2014, 16:16 #6
А это не вывод, а ввод.

Добавлено через 45 секунд
Вывода у тебя вообще нет в программе.
0
Mister Max
0 / 0 / 2
Регистрация: 03.04.2014
Сообщений: 21
03.04.2014, 16:18  [ТС] #7
Цитата Сообщение от Puporev Посмотреть сообщение
А это не вывод, а ввод.

Добавлено через 45 секунд
Вывода у тебя вообще нет в программе.
Ой,точно ) Спасибо !
0
03.04.2014, 16:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2014, 16:18

Изобразить стрелку и осуществить движение по клавишам "вверх", "вниз", "вправо", "влево"
Необходимо изобразить стрелку и осуществить движение по клавишам &quot;вверх&quot;,...

Удвоить в строке буквы "ю", "ъ", "ф", "э", а между словами оставить только по одному пробелу
Пользователь заполняет символьную строку русскими буквами. Буквы ю, ъ, ф, э в...

Даны строки а="вариант",b= "Высоко", с = "макароны". Получить слово "соковарка"
4 .Даны строки а=&quot;вариант&quot;,b= &quot;Высоко&quot;, с = &quot;макароны&quot;. Получить слово...


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

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

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