IPB
ЛогинПароль:

> Монополия, некоторая проблема с программой
RathaR
сообщение 5.08.2009 21:35
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 346
Пол: Мужской
Реальное имя: Иван

Репутация: -  7  +


Начал писать "Монополию", если не выйдет с самообучающимся ИИ, сделаю просто на человек VS ИИ smile.gif
но вот проблема, программа верней - то что пока написано, вылетает, перед кодом коечто укажу для пояснения:
всё поле - это масив из 40 елементов - записей (element);
Заполнение поля - это считывание с текстового файла каждого елемента записи, причом для каждого считываеться обязательноего имя, и номер, если елемент поля - участок, то считывается еще и его стоимость, аренда и тд., если транспортная магистраль - то считываеться стоимость, если карточка то считываеться её тип, и тд...
И всё якобы хорошо, при первом проходе всё для первого елемента правильно считывает, но когда начинает считываться второй - прога вылетает, не считывает даже обязательные поля...
вот код:

program Monoply;
uses
        Crt,Graph;
const

        N=40;
        doma : set of byte = [1,3,6,8,9,11,13,14,16,18,19,21,23,24,26,28,29,31,32,34,37,39];
        card : set of byte = [2,4,12,17,27,38];
        special : set of byte = [7,10,20,30,36,40];
        transport : set of byte = [5,15,25,35];
        metro_phone : set of byte = [22,33];
        nomber_of_plase : set of byte = [1..N];
type
        element = record

        _name:string;
        _nomber:byte;

        case Activ_Nomber:byte of
          1,3,6,8,9,11,13,14,16,18,19,21,23,24,26,28,29,31,32,34,37,39 : ( cost,arenda_0,arenda_1,arenda_2,arenda_3,arenda_4,arenda_5:integer;
          house_cost:byte);
          2,4,12,17,27,3 : (type_of_card:byte;);
          7,10,20,30,36,4 : (type_of_spesial:byte;);
          5,15,25,35 : (cost_of_transport:integer;);
          22,33 : (cost_of_metro_phone:integer;);
        end;
var
        F1:text;
        M:array [1..N] of element;

{////////////////////////////////////////////////////////}

procedure Initializations;
var
        Gdriver,Gmod:integer;
begin
Gdriver:=detect;
initgraph(Gdriver,Gmod,'init\');
end;

{////////////////////////////////////////////////////////}

procedure Zapis_v_pamat;
var
        I:integer;
        nom:byte;
begin
Assign(F1,'pole.txt');
reset(F1);

For I:=1 to N do
begin
with M[I] do
  begin

  read(F1,_name);
  read(F1,_nomber);
  Activ_nomber:=_nomber;

if Activ_nomber in doma
  then begin
                read(F1,cost);
                read(F1,arenda_0);
                read(F1,arenda_1);
                read(F1,arenda_2);
                read(F1,arenda_3);
                read(F1,arenda_4);
                read(F1,arenda_5);
                read(F1,house_cost);
       end;
if Activ_nomber in card then  read(F1,type_of_card);
if Activ_nomber in special then read(F1,type_of_spesial);
if Activ_nomber in transport then read(F1,cost_of_transport);
if Activ_nomber in metro_phone then read(F1,cost_of_metro_phone);

  end;
end; 

close(F1);
end;   

{////////////////////////////////////////////////////////}

begin
Zapis_v_pamat;
readln;
end.



в файле только первые 12 елементов, но вылетает на втором

Сообщение отредактировано: RathaR - 5.08.2009 21:41


Прикрепленные файлы
Прикрепленный файл  pole.txt ( 409 байт ) Кол-во скачиваний: 251


--------------------
Считающий себя единственым здравомыслящим человеком сумасшедший? Если да, возможно я псих...
Пусть умолкнет всякий критик!
Я - системный аналитик!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 20.07.2025 5:17
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"