|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.01.2011, 13:20 | #1 |
Регистрация: 05.01.2011
Сообщений: 6
|
Паскаль,База данных.
Вот у меня тут задача,я ее решила,,только вот не много закосячила с поиском,в начале он ищет,когда вводишь первый раз,а дальше после дополнения,когда добавляешь книги ,снова вбиваю поиск по тем книгам которые ввела...он пишет нет такой книги,хотя я их вводила...посмотрите пожалуйста,может я что-то пропустила...
А так задача состоит:вывести сведение о книге,автора,издательство,дата поступления,год издательства,+дополнение,то есть можно добавить еще не сколько книг... Код:
Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 05.01.2011 в 13:52. |
05.01.2011, 13:22 | #2 |
Регистрация: 05.01.2011
Сообщений: 6
|
И я смотрела,другие темы,именно про библиотеку,но там совсем иначе написано,можно сказать правильнее чем у меня,но я делала сама,как смогла.
|
05.01.2011, 13:58 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) грубейшая ошибка в процедуре Дополнения
Цитата:
Этой командой Вы стираете файл. Разумеется, что всё, что там было раньше - теряется напрочь. 2) Вы зря решаете задачу, используя текстовый файл. Думаю, что тут предполагается использование типа Запись (type ... record) ну и типизированного файла var f : file of BookRec; 3) пишите код с отступами - это гораздо удобнее и нагляднее. и не пишите несколько операторов в одной строчке. Это некрасиво и ненаглядно! |
|
05.01.2011, 14:01 | #4 |
Регистрация: 05.01.2011
Сообщений: 6
|
Блин,так и знала,но не была уверенна на rewrite.Спасибо,сейчас начну перерабатывать задачу,попробую сделать так,как написали.
|
05.01.2011, 15:47 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) есть ещё такое нарушение - излишнее цитирование.
для того, чтобы сказать одну фразу, не надо цитировать сообщение из 50 строк... ферштейн?... 2) Цитата:
А появятся конкретные вопросы - пишите прямо здесь, в эту тему... |
|
05.01.2011, 16:10 | #6 |
Форумчанин
Регистрация: 11.12.2010
Сообщений: 110
|
И файл 100% сдесь нужно типизированый использовать при решении такой задачи
|
05.01.2011, 16:29 | #7 |
Регистрация: 05.01.2011
Сообщений: 6
|
ферштейн?...
да,мне понятно. |
05.01.2011, 16:46 | #8 |
Регистрация: 05.01.2011
Сообщений: 6
|
Вот,нашла похожую задачу,все поменяла,сделала,работает,но опять же с поиском проблема))что-то не везет на него.С типизированными файлами.Отошла я от своей задачи и переключилась на эту,так как мне показалась с этой удобней работать,и мороки меньше.Подскажите,я выделила то место,где блин не работает,наверно что-то не дописала?!
Код:
|
06.01.2011, 11:55 | #9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
да.. посмотрел я на ваше творчество..
приведённый Вами код содержит пару ошибок, из-за которых он даже не компилируется. Это раз. второе, от использования меток и goto лучше отказываться. третье, для задания строковых полей в типе record лучше явно указывать длину строки. turboPascal к этому относится толерантно, но в дальнейшем при таком подходе будут ошибки ( в Delphi, например). четвёртое. Форматированный вывод для строк означает, что отвести не меньше позиций, чем указано. например, write('|', zk.name: 6, '|'); означает, что если name меньше 6 символов - то дополнить пробелами. Однако, если в name будет, скажем, 15 символов - то выведутся все 15. Для решения этой проблемы (если захотите, конечно) можно использовать оператор Copy. Ну или задавать длину, больше которой не может быть в поле (в данном случае можно задать name:20) пятое. А что такое - "дата поступления" ? И почему оно типа Integer ? Что за число вы туда хотите ввести?! шестое. и последнее. а где код подпрограммы добавления книг в вашу базу данных? вот, чуток переработанный Ваш код: Код:
да. забыл добавить. Процедура поиска у Вас была рабочая! я там почти ничего не менял (только исправил ошибку и в конце паузу сделал, чтобы было видно, что вывелось) Последний раз редактировалось Serge_Bliznykov; 06.01.2011 в 11:58. |
06.01.2011, 20:09 | #10 |
Регистрация: 05.01.2011
Сообщений: 6
|
А что такое - "дата поступления" ? И почему оно типа Integer ?
Что за число вы туда хотите ввести?! ну то есть я хочу туда ввести дату поступления книги,поэтому и integer,потому что ввожу цифрами. А ошибок море,прочитала не много в ауте была,напортачила конечно я не хило.А так задача вроде рабочая,вводит выводит нужные данные,а с поиском и в правду было все нормально,просто я проглядела нечайно,глазами не туда смотрела. Спасибо большое за помощь,все прочитала,ошибки свои я поняла,посидя не много подумая))Надеюсь я сдам курсовую на 5)Главное правильно все обьяснить ей.Спасибо еще раз! Последний раз редактировалось Gortxayer; 06.01.2011 в 20:16. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Небольшая база в Open Office База данных. | sashaman | Фриланс | 3 | 11.04.2010 20:13 |
База данных | ROMA2PVT | Помощь студентам | 8 | 20.03.2010 16:12 |
База данных с возможностью приема данных из файлов Excel | Al_Sha | БД в Delphi | 6 | 16.10.2009 15:34 |
База данных и паскаль | Dimati87 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 30.04.2009 07:01 |