0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 22
1

Динамические структуры.объекты

15.12.2012, 16:19. Показов 684. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать базу сотовых компаний.вроде все по порядку делала.но при компиляции выскакивает непонятная ошибка....помогите выяснить причину
Миниатюры
Динамические структуры.объекты  
Вложения
Тип файла: rar база.rar (39.0 Кб, 14 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2012, 16:19
Ответы с готовыми решениями:

Динамические структуры данных, списковые структуры (надо разобраться что делает программа)
дана программа, надо помочь выяснить что в ней делает каждая подпрограмма unit Unit6; ...

Динамические объекты
Сутки добрые, подскажите чайнику!! Есть код if FNode.selectNodes('//name').item.text = 'check'...

Динамические структуры данных
Народ помогите с задачей!! С чего начать? Написать прогу для слияния двух отсортированных списков...

Динамические структуры данных
Списки.Задание: Двусвязный список: создание, добавление в начало, удаление первого элемента...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32590 / 21059 / 8134
Регистрация: 22.10.2011
Сообщений: 36,332
Записей в блоге: 8
15.12.2012, 16:41 2
Какая ошибка? Все нормально у меня откомпилировалось. Единственное, что надо поправить - это в 46 строке:
Delphi
1
    Abonent:= TAbonent.Create_Read; // Было : Abonent:= Abonent.Create_Read;
0
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 22
15.12.2012, 17:01  [ТС] 3
когда имя файла вводите abonents в окошке появляются цифры с буквами и оно закрывается
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32590 / 21059 / 8134
Регистрация: 22.10.2011
Сообщений: 36,332
Записей в блоге: 8
15.12.2012, 21:32 4
Это, пардон, никак не этап компиляции. Это уже рантайм. Задавай вопросы более четко.

А ошибка у тебя - потому что структура файла не совпадает с тем, что ты пытаешься из него читать. Вот смотри, файл данных:
Сотовые компании
Теле 2
Немцов А.С.
Плехановская
10
15
89514031200
100р

Сидорова Е.В.
Танеева
3
2
89523005412
50р
Всё, дальше - неважно, уже будет видна ошибка. Теперь - как ты это читаешь:

Delphi
1
2
3
4
5
6
7
8
9
10
11
      AssignFile(t,file_name);
      Reset(t);
      readln(t,networkname);
      Network:=TNetwork.create(networkname); // Создана сеть, ладно, допустим
      while not eof(t) do
      begin
        readln(t,companyname); // <--- Вот оно...
        abonent:=TAbonent.Create(t);
        network.add(companyname,abonent)
      end;
      CloseFile(t)
Видишь, в чем дело, да: Перед каждым именем абонента программа читает имя компании. У тебя перед первым именем абонента оно есть, а перед вторым - уже нет. То есть, за имя компании на второй итерации принимается "Сидорова Е.В.", ну и при попытке в число прочесть строку программа вылетает.

Но даже до этого не дойдет. Обрати внимание также на строку:
Delphi
1
if(p^.next <> nil) or  (P^.next^.company.comparecompany(namecompany)>0) then
в методе TNetwork.Add. Эта строка неверная: если p^.next будет равно NIL (а при первом добавлении так оно и будет), то будет вылет, потому что первое условие не выполнилось, программа попробует выполнить второе, и перейдет по пустому указателю. Правильно строка выглядит так:
Delphi
1
if(p^.next = nil) or  (P^.next^.company.comparecompany(namecompany)>0) then
(если p^.next = nil), то второе условие даже не проверяется, результат и так будет положительный... В общем, основные проблемы у тебя - со структурой файла данных...
1
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 22
16.12.2012, 17:51  [ТС] 5
исправила все,но теперь выяснилась другая проблема на экран выводит название сети и компании,а информацию об абоненте нет.хотя в процедурах это делается
Вложения
Тип файла: rar База.rar (38.4 Кб, 7 просмотров)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2012, 17:51
Помогаю со студенческими работами здесь

Линейные динамические структуры
Построить стек, элементы которого русские слова фиксированной длины. Подсчитать число совпадающих...

Управляющие структуры. Программирование алгоритмов разветвляющейся структуры.
как это в delphi выполнить?((( Вычислить объем и площадь полной поверхности цилиндра, если...

Динамические объекты и AdoQuery
всем привет!) проблема такая Когда я ввожу данные в динамический созданный Edt и наживаю на...

динамические структуры данных.нужна срочно!
опишите процедуру,формирующую список L, включив в него по одному разу элементы,которые входят в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru