Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2012, 17:44   #1
Ольга 89
Новичок
Джуниор
 
Регистрация: 21.05.2012
Сообщений: 29
Печаль Откуда считываются данные?

Есть программа не понимаю откуда считываются данные?
Уже задавала разные пути и всё никак
Условие таково :

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

В итоге должно выйти что-то типа:
Введите марку автомобиля:
PORSHE
Найдено автомобилей:3
PORSHE 911 Номер12345 Иванов
PORSHE Boxster Номер 11234 Петров
PORSHE Cayenne Номер 11123 Сидоров

Код:
type AutoRec = record 
  Marka : string[45];
  Nomer : string[15];
  Vladelec : string[45];
end;

var
   sFind : string;
   OneAuto : AutoRec;
   f : file of AutoRec;
   countA : integer;
begin
   WriteLn('Введите марку авто:');
   Readln(sFind);

   Assign(f, 'ИмяФайла.dat');
   Reset(f);
   countA := 0;
   while Not eof(f) do begin
      Read(f, OneAuto);
      if Pos(sFind, OneAuto.Marka)>0 then begin
         Inc(countA);
         WriteLn('Марка: ',OneAuto.Marka,' Номер: ',OneAuto.Nomer,' Владелец: ',OneAuto.Vladelec);
      end;
   end;
   Close(f);
   WriteLn('Всего найдено автомобилей заданной марки: ', countA);
   Readln
end;
Ольга 89 вне форума Ответить с цитированием
Старый 21.05.2012, 18:46   #2
Ольга 89
Новичок
Джуниор
 
Регистрация: 21.05.2012
Сообщений: 29
По умолчанию

Неужели никто не может помочь?
Ольга 89 вне форума Ответить с цитированием
Старый 21.05.2012, 18:51   #3
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Тутже написано вроде:

Код:
Assign(f, 'ИмяФайла.dat');
из файла ИмяФайла.dat который должен находится рядом с exe.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 21.05.2012, 19:09   #4
Ольга 89
Новичок
Джуниор
 
Регистрация: 21.05.2012
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Тутже написано вроде:

Код:
Assign(f, 'ИмяФайла.dat');
из файла ИмяФайла.dat который должен находится рядом с exe.
Пишет что нет такого файла
Ольга 89 вне форума Ответить с цитированием
Старый 21.05.2012, 19:12   #5
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Значит его нужно создать.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 21.05.2012, 19:14   #6
Ольга 89
Новичок
Джуниор
 
Регистрация: 21.05.2012
Сообщений: 29
По умолчанию

Я его создала и всё равно пишет что файл не найден!
Ольга 89 вне форума Ответить с цитированием
Старый 21.05.2012, 19:21   #7
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Походу вам в опись переменных надо добавить вот такую вещь + в саму программу.

Код:
type AutoRec = record 
  Marka : string[45];
  Nomer : string[15];
  Vladelec : string[45];
end;

var
   sFind : string;
   OneAuto : AutoRec;
   f : file of AutoRec;
   countA : integer;
   fname: string;

begin
   fname:='Avto';
 
   Assign(f, fname);
   rewrite(f);
   ...{ вводите данные о автомобилях и т.д. }
   { после ввода осуществляете поиск }
  close(f);
  reset(f);
  WriteLn('Введите марку авто:');
   Readln(sFind);
   countA := 0;
   while Not eof(f) do begin
      Read(f, OneAuto);
      if Pos(sFind, OneAuto.Marka)>0 then begin
         Inc(countA);
         WriteLn('Марка: ',OneAuto.Marka,' Номер: ',OneAuto.Nomer,' Владелец: ',OneAuto.Vladelec);
      end;
   end;
   Close(f);
   WriteLn('Всего найдено автомобилей заданной марки: ', countA);
   Readln
end;
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 21.05.2012, 19:21   #8
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Попробуй написать путь к файлу типа такого C:\1.dat
И разумеется фаил нужно положить по этому пути.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 21.05.2012, 19:29   #9
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Попробуй написать путь к файлу типа такого C:\1.dat
И разумеется фаил нужно положить по этому пути.
Вот вам человек дело говорит, могу дать ещё совет закинуть в корневую папку Bin ту что в самом паскале находиться ваш созданный файл, и тогда возможен ваш вариант( просто потому что компил. по умолчанию ищет файл в корневой папке ).

Код:
Assign(f, 'Avto.dat');
к примеру.

Если файла нету, то я вам написал возможный вариант развития событий више.
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 21.05.2012, 19:30   #10
Ольга 89
Новичок
Джуниор
 
Регистрация: 21.05.2012
Сообщений: 29
По умолчанию

После добавления строк ничего не изменилось!!!
Цитата:
Сообщение от Valio Посмотреть сообщение
Попробуй написать путь к файлу типа такого C:\1.dat
И разумеется фаил нужно положить по этому пути.
После указания пути тоже!
Ольга 89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не понимаю откуда? Droniwe Работа с сетью в Delphi 0 30.03.2012 22:38
Откуда нуль?? FrozenHurt Общие вопросы C/C++ 2 21.01.2012 22:04
Из файла считываются не те значения al-udmi Общие вопросы C/C++ 2 20.12.2011 23:44
Откуда старые рисунки?.. Meti Microsoft Office Word 0 07.06.2010 14:30
откуда ошибка 183? vl1639 Общие вопросы Delphi 4 17.01.2009 01:11