![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
alex9910 |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Нужно вывести из типизированного ф-ла однофамильцев. Типизированный файл состоит из типа запись.
Например: при запросе фамилии Петрова выводились все стоки с фамилиями Петрова и Петров. или при запросе : Петров выводились и Петров и Петрова. Как можно сделать проверку на подстановку или отброс окончаний? Всем заранее спасибо! procedure print_usl; |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну вот и сделай так:
IF str_v[length(str_v)]= 'а' then , а потом в цикле сравнивай test_fio с текущей фамилией: if (F.FIO_Stud = test_fio) or (F.FIO_Stud = test_fio + 'a') then(Можно было бы искать через if pos(F.FIO_Stud, test_fio) > 0 then, но будут ложные срабатывания: "Петров" и "Петровский" будут считаться похожими, а это не так). Но это не самая хорошая идея, сравнивать напрямую. Очень много несоответствий начнется. Скажем, фамилия "Ланская" - как сравнить ее с "Ланской"? ![]() |
alex9910 |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не получилось. Или я не понял куда подставить это
![]() Вот весь проект.. Конечно сложно там во всем наверное будет быстро разобраться.. Но может получится. Эта процедура в модуле под названием PECHAT а запуск происходит через MENU Сообщение отредактировано: alex9910 - 2.06.2012 19:41 Прикрепленные файлы ![]() |
IUnknown |
![]()
Сообщение
#4
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я имел в виду что-то типа:
{Процедура печати по условию}Извини, но разбираться, где ты там описываешь все переменные (и почему переменные не описываются как можно ближе к месту использования - это первое условие для написания менее глючной программы, а ты все норовишь затолкать их в другой модуль, ибо в этом же я подобных переменных не обнаружил) мне лень, да и не хочется. Неинтересно это, я тебе указывал уже на ошибки, ты В ТОЧНОСТИ их повторяешь. Как об стену горох. На фиг мне, спрашивается, опять тут расписывать на десяток страниц, КАК НАДО, если ты делаешь КАК ПОПАЛО??? |
alex9910 |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Увы делалось как было написано в задании....
Все в программе хорошо, но проверяет то только на фамилию Если в файле фамилии без инициалов то все прекрасно! А вот с инициалами ничего не находит.... |
IUnknown |
![]()
Сообщение
#6
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Увы делалось как было написано в задании.... Задание не определяет (по крайней мере - не должно определять) способ решения. И не определяет, где описывать переменные, и переменные какого типа. И где ставить комментарии тоже не определяет задание. Задание ставит задачу, которую необходимо решить. А уж как ее программист будет решать - это не его (задания) дело. Твою программу можно влет сократить в 5 раз. В пять!!! Это что, задание так требует, чтобы в файле Redakt.pas было больше 600 строк? Да там и 150 по хорошему - перебор. Так что не надо валить на задание. Все зависит от того, кто это задание выполняет.Цитата Если в файле фамилии без инициалов то все прекрасно! А вот с инициалами ничего не находит.... А надо было сразу думать, а не пихать фамилию вместе с инициалами в одно поле. Ты что думаешь, это оттого, что программисту нечего было делать в любой нормальной базе фамилия хранится отдельно, имя - отдельно, а отчество - отдельно? Или ты думал, что все программисты недоумки, а ты вот один такой мудрый, догадался все запихать в одно поле, чтоб особо не заморачиваться? Ну, догадался запихать - догадывайся и переделывать теперь ![]() |
Гость |
![]()
Сообщение
#7
|
Гость ![]() |
Задание не определяет (по крайней мере - не должно определять) способ решения. И не определяет, где описывать переменные, и переменные какого типа. И где ставить комментарии тоже не определяет задание. Задание ставит задачу, которую необходимо решить. А уж как ее программист будет решать - это не его (задания) дело. Твою программу можно влет сократить в 5 раз. В пять!!! Это что, задание так требует, чтобы в файле Redakt.pas было больше 600 строк? Да там и 150 по хорошему - перебор. Так что не надо валить на задание. Все зависит от того, кто это задание выполняет. А надо было сразу думать, а не пихать фамилию вместе с инициалами в одно поле. Ты что думаешь, это оттого, что программисту нечего было делать в любой нормальной базе фамилия хранится отдельно, имя - отдельно, а отчество - отдельно? Или ты думал, что все программисты недоумки, а ты вот один такой мудрый, догадался все запихать в одно поле, чтоб особо не заморачиваться? Ну, догадался запихать - догадывайся и переделывать теперь ![]() Печать по условию задал препод однофамильцев найти.... А что редакт на 600 строк. Я даже не знаю как по другому сократить до 150 ![]() |
alex9910 |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
"Это что, задание так требует, чтобы в файле Redakt.pas было больше 600 строк? "
Нет задание требует редактирование в виде меню а как по другому его организовывать не знаю.. Да и уже некогда, еще диаграмму нужно делать... ![]() Как-то реально вывести гистограмму (столбиковую диаграмму) допустим сколько студентов получают стипендию до 980 ру. и сколько больше 1000 например? Сообщение отредактировано: alex9910 - 3.06.2012 19:52 |
Jakeline |
![]() ![]()
Сообщение
#9
|
Гость ![]() |
And I thuohgt I was the sensible one. Thanks for setting me straight.
|
![]() ![]() |
![]() |
Текстовая версия | 1.07.2025 19:46 |