Помощь - Поиск - Пользователи - Календарь
Полная версия: записи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-student-
1. В трех автопарках работают по 20 машин с заданными госномерами и указанными марками: ГАЗ, ЗИЛ, ЛИАЗ и т.д. Каждый водитель дает сводку о том, сколько километров прошла его машина в каждый день недели, и о размере выручки. Подсчитать общий километраж в каждом автопарке по каждому дню отдельно. В каком из автопарков самый большой автопробег? Какой день недели соответствует самой большой прибыли, полученной автохозяйством? Автомобили какой марки приносят самую большую прибыль?

вот наброски моей программы. Она не работает ,помогите найти ошибку
+Не могу сделать -(Подсчитать общий километраж в каждом автопарке по каждому дню отдельно. В каком из автопарков самый большой автопробег? Какой день недели соответствует самой большой прибыли, полученной автохозяйством? Автомобили какой марки приносят самую большую прибыль)

Буду очень признателен за помощь.

Код
type
   avto=record
   marka,navto,den:string;
   nparka:1..3;
   probeg,viruchka:word;
   end;

   var
    infile: file of avto;
    fa:avto;
    n,i:integer;
    fff:string;
    key:boolean;
    begin
     assign(infile,'file.dat');
     rewrite(infile);
     writeln('введите данные или нажмите ctrl-z');
     writeln(' марка,номер,день,номерпарка,пробег,выручка');
     while not eof do
     begin
     read(fa.marka,fa.navto,fa.den,fa.nparka,fa.probeg,fa.viruchka);
     write(infile,fa);
     end;
     close(infile);
     writeln('введите номер авто');
     readln(fff);
     key:= false;
     reset(infile);
     while(not eof(infile)) and (not key) do
     begin
     read(infile,fa);
     if fa.navto = fff then
     begin
     writeln(fa.marka,fa.navto,fa.den,fa.nparka,fa.probeg,fa.viruchka);
     key:=true;
     end;
     end;
     if not key then
     writeln('нет данных');
     close(infile);
     end.

Теги не забывай
-student-
в идеале прграмма должна выглядеть так:
- вся информация предварительно записывается в файл
- при открытии проги инфо автоматически считывается с файла
-пользователь вводит номер авто и получает данные
volvo
Цитата(-student- @ 16.05.05 15:39)
Она не работает ,помогите найти ошибку

В чем именно заключается "неработоспособность" этой программы?
-student-
Цитата(volvo @ 16.05.05 15:54)
В чем именно заключается "неработоспособность" этой программы?


ошибка
error 106 invalid numeric format
в строке read( fa.marka,fa.den...............);
volvo
Ничего подобного у меня не наблюдается... Вот с такими данными отрабатывает прекрасно (первые 3 параметра должны быть строками, последние 3 - числами):
Цитата
_1 _n1 _d1 1 100 20
^Z

Причем заметь, строки не должны содержать в себе пробелов, пробелы - это разделитель МЕЖДУ параметрами...
-student-
ввод данных у меня должен осуществляться через нажатие enter
а если без пробелов то все равно в итоге данные не выводятся
volvo
А почему у меня выводятся, а у тебя нет, ты не задавался таким вопросом?
Если же
Цитата
ввод данных у меня должен осуществляться через нажатие enter
, то вводи все переменные отдельно через ReadLn...
-student-
Цитата(volvo @ 16.05.05 17:43)
А почему у меня выводятся, а у тебя нет, ты не задавался таким вопросом?
Если же, то вводи все переменные отдельно через ReadLn...



- спасибо все работает сейчас буду доделовать но я думаю я еще вопросами достану
-student-
вот текст проги - заработала

  type
avto=record
marka,navto,den:string;
nparka:1..3;
probeg,viruchka:word;
end;

var
infile: file of avto;
fa:avto;
n,i,:integer;
fff:string;
key:boolean;



begin
assign(infile,'file.dat');
rewrite(infile);
writeln('введите данные или ctrl-z');
writeln(& #39;марка,номер,день,номерпарка,пробег,выруч
а' ');
while not eof do
begin readln(fa.marka);
readln(fa.navto);
readln(fa.den);
readln(fa.nparka);
readln(fa.probeg);
readln(fa.viruchka);
write(infile,fa);
end;
close(infile);
writeln('введите номер авто');
readln(fff);
key:= false;
reset(infile);
while(not eof(infile)) and (not key) do
begin
read(infile,fa);
if fa.navto = fff then
begin
writeln(fa.marka);
writeln(fa.navto);
writeln(fa.den);
writeln(fa.nparka);
writeln(fa.probeg);
writeln(fa.viruchka);
readln;
key:=true;
end;
end;
if not key then
writeln('нет данных');
close(infile);
end.


НО ТЕПЕРЬ НЕ ЗНАЮ ЧТО ДЕЛАТЬ С ЭТИМИ ЗАДАНИЯМИ --
(Подсчитать общий километраж в каждом автопарке по каждому дню отдельно. В каком из автопарков самый большой автопробег? Какой день недели соответствует самой большой прибыли, полученной автохозяйством? Автомобили какой марки приносят самую большую прибыль?)--
НАПИШИТЕ ЕСЛИ У КОГО ЕСТЬ КАКИЕ-НИБУДЬ МЫСЛИ ПО ЭТОМУ ПОВОДУ МНЕ ЭТО ОЧЕНЬ ПОМОЖЕТ
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.