![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Народ, если можете, помогите пожалуйста!!!
Грузоподъемность пассажирского самолета составляет 30 т. Составить программу для определения веса почтового груза, который можно поместить в самолет после посадки пассажиров и загрузки их багажа. Во время регистрации пассажиров ЭВМ должна подсчитывать количество пассажиров (условный вес одного человека=100кг) и суммировать вес багажа. В списке должна содержаться следующая информация: номер рейса, направление, Ф.И.О. пассажира, вес его багажа, дата отправления. В результате работы программы сформировать список рейсов, вылетевших в определенный день, вычисляя вес почтового груза перевезенного на этом рейсе. Вычислить суммарный объем перевезенного каждым рейсом груза в течение указанного месяца. Или хотя приблизительно подскажите... Буду очень благодарна!!! |
|
#2
|
|||
|
|||
|
Приблизительно могу сказать, что работа с типизированными файлами очень проста. Определяете нужный вам тип и данные этого типа пишите и читаете в файл/из файла. Вот примерно так:
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TRegData = record
FlyNo: String[10];
FlyDate: TDateTime;
Destination: String[50];
PassengerName: String[100];
LuggageWeight: Double;
end;
const
FILE_NAME = 'c:\typedfile.bin';
var
F: File Of TRegData;
R1, R2: TRegData;
begin
// -- Это запись в файл ------------------------------------------------------
// Открываем файл на запись
AssignFile(F, FILE_NAME);
Rewrite(F);
// Заполняем запись
R1.FlyNo := 'A100';
R1.FlyDate := StrToDate('01.01.2008');
R1.Destination := 'Зимбабве';
R1.PassengerName := 'Иванов Иван Иванович';
R1.LuggageWeight := 6.3;
// Записываем ее в файл
Writeln(F, R1);
// Закрываем файл
// -- Это чтение из файла ----------------------------------------------------
// Открываем файл на чтение
AssignFile(F, FILE_NAME);
Reset(F);
// Считываем запись
// Теперь в записях R1 и R2 одинаковые значения
Readln(F, R2);
// Закрываем файл
CloseFile(F);
end.Код:
var Data: Array [0..200] Of TRegData; 1) Ввода данных с подсчетом количества заполненных позиций в массиве 2) Записи данных в файл 3) Чтения данных из файла 4) Подсчета веса пассажиров и багажа для выбранного рейса Цикл записи в файл будет примерно такой: Код:
... AssignFile(F, FILE_NAME); Rewrite(F); for i := 0 to PassengerCount - 1 do Writeln(F, Data[i]); ... Цикл чтения: Код:
... AssignFile(F, FILE_NAME); Reset(F); i := 0; while not EOF(F) do begin Readln(F, Data[i]); i := i + 1; end; PassengerCount := i; ... После того, как данные введены (или считаны из файла) нужно запросить пользователя, какой рейс (номер, дата) его интересует. Пользователь вводит номер рейса и дату, вы подсчитываете в цикле вес и вычисляете, сколько останется от заявленной грузоподъемности самолета, если все эти толстые пассажиры, по 100 килограмм каждый, займут свои места. Вот, если приблизительно, то так. |
|
#3
|
|||
|
|||
|
У меня вот такой код
Код:
type
TPlan = record
PlanName : string[50];
PlanID : integer;
check : boolean;
end;
var PList, PList1 : array [0..100] of TPlan;
f: file of Tplan;
.............
Assignfile(f, 'spisok.sld');
if not fileexists('spisok.sld') then rewrite(f)
else
begin
reset(f);
j:=0;
while not eof(f) do
begin
readln(f, Plist[j]);
j:=j+1;
end;
for i:=0 to j-1 do
if Plist[i].check=true then
begin
found:=false;
g:=0;
while (found = false) and (g<=k) do
begin
if PList1[i].PlanID=PList[g].PlanID then
begin
found:=true;
Plist1[i].check:=true;
end;
end;
end;
end;в строке где производится чтение из файла выдает ошибку несовместимости типов. МОжет кто знает почему??? |