nik007
Удален
|
Привет всем!!! подскажите что тут не правельно??? program pr_1; type car=record end; var i:integer; marca:string; god:integer; color:string; namber:integer; f1:text; f2:text; begin assign(f1,'car.dat'); rewrite(f1); for i:=1 to 2 do begin writeln('введите марку машины'); readln(marca); writeln('введите год выпуска'); readln(god); writeln('введите цвет'); readln(color); writeln('введите номер'); readln(namber); end; close(f1); assign(f1,'car.dat'); reset(f1); assign(f2,'carbleck.txt'); rewrite(f2); while not eof (f1) do if color='чёрный' then write (f2, ' marca, god, color, namber'); close(f1); close(f2); assign(f2,'carbleck.txt'); reset(f2); while not eof (f2) do write (f2, 'marca, god, color, namber'); close(f2); end.
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 16 нояб. 2006 10:51 | IP
|
|
KMA
Долгожитель
|
Вау, а слабо условие задачи сказать??? Если так рассуждать, то все верно записано. Только надо assign два раза использовать, ты один раз связываешь переменную с именем файла (если конечно потом не хочешь его переоределить), поэтому писать одно и то же, т. е. assign (f1, 'car.dat') немного неправильно )
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 16 нояб. 2006 22:24 | IP
|
|
nik007
Удален
|
Привет!! Создать нетекстовый файл car.dat, содержащий информацию о машинах ( марка, год выпуска, цвет, номер ). Переписать в текстовый файл информацию о машинах чёрного цвета, упорядоченную в порядке убывания года выпуска. Последнего у меня нет! Если не трудно, то напиши буду очень благодарен !!!
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 17 нояб. 2006 8:11 | IP
|
|
KMA
Долгожитель
|
Так, ну во-первых ты должен создать запись типа car: car=record marka: string [15]; {марка} year: word; {год} color: string [10]; {цвет} number: string [6]; {номер} end; Я не знаю, толком, как вы именно хотите работать с информацией, но я обычно препочитаю массивы (при этом динамические), но здесь я буду использовать самый обыкновенный, состоящий примерно из 20 элементов (думаю, больше машин черного цвета не будет). Итак, заводим массив: found: array [1..20] of car; buf: car; {вспомогательная переменная} fCar: file of car; {файл с хранимыми машинами} fFound: text; {текстовый файл} Теперь можно приступить к самому коду программы: BEGIN assign (fCar, 'car.dat'); assign (fFound, 'carBlack.txt'); {открываю файл car.dat для записи} ReWrite (fCar); writeLn ('Сколько записей вы хотите добавить ->'); readLn (n); {записываю в него всю информацию} for j:=1 to n do begin write ('Марка машины ->'); readLn (buf.marka); write ('Год машины ->'); readLn (buf.year); write ('Цвет машины ->'); readLn (buf.color); write ('Номер машины ->'); readLn (buf.number); write (fCar, buf) end; close (fCar); {сохранил все записи} {Открываю файл заново и считываю в массив found машины у которых цвет черный} reSet (fCar); k:=0; while not eof (fCar) do begin read (fCar, buf); if (buf.color='черный') or (buf.color='black') then begin inc (k); found[k]:=buf end end; close (fCar); {теперь сортируем массив по годам, если таковые есть, если же нет, то k=0, я просто не пишу это условие, поскольку это не столь важно, т. к. излагаю только суть вопроса} for i:=1 to k-1 do for j:=1 to k-1 do if found[j].year > found[j+1].year then begin buf:=found[j]; found[j]:=found[j+1]; found[j+1]:=buf; end; {теперь у нас есть массив, отсортированный осталось только записать его в текстовый файл} reWrite (fFound); for j:=1 to k do begin with found[j] do begin write (fFound, marka+' '); write (fFound, year); writeLn (fFound, ' '+color+' '+number); end end; close (fFound) END; Вот должно получиться что-то типа этого.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 17 нояб. 2006 14:32 | IP
|
|
nik007
Удален
|
Привт. Привет! Тут ошибочка вышла, может быть так, а то он пишет found= array [1..20] of car; buf=car; {вспомогательная переменная} fCar=file of car; {файл с хранимыми машинами} fFound=text; {текстовый файл} 90: “=” expected
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 17 нояб. 2006 16:34 | IP
|
|
nik007
Удален
|
Но даже если сделать так, то позже на строке assign (fCar, 'car.dat'); ожидается символ ‘’(‘’ , сразу после car перед запятой. А var тут создавать ненадо??
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 17 нояб. 2006 17:14 | IP
|
|
KMA
Долгожитель
|
^$@#*$@, ты вообще понимаешь что ты делаешь или нет. Естественно надо: Type car=record marka: string [15]; {марка} year: word; {год} color: string [10]; {цвет} number: string [6]; {номер} end; VAR found: array [1..20] of car; buf: car; {вспомогательная переменная} fCar: file of car; {файл с хранимыми машинами} fFound: text; {текстовый файл} i, j, k: byte;
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 17 нояб. 2006 19:41 | IP
|
|
Guest
Новичок
|
Да я уже сам разобрался ! Просто стормози малость!!! Огроменное спасибо! Чем я могу тебя отблагодорить??
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 17 нояб. 2006 20:09 | IP
|
|
KMA
Долгожитель
|
не знаю даже, мне никто не предлагал помощь. Можешь, если то 1000000 $ мне бы на первое время хватило А если серьезно, то просто следи за тем, что ты пишешь и главное, понимай других людей. P. S. Прошу прощения за оффтопик.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 17 нояб. 2006 20:18 | IP
|
|
flower
Новичок
|
Привет всем!Пожалуйста помогите решить задачу!Создать нетекстовый файл о сотрудниках(фамилию,имя,номер телефона)1)Найти номер телефона по фамилии сотрудника.2)Переписать в алфавитном порядке в текстовый файл инфу о сотрудниках, у которых первые цифры телефона 41.Очень срочно нужно,в понедельник экзамен!!Заранее спасибо!
|
Всего сообщений: 1 | Присоединился: декабрь 2013 | Отправлено: 18 нояб. 2006 16:32 | IP
|
|
|