Записи+условия, Помогите доделать |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Записи+условия, Помогите доделать |
Brad Bellick |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Bellick Репутация: 0 |
Здравствуйте! У меня возник вопрос по поводу, как доделать следующую программу. Информация про читателей библиотеки: регистрационный номер, имя, фамилия, серия и номер паспорта, количество взятых книг, дата сдачи книги(дата в формате: Деня.Месяц.Год, пример 12.02.2008). В программе нужно взять сегоднейшее число и на экран вывести, всех тех читателей кому надо было сдать книги до этого числа (сегоднейшего). Все это еще надо записать в файл. P.S. Тема: типизированные файлы. Я уже сделал часть программы(в приложении). По большому счету остались условия для вывода читателей кому надо было сдать книги до сегоднейшего числа. С чем у меня и проблема. Пожалуйста помогите мне доделать эту программу. Заранее спасибо. program biblioteka; uses crt; type a=record reg_nomer:integer; imja:string[20]; familija:string[25]; pasport_serija, pasport_nr:integer; cislo_knig:integer; cislo, mesjac, god :integer; end; var ba: a; ba_fail:FILE of a; sk, n:integer; begin clrscr; writeln('Pro skolkih u4enikov vi xotite uznatj inf'); readln(sk); assign(ba_fail, '4itateli.dat'); rewrite(ba_fail); for n:=1 to sk do begin write(n, 'registracionnnij nomer:'); readln(ba.reg_nomer); write(n,'imja 4itatelja:'); readln(ba.imja); write(n,'familija 4itatelja:'); readln(ba.familija); write(n, 'serija i nomer pasporta:'); readln(ba.pasport_serija, ba.pasport_nr); write(n, 'kolicestvo vzjatix knig:'); readln(ba.cislo_knig); write(n, 'data sda4i knig:'); readln(ba.cislo , ba.mesjac, ba.god); writeln; write(ba_fail, ba); |
volvo |
Сообщение
#2
|
Гость |
Цитата По большому счету остались условия для вывода читателей кому надо было сдать книги до сегоднейшего числа. С чем у меня и проблема. По большому счету проблема - в том, что ты задал вопрос не в том разделе.А теоретически решение описанной проблемы выглядит так: пишешь функцию сравнения двух дат: первая раньше второй (всего 3 If-а: начиная с года, потом - месяц, потом - число; для удобства я бы выделил дату в отдельный тип TDate) и передаешь в нее дату возврата книги КАЖДОГО читателя и сегодняшнюю дату (ее можно получить с помощью процедуры GetDate модуля Dos). Если первая (т.е., дата возврата книги) все-таки раньше сегодняшней, то "должника" - в BlackList... |
Brad Bellick |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Bellick Репутация: 0 |
По большому счету проблема - в том, что ты задал вопрос не в том разделе. А теоретически решение описанной проблемы выглядит так: пишешь функцию сравнения двух дат: первая раньше второй (всего 3 If-а: начиная с года, потом - месяц, потом - число; для удобства я бы выделил дату в отдельный тип TDate) и передаешь в нее дату возврата книги КАЖДОГО читателя и сегодняшнюю дату (ее можно получить с помощью процедуры GetDate модуля Dos). Если первая (т.е., дата возврата книги) все-таки раньше сегодняшней, то "должника" - в BlackList... Мда, действительно ошибся темой, а в какую тогда нужно вылаживать? Попробовал сделать по вашему совету, но не получается записать в файл. Где я могу выложить код который у меня вышел на данный момент? |
Текстовая версия | 11.01.2025 5:37 |