|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.02.2009, 18:13 | #1 |
Форумчанин
Регистрация: 29.01.2009
Сообщений: 175
|
Паскаль, работа с записями
Получил лабораторку:
Описать переменную "служащий", состоящую из имени, фамилии, отчества служащего, даты рождения, образования, домашнего адреса, профессии. Определить имена людей с высшим образованием. Выдать данные о служащем, который имеет ту или иную профессию. Немогу понять, как сделать чтобы пользователь вводил данные сотрудников (количество неизвестно) и потом оформить их в одну таблицу.
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.
|
25.02.2009, 18:22 | #2 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 69
|
Либо чтение из файла, либо указывать количество этих служащих изначально.
Silence is of great value...
|
25.02.2009, 18:34 | #3 |
Форумчанин
Регистрация: 29.01.2009
Сообщений: 175
|
Я думал о чтении из файла, но только как сказать чтобы оно искало по специальности
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.
|
26.02.2009, 07:31 | #4 |
Регистрация: 21.02.2009
Сообщений: 3
|
Могу ошибиться, но думаю так: создаете тип запись (Record), до тех пор пока оператор не скажет "хватит" запрашиваете у него данные и забиваете их в запись после чего записываете запись в файл. Потом схраняете файл. Открываете для чтения и по одной считываете из файла записи, смотрите что записано в поле "специальность", если Ваше - выдаете оператору инфу, если не ваше - то следующий. И так до конца файла... Вот только с файлами записей я никогда не работал, но думаю если очень надо можно побайтно записывать/считывать то с чем вы там работаете...
|
26.02.2009, 10:10 | #5 |
Пользователь
Регистрация: 13.12.2008
Сообщений: 28
|
Да, создаёте комбинированный тип, например такой:
Type Tsluzh = record; imya,familiya,otchestvo,denrozhd,ob razov,adres,prof: string; end. var sluzh:array [1..100] of sluzh И так далее. А вообще пощёлкай по темам здесь, тут есть такие темы уже. |
26.02.2009, 10:35 | #6 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Цитата:
uses crt; ........ repeat вводим записи, пока не надоест until readkey=#27; //по нажатию Esc заканчиваем ввод(или любая другая клавиша) |
|
26.02.2009, 12:00 | #7 |
Пользователь
Регистрация: 21.02.2009
Сообщений: 28
|
Можно открыть типизированный файл (тип Tsluzh). Паскаль прекрасно обрабатывает такие файлы: длина файла (кол-во записей), навигация по файлу (вперёд, назад, в начало, в конец).
Если необходимо иметь доступ сразу ко всем записям, тут уж придёться заносить данные из файлу в кучу (HEAP). Тогда при интенсивном использовании данных уменьшатся дисковые операции. Иначе при большом числе служащих будет постоянная задержка на выдачу результатов.
В споре рождается истина.
|
26.02.2009, 12:29 | #8 | ||
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Цитата:
Цитата:
|
||
26.02.2009, 22:38 | #9 | |
Пользователь
Регистрация: 21.02.2009
Сообщений: 28
|
Уже было предложено описание типа:
Цитата:
Открыть файл на считывание В цикле по условию окончания файла считывать в переменную данные из файла и обрабатывать, как необходимо. Для создания файла данных открываем файл для записи (правильнее для добавления), заполнив переменную этого-же типа вручную и записать в файл. Для окончания ввода можно ввести проверку условия ввода пустого имени. Если необходимости в активном использовании таких данных нет, можно использовать простой текстовый файл с разделителями "точка с запятой" (*.CSV). Такой файл можно редактировать и в блокноте и в Excell.
В споре рождается истина.
|
|
02.03.2009, 23:55 | #10 |
Форумчанин
Регистрация: 29.01.2009
Сообщений: 175
|
Собственно вот что я набросал с помощу ваших советов
PHP код:
нужно использовать a: array [1..100] of real; но незнаю как это сделать и ещё а[i]. Пожалуйста помогите я только учус.
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.
Последний раз редактировалось Veselyn; 03.03.2009 в 01:05. Причина: Поправил |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлами и записями. Помощь с итоговой | Refenement | Помощь студентам | 13 | 19.03.2009 08:42 |
Работа с записями, паскаль | Дядька | Помощь студентам | 5 | 13.02.2009 18:44 |
работа с записями | Mango | Помощь студентам | 2 | 12.10.2008 23:54 |
Программа с записями | Алексей Д. | Помощь студентам | 5 | 27.04.2008 20:25 |
Help! Проблема с записями... | Sлавян | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 27.04.2008 16:40 |