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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2015, 19:30   #1
Никита757
Пользователь
 
Регистрация: 14.05.2015
Сообщений: 57
По умолчанию Распорядок дня

нужно написать программу, чтобы при запуске ее ввести с клавиатуры распорядок дня, а затем указать определенное время и программа должна вывести, что я должен делать в этот промежуток времени
Делфи консоль
Заранее благодарен
Никита757 вне форума Ответить с цитированием
Старый 25.10.2015, 19:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попытки? Наработки?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.10.2015, 20:34   #3
Никита757
Пользователь
 
Регистрация: 14.05.2015
Сообщений: 57
По умолчанию

Код:
program Lists;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  Singlelinked_List;

var
  sName : Tsurname;
  List_sn: slList_ptr;
  min,count, i : Integer;
  st:string;
begin
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  Writeln ('Ââåäèòå âàø ðàñïîðÿäîê äíÿ ');
  {$I-}
  Readln (st);
  {$I+}
  if (IOResult <> 0)  then
    begin
      Writeln ('Insert ', st );

        begin
          readln (sName);
          AddStr(List_sn,sName);
        end;
      ShowList(List_sn);
      readln;
      end
  else writeln ('Bad input data');
  readln;
end.

Последний раз редактировалось Аватар; 25.10.2015 в 20:39.
Никита757 вне форума Ответить с цитированием
Старый 25.10.2015, 21:39   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Забавные наработки... Ну да ладно - что в них не так? Что не устраивает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.10.2015, 21:48   #5
Никита757
Пользователь
 
Регистрация: 14.05.2015
Сообщений: 57
По умолчанию

Не могу понять толком как нужно записать, чтобы он считывал информацию например ввел
8:00 подъем
8:05-8.15 зарядка
8.15-8.30 завтрак
8.30-10.45 учеба
И например ввел промежуток времени 8:25-11.00 а он мне вывел завтрак и учеба
Сам код как дополнить
Никита757 вне форума Ответить с цитированием
Старый 25.10.2015, 22:19   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну сам твой код врядли удастся нормально дополнить - слишком к нему много вопросов. Поэтому предлагаю с коленки свое видение решения задачи:
Код:
program Project1;

uses windows,sysutils,Classes,contnrs,dateutils;

type
  TDiary=class;

	{ TRec }

  TRec=class
    private
      TimeBeg,TimeEnd:TTime;
      Diary:TDiary;
      Name:String[255];
      Procedure WriteMe;
      Procedure ReadMe;
	end;

	{ TDiary }

  TDiary=class
    private
      fm:TFileStream;
      Recs:TObjectList;
      Procedure Add;
      Procedure List;
      Constructor Create;
      Destructor Destroy;
	end;

{ TDiary }

procedure TDiary.Add;
begin
 with TRec(Recs[Recs.Add(TRec.Create())]) do begin
  Diary:=self;
  WriteMe;
 end;
end;

procedure TDiary.List;
begin
 while true do begin
  try
    with TRec(Recs[Recs.Add(TRec.Create())]) do begin
     Diary:=self;
     ReadMe;
    end;
	except
    break;
	end;
 end;
end;

constructor TDiary.Create;
var Di:TRec; cnt:integer;
begin
     Recs:=TObjectList.create(true);
      if not FileExists('Diary') then begin
        fm:=TFileStream.Create('Diary',fmCreate);
			end else begin
        fm:=TFileStream.Create('Diary',fmOpenReadWrite);
        List;
			end;

end;

destructor TDiary.Destroy;
begin
  fm.Free;
end;

{ TRec }

procedure TRec.WriteMe;
var s:string;
begin
 Write('Начало: '); readln(s); TimeBeg:=StrToTime(s);
 Write('Конец:  '); readln(s); TimeEnd:=StrToTime(s);
 Write('Занятие:'); readln(s); Name:=s;
 Writeln;
 with Diary.fm do begin
  WriteBuffer(TimeBeg,sizeof(TimeBeg));
  WriteBuffer(TimeEnd,sizeof(TimeBeg));
  WriteBuffer(Name[1],Length(Name));
 end;
end;

procedure TRec.ReadMe;
begin
 with Diary.fm do begin
  ReadBuffer(TimeBeg,sizeof(TimeBeg));
  ReadBuffer(TimeEnd,sizeof(TimeBeg));
  ReadBuffer(Name[1],Length(Name));
  Writeln('Начало: ':10,TimeToStr(TimeBeg):12, 'Конец:  ':10,TimeToStr(TimeEnd):12,'Занятие:':10,Name);
 end;
end;



begin
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  with TDiary.Create do begin
    //Add; Add;
    Destroy;
	end;
  readln;
end.
Add - процедура добавления в файл.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос Дня БД! surf135 БД в Delphi 0 03.05.2012 22:26
Ваш распорядок дня на работе=) googl Свободное общение 19 05.04.2012 08:01
Фотография рабочего дня. Stilet Свободное общение 75 10.10.2010 11:28
Вопрос Дня по методам С++ Alitrix Общие вопросы C/C++ 4 17.06.2009 09:29
Смена дня UnChanter Общие вопросы Delphi 13 03.02.2009 16:56