![]() |
|
|
Регистрация | << Правила форума >> | 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; в строке где производится чтение из файла выдает ошибку несовместимости типов. МОжет кто знает почему??? Вечность имеет обыкновение проходить очень быстро |