Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на языке Pascal

Выпуск № 062
от 02.12.2002, 17:10

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 108
Отправлено ответов: 279
Активность: 258.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Ace
Статус: Доверительный
Общий рейтинг: 155.55
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 117.45
[Подробней >>]
X-RayMan
Статус: Начальный
Общий рейтинг: 130.76
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 107. Добрый день, эксперты. В приложении прога, которая читает вводимые данные и записывает в файл, ну и ... (ответов: 3)

Вопросов: 1, ответов: 3


 Вопрос № 107

Добрый день, эксперты.
В приложении прога, которая читает вводимые данные и записывает в файл, ну и выводит на экран. Проблема в том, что прога выводит только первую строчку.
Немного о проге ведёт список пациентов в таком виде:
имя,год рождения, номер мед.карты, номер телефона,номер группы крови;
Подскажите, где ошибся.
И ещё вопрос, как отсортировать в алф. порядке пациентов с первой группой крови (подскажите идею).
Заранее спасибо.


Приложение:


Вопрос отправлен: 29.11.2002, 17:05
Отправитель: Vova (vovan_er@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Ace

Добрый вечер, Vova!
Во-первых, не хватает файла, который ты в программе открываешь для чтения. Во-вторых, попробуй записывать и считывать целиком запись (смотри в приложении). Исходник явно уменьшится в размерах и проще будет искать ошибки.


Приложение:

Ответ отправлен: 29.11.2002, 20:07
Отправитель: Ace


Отвечает Ayl

Приветствую Вас, Vova!
Так а что ты хочешь? У тебя же написан вложенный цикл:
...
for m := 1 to j do
... { считывание из файла }
for m := 1 to j do
... { вывод }
вот и выводится 1 строка...
Насчет соритровки - могу предложить 2 варианта:
1. Сортируешь весь список в алфавитном порядке а потом выбираешь из него только с первой группой
2. Сначала выбираешь всех с первой группой а потом сортируешь

Ответ отправлен: 29.11.2002, 18:33
Отправитель: Ayl


Отвечает X-RayMan

Доброго времени суток, Vova!
Ошибка в том, что Ты пытаешься вывести пациента сразу, как только считал. Причем для этого используешь цикл с переменной m, которая используется как счетчик первого цикла. Поэтому на первой-же итерации цикла у Тебя значение переменной становиться равно j и считывание из файла заканчивается. Это можно решить, если цикл вывода на экран перенести вне основного цикла, см. приложение. Посмотри, чем эта процедура отличается от Твоей. Еще я добавил в конце ввода одного пациента readln(f,c); read(f,c); - что-бы перейти на следующую строку файла.
Вообще-то такие вещи реализуются гораздо быстрее и проще. Если интересно, пиши на мыло, объясню. По поводу сортировки в алфавитном порядке, тоже - пиши на мыло.


Приложение:

Ответ отправлен: 29.11.2002, 18:55
Отправитель: X-RayMan



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (39)
C / C++ (28)
Perl (8)
Delphi (17)
Pascal (22)
Basic / VBA (9)
Java / JavaScript (15)
PHP (9)
MySQL / MSSQL (9)
Пользователю
Windows 95/98/Me (37)
Windows NT/2000/XP (23)
"Железо" (28)
Поиск информации (16)
Администратору
Windows NT/2000/XP (13)
Linux / Unix (18)
Юристу
Гражданское право (9)
Семейное право (3)
Трудовое право (5)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное