11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
1

Не выводится содержимое динамического списка

14.10.2012, 14:38. Показов 3194. Ответов 40
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
доброго времени суток.
структура с типом стринг, трем элементам структуры присваивается значение потом при попытки вывести одно из значений, тоесть обратится к списку через указатель выдает ошибку в строке вывода.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <vcl.h>
#pragma hdrstop
#include<iostream.h>
#include <tchar.h>
#include <string.h>
//---------------------------------------------------------------------------
 
struct lfile{
string name;
string data;
string upd;
    lfile*next;
}*start,*p;
void create_list(string a,string b,string c){
p = new lfile;
p->name=a;
p->data=b;
p->upd=c;
p->next = NULL;
start = p;
return;
}
char main(){
 setlocale(LC_ALL, "rus");
string a,b,c;
printf("Введите значение для первого элемента, создаваемого списка: ");
a="kot";
b="dog";
c="got";
cout<<p->name; \\ вот тут выдает ошибку
return 0;
}
ошибка такая [BCC32 Error] probstrukt.cpp(32): E2094 'operator<<' not implemented in type 'ostream' for arguments of type 'string'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2012, 14:38
Ответы с готовыми решениями:

Как связать звено элемента динамического списка с выбранным элементом из списка?
как связать звено элемента динамического списка с выбранным элементом из списка в коде? ...

Отбор записей динамического списка по выбранному значению отбора в виде выпадающего списка
Здравствуйте, имеется справочник с реквизитами: ДатаНачала, Продолжительность, Стоимость,...

Не выводится на экран элемент динамического массива
Здравствуйте! Сразу прошу прощения за название темы, т.к. далее по тексту вы узнаете, что проблема...

Не выводится содержимое
Всем привет. Помогите пожалуйста разобраться, у меня, в общем есть в админ панели есть раздел для...

40
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.10.2012, 15:06 2
Попробуйте #include <string.h> заменить на #include <string>, #include<iostream.h> на #include<iostream> и using namespace std; добавьте.
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
14.10.2012, 16:21  [ТС] 3
от той ошибки избавился))) возникает другая ошибка... на скрине она изображенна подскажите как от нее избавится и почему она возникает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <vcl.h>
#pragma hdrstop
#include<iostream.h>
#include <tchar.h>
#include <string>
//---------------------------------------------------------------------------
#include <conio.h>
struct lfile{
string name;
string data;
string upd;
    lfile*next;
}*start,*p;
void create_list(string a,string b,string c){
p = new lfile;
p->name=a;
p->data=b;
p->upd=c;
p->next = NULL;
start = p;
return;
}
main(){
setlocale(LC_ALL, "rus");
string a,b,c;
cout<<"Введите значение для первого элемента, создаваемого списка: ";
a="kot";
b="dog";
c="got";
cout<<start->name;
getch();
return 0;
}
Миниатюры
Не выводится содержимое динамического списка  
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.10.2012, 17:15 4
Ну, сначала надо память выделить, а потом к ней обращаться:
C++
1
2
3
start=new (lfile);
start->name="dog"; //для наглядности 
cout<<start->name;
alsav22, у него, вероятно, borland стоит.
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
14.10.2012, 17:38  [ТС] 5
Цитата Сообщение от lexflax Посмотреть сообщение
C++
1
2
3
4
5
6
p = new lfile;
p->name=a;
p->data=b;
p->upd=c;
p->next = NULL;
start = p;
ок вот тут p выделяется память но если я на вывод ставлю
cout<<p->name;
то таже самая ошибка возникает
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.10.2012, 17:53 6
Структуру сначала нужно заполнить. В функции main() сделайте вызов функции:
C++
1
create_list(a, b, c)
, а потом уже:
C++
1
cout<<start->name;
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
14.10.2012, 18:04  [ТС] 7
аллилуя вот совет помог сейчас работает, осталось только придумать как сделать функции чтоб можно было узнать количество записей ну или анкет в списке, как добавлять новые и новые, и как найти по имени какую нибудь из них.... мне вообще надо сделат динамический список и преподу сдать работу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <vcl.h>
#pragma hdrstop
#include<iostream.h>
#include <tchar.h>
#include <string>
//---------------------------------------------------------------------------
#include <conio.h>
struct lfile{
string name;
string data;
string upd;
    lfile*next;
}*start,*p;
void create_list(string a,string b,string c){
p = new lfile;
p->name=a;
p->data=b;
p->upd=c;
p->next = NULL;
start = p;
return;
}
main(){
setlocale(LC_ALL, "rus");
string a,b,c;
cout<<"Vvedite znachenie pervogo elementa v sozdavaemom spiske: ";
cin>>a>>b>>c;
create_list(a,b,c);
cout<<p->name<<endl<<p->data<<endl<<p->upd;
getch();
return 0;
}
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
14.10.2012, 18:07 8
Цитата Сообщение от BumerangSP Посмотреть сообщение
у него, вероятно, borland стоит.

Не по теме:

а мне кажется это RAD Studio, хотя если считать что Embarcadero их купила, то да это Borland


А по теме, ТС , а вы ООП проходили?
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
14.10.2012, 18:09  [ТС] 9
совершенно верно Embarcadero RAD Studio
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
14.10.2012, 18:12 10
а что насчет ООП?
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.10.2012, 18:18 11
Цитата Сообщение от lexflax Посмотреть сообщение
осталось только придумать как сделать функции чтоб можно было узнать количество записей ну или анкет в списке, как добавлять новые и новые, и как найти по имени какую нибудь из них.... мне вообще надо сделат динамический список и преподу сдать работу
Связанный спиок. На форуме тем много.
1
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
14.10.2012, 18:18  [ТС] 12
я правильно понимаю ООП это объектно-орентриуемое программирование? я заочник ускоренник у меня пар нету и группы свой нету специальность "программное обеспечение" так где что уловлю прочту так и как то на третий курс и перешел)
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
14.10.2012, 18:20 13
да ООП , это объектное программирование, так былобы проще, а вы как я понимаю собираетесь делать структуры наподобии стека?
1
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
14.10.2012, 18:23  [ТС] 14
ну вообще от препода у меня задание создать динамический список используя классы и стек, но честно говоря я не понял чем стек отличается от простой структуры, а с классами тем более у меня все плохо читал читал но как то смутно с ними все осталось, решил попробовать хотя бы без классов создать динамический список и функции добавления новых элементов в спикок, удаление ну и желательно поиск
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.10.2012, 18:27 15
Цитата Сообщение от lexflax Посмотреть сообщение
орентриуемое
Ориентированное.
Цитата Сообщение от Nixy Посмотреть сообщение
Не по теме:
а мне кажется это RAD Studio, хотя если считать что Embarcadero их купила, то да это Borland
Nixy, ну, да они из одной области.

Цитата Сообщение от Nixy Посмотреть сообщение
структуры наподобии стека?
Списка. Стек неуместен.

Добавлено через 2 минуты
Цитата Сообщение от lexflax Посмотреть сообщение
отличается от простой структуры
От какой простой? Стек - это и есть структура. От списка отличается, во-первых, назначением, во-вторых, особенностями реализации.
1
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
14.10.2012, 18:40  [ТС] 16
Цитата Сообщение от BumerangSP Посмотреть сообщение
Стек - это и есть структура. От списка отличается, во-первых, назначением, во-вторых, особенностями реализации.
а пример можно? как понять названием? и какая другая реализация у него может быть?
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.10.2012, 18:57 17
lexflax, назначением. В смысле, стеки, в основном, нужны для хранения каких-то промежуточных значений. Реализация (немного не так выразился), в смысле в список, например, можно добавлять элементы в начало, в конец, в середину. У стеков только один способ. Вообще, информации много на эту тему.
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
14.10.2012, 19:04 18
Цитата Сообщение от BumerangSP Посмотреть сообщение
lexflax, назначением. В смысле, стеки, в основном, нужны для хранения каких-то промежуточных значений. Реализация (немного не так выразился), в смысле в список, например, можно добавлять элементы в начало, в конец, в середину. У стеков только один способ. Вообще, информации много на эту тему.
то что список проще я сам понимаю , поэтому и спросил у товарища про ООП, а про стек я сказал увидев у него в его структуре указатель на следующий

Добавлено через 48 секунд
Цитата Сообщение от lexflax Посмотреть сообщение
а пример можно? как понять названием? и какая другая реализация у него может быть?
поищите в интернете, способ хранения информации, либо стек
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
16.10.2012, 06:44  [ТС] 19
вот функция добавления нового элемента в стктуру после уже созданного
C++
1
2
3
4
5
6
7
8
9
10
void new_element(string a,string b,string c){
lfile *q;
q = new lfile;
q->name= a;
q->data=b;
q->upd=c;
q->next = p->next;
p->next = q;
return;
}
вот только он становится вторым и чтоб его вывести надо писать строку
C++
1
cout<<p->next->name<<endl<<p->next->data<<endl<<p->next->upd;
но это и не удобно и не практично, как это все автоматизировать или упростить чтоб мог допустим добавлять элементы и по номеру элемента выводить его содержимое , допустим вывести содержимое 4 элемента... вот такой сейчас код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <vcl.h>
#pragma hdrstop
#include<iostream.h>
#include <tchar.h>
#include <string>
//---------------------------------------------------------------------------
#include <conio.h>
struct lfile{
string name;
string data;
string upd;
    lfile*next;
}*start,*p,*q;
void create_list(string a,string b,string c){
p = new lfile;
p->name=a;
p->data=b;
p->upd=c;
p->next = NULL;
start = p;
return;
}
void new_element(string a,string b,string c){
lfile *q;
q = new lfile;
q->name= a;
q->data=b;
q->upd=c;
q->next = p->next;
p->next = q;
return;
}
main(){
setlocale(LC_ALL, "rus");
string a,b,c;
cout<<"Vvedite znachenie pervogo elementa v sozdavaemom spiske: ";
cin>>a>>b>>c;
create_list(a,b,c);
cout<<p->name<<endl<<p->data<<endl<<p->upd;
cout<<"dobavit eshe element: ";
cin>>a>>b>>c;
new_element(a,b,c);
cout<<p->next->name<<endl<<p->next->data<<endl<<p->next->upd;
getch();
return 0;
}
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
16.10.2012, 10:45 20
сделайте функцию вывода по номеру элемента (у текущего элемента индекс 1, у самого 1 в стеке 0, поэтому индекс указвает на сколько глубоко в стек надо опустится)
C++
1
2
3
4
5
6
7
8
lfile *getFile(int index, lfile *curFile){
      if (index){
         index--;
         return getFile(index,curFile->next);
      }
      else
        return  curFile;
    }
и тогда вывод заменится таким образом
C++
1
2
cout<<getFile(1,p)->name<<endl<<getFile(1,p)->data;
        cout<<endl<<getFile(1,p)->upd;
0
16.10.2012, 10:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2012, 10:45
Помогаю со студенческими работами здесь

Не выводится содержимое файла
Почему не выводит содержимое файлов? Мб подскажете где я тут ошибся? &lt;html&gt; &lt;head&gt; &lt;meta...

Не выводится содержимое массива
Привет ребята! Задали такую задачку, код написал, но видать где-то косяк, массив из значений не...

Не выводится содержимое файла
Делаю таблицу рекордов для сапера. Алгоритм такой: сначала читаю файл, оттуда вывожу в стринггрид...

Не выводится содержимое $FIO
Подскажите, где ошибка!? Не выводит содержимое $FIO Shablonist.php &lt;!DOCTYPE html&gt; &lt;html&gt;...


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

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

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