Страница 3 из 3

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

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

Зря смеётесь - в ВУЗах чего-только не изучают, если преподам лень новые методички писать. У меня супруга в прошлом году изучала Пролог и работала с компилятором образца 89-го года. По Паскалю хоть можно найти литературу 8)

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

Добавлено: 07.01.2011 16:57:47
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.

А теперь другая проблема: как сделать, чтобы год записывался двумя цифрами.

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

Добавлено: 07.01.2011 17:14:32
Padre_Mortius
А у вас он записывается 4-мя цифрами?
Маленькое уточнение... Вы забыли про то, что не в каждом месяце содержится 31 день, бывают еще месяцы и с 28-ю, 29-ю и 30 днями

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

Добавлено: 07.01.2011 17:27:39
Ravil
Некоторые даты выводятся в формате 1.1.1, анадо - 1.1.01. А "маленькое уточнение" в моём случае роли не играет. Эта програмка нужна для создания файла с датами для последующей сортировки.

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

Добавлено: 07.01.2011 17:29:31
Padre_Mortius

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

if Length(Year) =1 then Year := '0' + Year;

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

Добавлено: 07.01.2011 20:13:40
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.

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