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

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

Восстановить пароль Регистрация
 
maven
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 93
19.01.2013, 16:13     Почему вектор с типом определенным пользователем не выводиться на экран? #1
народ короче я не могу вывести решение задачи на экран
Была задача:
Напишите программу, в которую сначала вводится набор пар, состоящих из имени
и значения, например 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     Почему вектор с типом определенным пользователем не выводиться на экран?
Посмотрите здесь:

Написать прогамму в которой в функцию передаються 2 переменные сравниваються и выстраиваються в порядке убывания функция main выводиться на экран C++
вывод слова на экран с типом char. C++
Почему не сортируется вектор структур? C++
C++ Русский язык в консоли, класс, вектор с типом класса
C++ Почему выводит не понятные символы, а не то что вводилось пользователем?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
19.01.2013, 16:19     Почему вектор с типом определенным пользователем не выводиться на экран? #2
Так перегрузите оператор <<
maven
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 93
19.01.2013, 17:24  [ТС]     Почему вектор с типом определенным пользователем не выводиться на экран? #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Так перегрузите оператор <<
Как? Покажите плиз.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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
_
200 / 144 / 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++ Как искать функции, работающие с определенным типом?
C++ IDE wxDev-C++, при создании кнопки на форме она почему-то становится во весь экран, почему?
Почему после вывода, поле authorName выводиться без первого символа? C++

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

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

Текущее время: 11:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru