Форум «Всё о Паскале» _ Задачи _ База Данных "Детская библиотека"
Автор: flashg 4.08.2005 12:33
Помогите усовешенствовать и разобратся - Задание в паскале. Мне было задана куча заданий - и вот решил тут одно заданице набить.
Посмотрел пример и набил - и получается. Но хочу усовершенствовать работу программы.
Вот задание: РАЗРАБОТАТЬ БАЗУ ДАННЫХ "ДЕТСКАЯ БИБЛИОТЕКА" (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, АВТОРА КНИГИ, НАЗВАНИЕ КНИГИ, ГОРОД И ИЗДАТЕЛЬСТВО, ГОД ВЫПУСКА). ВЫВЕСТИ НА ЭКРАН ДАННЫЕ О КНИГАХ, ВЫПУЩЕННЫХ В 1995 ГОДУ. ====================================== -------------------------------------------
программа работает но вот что мне не нравится - фантазировать имена фаимли отчества итд для N количества персон - это немного нудно
и я подумал а почему бы не сделать так создать уже файл P1.pas вбить туда эти данные (вот тока сразу возникает вопрос каким оброзом) запустив уже удавшеюся программуу и минутку думая на соченяв имена прогнав её выполнев все действия я уже получил этот файл мне тока остаётся переписать программу чтобы уже содержимое файла считать)
Не очень я понял что ты хочешь, помойму тебе нужно просто забить все данные константами, чтобы в ходе выполнения ничего не вводить, я прав ? :
const names:array[1..5] of string = ('Вася','Коля','Дима','Петя','Иван');
type TRec = record name:string; {i vse ostalnoe} end;
var book:array[1..5] of TRec; i:integer;
Begin
...
for i:=1 to 5 do with book[i] do begin ... ... name:=names[i]; end;
... End.
Автор: flashg 4.08.2005 14:26
да я прав но чтобы во время уже выполнения (RUN) программа показала что она отсеяла васю, идругих года 94 а высветила Петю 1995года
т.е. чтобы показала что она фильтрует
Т.е. чтобы в процессе ран было указано что
имеются персоны отобразила сперва их данные 1 2 3 4
а потом указала что толко 2 и 3 к примеру 1995 года.
Автор: Guest 4.08.2005 16:25
Извени но я не пойму что с кусками этими делать куда подставить - заменить полностью на свой вариант ?
я тут внеск кое какие изменения иначе всё бы нормально бы да вот тока эта гадина считывает тока (полностью) 1ую строку стобы там нибыло набито а остальные не трогает
Автор: Guest 4.08.2005 16:28
чёто не получилось сделать вложение
12n-2.pas
Код
Program pr_12; uses crt; type person=record sname,name,otc,avtr,nb,pub,year:string[14]; end;
var rbook:array[1..20] of person; f1,f2:text; i,n:integer; st1:string;
Assign(f2,'p2.pas'); rewrite(f2); st1:='1995'; Writeln('Ф И О Автар книги Название книги Издательство Год выпуска'); Writeln(f2,'Ф И О Автар книги Название книги Издательство Год выпуска'); for i:=1 to n do begin With rbook[i] do if year=st1 then begin Writeln(sname:10,name:10,otc:10,avtr:10,nb:10,pub:10,year:10); Writeln(f2,sname:10,name:10,otc:10,avtr:10,nb:10,pub:10,year:10); end; end;close(f1); Close(f2);readln; END.
Сколько можно говорить? Тегами пользоваться будешь, или "не царское это дело?" И, кстати, зарегистрируйся, и сможешь свои посты редактировать, а то десятки постов, а информации - кот наплакал...
Правда? А если чуть-чуть подумать, прежде чем делать что-то? Тебе же сказали: "в цикле" !!! Где ты у себя цикл видел? Я почему-то его не нашел... Это первое...
Второе:
for i:=1 to n do begin
Круто... А где ты присвоил какое-нибудь значение в N? Я опять что-то пропустил?
А про оформление программы ты никогда ничего не слышал? Постороннему в твоей программе... как бы это сказать... Не совсем просто разобраться. А ведь правильное оформление программы ОЧЕНЬ помогает в поиске ошибок...