Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 24

Вывод string из list

16.09.2012, 19:02. Показов 3396. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть некий класс.

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
class human
{
public:
string name;
int age;
};
 
int main ()
{
human one, two;
one.name="AnyName"; heal.name="AnyName";
one.age=10; two.age=5;
list<string> names;
list<int> ages;
names.push_back (one.name);
names.push_back (two.name);
costs.push_back (one.ages);
costs.push_back (two.ages);
 
cout << "Names contains: ";
for (list<string>::iterator it=names.begin(); it!=names.end(); ++it)
cout<<" "<<*it);
 
cout<<endl;
 
cout << "Costs contains:";
for (list<int>::iterator it=ages.begin(); it!=ages.end(); ++it)
cout<<" "<<*it);
 
getch();
};
В результате список ages выводится нормально, а names не выводится вообще, хотя при построчном выполнении видно что все нормально записано. Как правильно организовать вывод?
Win7, VS2008.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.09.2012, 19:02
Ответы с готовыми решениями:

Записать в файл list (очередь) объектов, в которых содержатся строки string, и считать с файла обратно в list
Извините подскажите пожалуйста, как записать list(очередь) объектов в которых содержаться string, и считать с файла обратно в list;...

Как используя C-String а потом и String class варьировать вывод?
Дана задача: при вводе полного И.О.Ф. (в таком порядке) выводить Ф, И и О(только первую букву и .). И если О не задано - выводить только...

List, string, файл
Всем привет! Есть текстовый 8 math +43.5hjti 34 ). Как сделать так чтобы программа вывела содержимое файла (не хочет выводить...

6
51 / 49 / 7
Регистрация: 31.10.2011
Сообщений: 98
16.09.2012, 19:38
Вообще, этот код компилироваться не должен - много ошибок (типа неизвестного heal в 11 строке, закрывающейся скобки в 22).
Ваш способ вывода строк вполне нормальный, единственное - в обоих случаях в цикле я бы использовал const_iterator вместо iterator.
0
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 24
16.09.2012, 19:55  [ТС]
Код печатал вручную(не копипастой из VS), поэтому и ошибки, так-то все компилировалось, но не выводилось. Да и сейчас на выводе в names нет ничего.

А вместо

Цитата Сообщение от Oktaram Посмотреть сообщение
heal.name="AnyName";
должно быть two.name, думаю это очевидно.

Цитата Сообщение от serejkus Посмотреть сообщение
я бы использовал const_iterator вместо iterator
А почему?

Добавлено через 8 минут
error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::basic_string<_Elem,_Traits,_Ax>' (or there is no acceptable conversion)

Ругается компилятор. Если заменить cin на printf() не ругается, но ничего не делает.
0
 Аватар для kotleta
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
16.09.2012, 19:55
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
#include <iostream>
#include <list>
 
using namespace std;
 
class human
{
    public:
        string name;
        int age;
};
 
int main ()
{
 human one, two;
 
 one.name="Denis"; two.name="Valera";
 one.age=14; two.age=-5;
 
 list <string> names;
 list <int> ages;
 
 names.push_back (one.name);
 names.push_back (two.name);
 ages.push_back (one.age);
 ages.push_back (two.age);
 
 cout << "Names contains: ";
 for (list<string>::iterator it=names.begin(); it!=names.end(); ++it)
 cout<<" "<<*it;
 
 cout<<endl;
 
cout << "Costs contains:";
for (list<int>::iterator it=ages.begin(); it!=ages.end(); ++it)
cout<<" "<<*it;
 
int i;
cin >> i;
 
return 0;
};
Теперь работает.
Не знает, может вы тоже программы по ночам пишете)))
У вас все логически правильно написано, но в синтаксите я обнаружил кучу недекларированных переменных..
0
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 24
16.09.2012, 19:57  [ТС]
Скопировал, запустил, но оно не компилится... >_<
error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::basic_string<_Elem,_Traits,_Ax>' (or there is no acceptable conversion)

P.S. По ночам, да)
0
 Аватар для kotleta
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
16.09.2012, 20:02
Добавьте #include <string>

Добавлено через 1 минуту
Ваш компилятор пишет no operator found which takes a right-hand operand of type 'std::basic_
Это значит "не найден оператор, который использует правый операнд типа std::basic_string

В вашем классе
name объявлена как тип string

Вам нужно подключить #include <string>
1
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 24
16.09.2012, 20:06  [ТС]
А слона-то я и не заметил...
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2012, 20:06
Помогаю со студенческими работами здесь

Вывод элементов map <string,vector<string>>
Доброго времени суток. Как можно вывести массив map &lt;string,vector&lt;string&gt;&gt; mp ? Могу только предположить, что нужно как-то...

Вывод содержимого map<string, set<string>>
Необходимо реализовать серверную часть словарика синонимов, где внесение синонимов имеет формат 'Set &lt;Word1&gt; &lt;Word2&gt;', а вывод...

Как вывести list<string>?
list&lt;string&gt; the_list_input;

Удаление vector, list, string
Привет! Такая задача. В программе я описал класс Class1. Класс содержит поля стандартных типов, а также поле std::string и...

Как вывести в файл list<string>?
как вывести в файл список (list)? string symbol; list&lt;string&gt; the_list_input;


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru