Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Fuel
1 / 1 / 0
Регистрация: 04.01.2010
Сообщений: 6
1

Записи.

19.02.2010, 11:33. Просмотров 361. Ответов 0
Метки нет (Все метки)

Сведения об автомобиле состоят из его марки, номера и фамилии владельца.
Создать файл, содержащий сведения о нескольких автомобилях, после чего определить количество автомобилей каждой марки.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 uses 
crt;
type Tauto=record  {тип запись с полями по условию}
          mar:string[15];{марка}
          nom:string[15];{номер}
          fam:string[15];{фамилия}
          end;
var a:Tauto; {переменная типа Tauto для хранения одной записи}
    f:file of Tauto;{типизированный файл того же типа для хранения всех записей}
    i,n,k,m:integer;
    c:char; {символьная переменная для окончания цикла ввода данных}
    s:array[1..50] of string;{строковый массив для хранения названий марок}
begin
clrscr;
assign(f,'auto.dat'); {связываем переменную с файлом на диске}
rewrite(f); {открываем для записи}
n:=1;s[n]:=''; {формируем массив названий марок, первый элемент-пустая строка}
repeat  {заполняем данные}
write('Marka: ');readln(a.mar);{вводим марку}
m:=0;
for i:=1 to n do
if s[i]=a.mar then m:=m+1;{смотрим была ли такая марка раньше}
if m=0 then {если нет}
begin
inc(n);
s[n]:=a.mar;{заносим ее в массив}
end
else if m>0 then {если да}
begin
     inc(n);
     s[n]:=''; {заносим пустую строку}
   end;
write('Nomer: ');readln(a.nom); {вводим номер и фамилию}
write('Familia: ');readln(a.fam);
write(f,a); {заносим звпись в файл}
writeln('press enter dlya sledyuwei zapisi');
writeln('press esc dlya prosmotra informacii o markax auto');
c:=readkey; {ожидаем команды прекратить ввод данных}
until c=#27; {по нажатию Esc прекращаем}
clrscr;  {очищаем экран}
writeln('Informacia o kolichestve auto raznyh marok:');
writeln;
for i:=1 to n do  {идем по массиву названий марок}
if s[i]<>''then  {если не пустая строка}
   begin
     k:=0;
     reset(f); {открываем файл для чтения}
     while not eof(f) do
        begin
          read(f,a); {читаем записи}
          if s[i]=a.mar then k:=k+1; {считаем количество очередной марки}
        end;
     writeln('Kolichestvo auto marki ',s[i],' = ',k);{выводим}
     close(f); {закрываем файл, т.к. он прочитан до конца, и все повторяем со следующей маркой}
  end;
readln
end.
Если не трудно дайте ссылку на задачки, где есть процедуры удаления и коррекции записей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2010, 11:33
Ответы с готовыми решениями:

Добавление и удаление записи, поиск записи с максимальной зарплатой, сортировка по алфавиту
Помогите, пожалуйста!:help: Очень нужно сделать до 26!(а если не сложно, то еще и с комментариями...

Удаление записи из массива записи или файла
Доброго времени суток... Задача стоит такая. Есть массив записей, прочитали из файла или так...

Дан файл записей. Одно из полей записи ФИО. Вывести все записи в виде таблицы в алфавитном порядке ФИО
Я сделал ввод файла, а вот как сделать такой вывод не знаю. Помогите пожалуйста. Каждая запись...

Записи.Упорядочивание записи.
При решении списка задач который мне был выдан столкнулся с трудностью в последнем. Просьба по...

Записи(2)
Дан массив записей, содержащих дату (число, месяц, год) и время (час, минута, секунда). Упорядочить...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2010, 11:33

записи
Помогите пожалуйста с програмкой оч нужною.Заранее спасибо. распечатать анкетные данные...

записи
помогите плииз... известны фамилии всех 30 сотрудников фирмы и их адреса.определить,работают ли в...

Записи
Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru