Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
maven
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 93
#1

Почему вектор с типом определенным пользователем не выводиться на экран? - C++

19.01.2013, 16:13. Просмотров 354. Ответов 7
Метки нет (Все метки)

народ короче я не могу вывести решение задачи на экран
Была задача:
Напишите программу, в которую сначала вводится набор пар, состоящих из имени
и значения, например Joe 17 и Barbara 22. Для каждой пары занесите имя
в вектор names, а число — в вектор scores (в соответствующие позиции, так что
если names [7] «в"Joe", то scores [7] ==17). Прекратите ввод, введя строку
No more (т.е. следующая попытка ввести целое число завершится ошибкой). Убе
дитесь, что каждое имя уникально, и выведите сообщение об ошибке, если имя
введено дважды. Выведите на печать все пары (имя, баллы) по одной в строке.
Ну ее я сделал а теперь нужно:
Определите класс Name_value, хранящий строку и значение. Включите в него
конструктор. Повторите предыдущее задание чтобы
вместо двух векторов использовался вектор vector<Name_value>.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "std_lib_facilities.h"
int main(){
    class Name{
    public:
        int d;
        string name;
        Name(string nam,int h)
            :name(nam), d(h){}
    };
 
    vector<Name> n;
    string a;
    int b;
    while(cin >> a >> b || cin == "No more"){
        n.push_back(Name(a,b));
    }
    for(int i = 0; i < n.size(); ++i){
    cout << n[i] << '\n';
    }
    system("pause");
    return 0;
}
Но вот почему то не могу вектор n на печать вывести. Как не подскажите?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2013, 16:13     Почему вектор с типом определенным пользователем не выводиться на экран?
Посмотрите здесь:

Как искать функции, работающие с определенным типом? - C++
Всем привет! Сейчас у меня типичная нудная задача: создать строку wchar_t, конвертировать цифру из int в wchar_t, затем склеить...

Русский язык в консоли, класс, вектор с типом класса - C++
Добрый вечер. Написала класс. Сделала вектор с типом класса. Вектор хранит объекты класса. Добавляю в вектор элементы....

Почему после вывода, поле authorName выводиться без первого символа? - C++
Не могу понять причину и место, где это, собственно, происходит. #include &quot;stdafx.h&quot; // #include &quot;stdafx.h&quot;: // #include...

вывод слова на экран с типом char. - C++
Помогите пожалуйста не могу решить программу... Дано слово. Вывести это слово на экран с 4 знаками &lt;&lt;+&gt;&gt; в начале слова и с 5 знаками &lt;&lt;*&gt;&gt;...

Написать прогамму в которой в функцию передаються 2 переменные сравниваються и выстраиваються в порядке убывания функция main выводиться на экран - C++
Написать прогамму в которой в функцию передаються 2 переменные сравниваються и выстраиваються в порядке убывания функция main выводиться на...

В чем разница между типом функции и типом возвращаемого значения? - C++
Читаю статью https:// code-live. ru/post/cpp-functions/ (ссылку изменил дабы не делать рекламу) Там написано - Любая функция...

Почему выводит не понятные символы, а не то что вводилось пользователем? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;sstream&gt; #include &lt;cstring&gt; #include &lt;conio.h&gt; using namespace std; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
19.01.2013, 16:19     Почему вектор с типом определенным пользователем не выводиться на экран? #2
Так перегрузите оператор <<
maven
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 93
19.01.2013, 17:24  [ТС]     Почему вектор с типом определенным пользователем не выводиться на экран? #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Так перегрузите оператор <<
Как? Покажите плиз.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
19.01.2013, 17:31     Почему вектор с типом определенным пользователем не выводиться на экран? #4
C++
1
2
3
4
std::ostream& operator<<(std::ostream& rhs,const Name& lhs) {
        rhs << (lhs.name);
    return rhs;
}
maven
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 93
19.01.2013, 17:46  [ТС]     Почему вектор с типом определенным пользователем не выводиться на экран? #5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
2
3
4
std::ostream& operator<<(std::ostream& rhs,const Name& lhs) {
        rhs << (lhs.name);
    return rhs;
}
А можно както подругому решить просто я еше такого не изучал
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
19.01.2013, 18:19     Почему вектор с типом определенным пользователем не выводиться на экран? #6
Конечно можно. Добавь в класс функцию для печати значений элементов и строку 18 замени на вызов этой элемент-функции для каждого объекта.

А затея с перегрузкой опреатора << для класса, определенного внутри main ни к чему хорошему не приведет.

Добавлено через 10 минут
И еще:
Что по-твоему делает это:
C++
1
cin == "No more"
???
maven
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 93
20.01.2013, 07:01  [ТС]     Почему вектор с типом определенным пользователем не выводиться на экран? #7
Цитата Сообщение от ya_noob Посмотреть сообщение
Конечно можно. Добавь в класс функцию для печати значений элементов и строку 18 замени на вызов этой элемент-функции для каждого объекта.

А затея с перегрузкой опреатора << для класса, определенного внутри main ни к чему хорошему не приведет.

Добавлено через 10 минут
И еще:
Что по-твоему делает это:
C++
1
cin == "No more"
???
Из цыкла выходит
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2013, 14:45     Почему вектор с типом определенным пользователем не выводиться на экран?
Еще ссылки по теме:

Почему не добавляется элемент в вектор? - C++
продолжение этой темы, но с другой проблемой. http://www.cyberforum.ru/cpp-beginners/thread927463.html Пишу программу, которая принимает...

Почему не сортируется вектор структур? - C++
Выводится ошибка c:\qtsdk\mingw\bin\..\lib\gcc\mingw32\4.4.0\include\c++\bits\stl_algo.h:89: error: passing 'const Task' as 'this' argument...

Почему не инициализируется вектор размером 10? - C++
Хотел создать вектор размером 10, но visual studio выдаёт ошибку и при этом размер вектора равен 0, хотя я явно указал, что должно быть 10:...

Почему этот вектор остаётся пустым? - C++
Есть такой класс: typedef std::vector &lt;lab_Arr_t *&gt; lab_Stack_t; /*...

Вывести на экран матрицу с указанной пользователем позиции - C++
Двумерный динамический массив. Написать программу, которая выводит на экран массив с указанной пользователем позиции. Если позиция больше...


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

Или воспользуйтесь поиском по форуму:
maven
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 93
21.01.2013, 14:45  [ТС]     Почему вектор с типом определенным пользователем не выводиться на экран? #8
Цитата Сообщение от ya_noob Посмотреть сообщение
Конечно можно. Добавь в класс функцию для печати значений элементов и строку 18 замени на вызов этой элемент-функции для каждого объекта.
Блин не пойму как напишите плиз а?
Yandex
Объявления
21.01.2013, 14:45     Почему вектор с типом определенным пользователем не выводиться на экран?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru