IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> База Данных, pascal
сообщение
Сообщение #1


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


Создать компонентный файл реализующий базу данных "записная книжка", которая состоит из след. полей: имя, фамилия, отчество, дата рождения, город, улица, дом, квартира, телефон.
Программа должна обеспечивать вввод записи с клавиатуры, а также сортировки записи по полю (отсортированную базу сохранить в другом файле)
Сортировка по фамилии.

Вот что получилось:
Program Lab11;
uses crt;
type
base = record
name, family, otchestvo, DofBr, city, street: string;
dom, kvartira, telefon: integer;
end;
var
mas:array[1..20] of string;
temp: string;
mass: array[1..20] of base;
filename: string;
f: file of base;
rf: file of base;
i, j, k, g:integer;
key: char;
proverka:boolean;
begin
clrscr;
write('Введите имя исх файла: ');
readln(filename);
assign(f, filename);
write('Введите имя рез файла: ');
readln(filename);
assign(rf, filename);
rewrite(f);
g := 0;
repeat
g := g + 1;
write('Имя:');
readln(mass[g].name);
write('Фамилия:');
readln(mass[g].family);
write('Отчество:');
readln(mass[g].otchestvo);
write('Дата рождения:');
readln(mass[g].DofBr);
write('Город:');
readln(mass[g].city);
write('Улица:');
readln(mass[g].street);
write('Дом:');
readln(mass[g].dom);
write('Квартира:');
readln(mass[g].kvartira);
write('Телефон:');
readln(mass[g].telefon);
write(f, mass[g]);
writeln('Выход ESC');
writeln('Для продолжения нажмите любую клавишу');
key:=readkey;
if key=#27 then break;
until false;
close(f);

reset(f);
i:=0;
while not eof(f) do
begin
i:=i+1;
read(f, mass[i]);
mas[g]:=mass[i].family;
end;


{сортировка ...}


reset(rf);
g:=0;
clrscr;
while not eof(rf) do
begin
g:=g+1;
read(rf, mass[g]);
writeln(g,' элемент списка: ');
writeln('Имя:' ,mass[g].name);
writeln('Фамилия: ',mass[g].family);
writeln('Отчество: ',mass[g].otchestvo);
writeln('Дата рождения: ', mass[g].DofBr);
writeln('Город: ',mass[g].city);
writeln('Улица: ',mass[g].street);
writeln('Дом: ',mass[g].dom);
writeln('Квартира: ',mass[g].kvartira);
writeln('Телефон: ',mass[g].telefon);
writeln('Нажмите любую кнопку!');
readln;

end;
close(f);
end.

Не получается отсортировать, да и мне кажется, что моя программа слишком громоздкая mega_chok.gif .
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Анна   База Данных   5.12.2005 18:54
volvo   Здесь была? FAQ: Как упорядочить данные по возрас…   5.12.2005 18:57
volvo   Анна, смотри аттач :cool:   6.12.2005 5:03
Анна   To: volvo Спасибо! Просто у самой пока време…   6.12.2005 19:49
Анна   To: volvo Выдаёт ошибку при открытии результирующ…   9.12.2005 0:57
volvo   Анна, это - типизированный файл, а не текстовый...…   9.12.2005 2:34
Анна   Я имела ввиду уже отсортированные данные :cool: .   9.12.2005 19:33
volvo   Я тоже... Этот фрагмент идет после QuickSort(mass,…   9.12.2005 19:58
Анна   Всё, разобралась! значит данные уже отсортиро…   9.12.2005 20:33
volvo   Анна, не путай... ClrScr стоит ПЕРЕД выводом на эк…   9.12.2005 20:37
Анна   To: volvo Абсолютно ничего не исправляла. Попробу…   10.12.2005 0:06
Анна   Небольшие изменения: Немного запуталась в программ…   11.12.2005 19:43
volvo   Анна, погоди, а почему ты делаешь так: { Если длин…   12.12.2005 6:38
Анна   volvo, ага, всё поняла .. Вот мой метод сортировк…   13.12.2005 1:16
volvo   { Ну, это и есть реализация метода пузырька - …   13.12.2005 4:07
Анна   volvo, поставил в тупик. Но нам сказали делать пуз…   13.12.2005 19:43
volvo   for i:=2 to g do for j:=g downto i do { срав…   13.12.2005 19:54
Анна   volvo, не поверишь, сама сейчас до этого догадалас…   13.12.2005 20:13
Анна   ну что я могу сказать ... да вот: for i:=1 to g-1 …   13.12.2005 20:52
Анна   end; reset(vf); ....... close(rf); end. Как сде…   20.12.2005 0:18
Анна   Нет никаких соображений? :wub:   24.12.2005 17:34
volvo   WriteLn(mass[2].otchestvo); В чем проблема? :blin…   24.12.2005 17:38


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.09.2025 6:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name