Генератор дат, нужна помощь

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Аватара пользователя
Nik
энтузиаст
Сообщения: 573
Зарегистрирован: 03.02.2006 23:08:09
Откуда: Киров
Контактная информация:

Сообщение Nik »

Vadim писал(а):dunin
Человека заставляют пользоваться вымершими динозаврами - ТР. :)

Зря смеётесь - в ВУЗах чего-только не изучают, если преподам лень новые методички писать. У меня супруга в прошлом году изучала Пролог и работала с компилятором образца 89-го года. По Паскалю хоть можно найти литературу 8)
Аватара пользователя
Ravil
новенький
Сообщения: 27
Зарегистрирован: 05.01.2011 12:54:46
Откуда: Стрежевой

Сообщение Ravil »

Окончательный вариант проги:

Код: Выделить всё

Program gen;
Uses  crt;
const n=60;
Var  i: integer;
   f : text;
    day, month, year,date : string;
Begin
ClrScr;
randomize;
assign (f, 'd:\data.txt');
rewrite(f);
for i:=1 to n do
 begin
   str(random(31), day);
    str(random(12), month);
    str(random(99), year);
  date:=day+'.'+month+'.'+year;
  writeln(f, date);
   end;
close(f);
end.

А теперь другая проблема: как сделать, чтобы год записывался двумя цифрами.
Padre_Mortius
энтузиаст
Сообщения: 1261
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

А у вас он записывается 4-мя цифрами?
Маленькое уточнение... Вы забыли про то, что не в каждом месяце содержится 31 день, бывают еще месяцы и с 28-ю, 29-ю и 30 днями
Аватара пользователя
Ravil
новенький
Сообщения: 27
Зарегистрирован: 05.01.2011 12:54:46
Откуда: Стрежевой

Сообщение Ravil »

Некоторые даты выводятся в формате 1.1.1, анадо - 1.1.01. А "маленькое уточнение" в моём случае роли не играет. Эта програмка нужна для создания файла с датами для последующей сортировки.
Padre_Mortius
энтузиаст
Сообщения: 1261
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

Код: Выделить всё

if Length(Year) =1 then Year := '0' + Year;
Аватара пользователя
Ravil
новенький
Сообщения: 27
Зарегистрирован: 05.01.2011 12:54:46
Откуда: Стрежевой

Сообщение Ravil »

Спасибо, теперь то что надо.

Добавлено спустя 2 часа 13 минут 24 секунды:
Программа выдала несколько дат с 0 поле день, месяц. Пришлось добавить.

Код: Выделить всё

Program gen;
Uses  crt;
const n=60;
Var  i: integer;
   f : text;
    day, month, year,data : string;
Begin
ClrScr;
randomize;
assign (f, 'd:\data.txt');
rewrite(f);
for i:=1 to n do
 begin
    str((random(31)+1), day);
    str((random(12)+1), month);
    str(random(99), year);
    if Length(Year) =1 then Year := '0' + Year;
    data:=day+'.'+month+'.'+year;
    writeln(f, data);
 end;
close(f);
end.

Так нормально или надо как-то по другому?
Ответить