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

Неправильно работает перегруженный оператор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Cпособ передачи книги http://www.cyberforum.ru/cpp-beginners/thread769636.html
Группа состоит из N человек. В ней каждый имеет N/2 друзей и не более К врагов. У одного из них есть книга, которую все хотят прочитать. Написать программу, реализующую способ передачи книги таким...
C++ Расчет треугольника В окно MFC вводятся длины двух сторон треугольника (1,2 строка) и величина угла между ними(3 строка). Найти третью сторону треугольника и вывести результат в четвертую строку. Предположительно... http://www.cyberforum.ru/cpp-beginners/thread769592.html
C++ Произведение элементов в строках, которые не содержат нулевых элементов
Задание: Реализуйте следующие задания своего варианта с использованием шаблона функции. Работа с двумерными массивами. Дана целочисленная прямоугольная матрица. Определить: Произведение элементов в...
multimap: Сортировка значений в пределах одного ключа C++
Добрый день. Каким образом можно отсортировать значения в пределах одного ключа в multimap? Без костылей.
C++ Visual studio express 2010, Передача данных в php скрипт http://www.cyberforum.ru/cpp-beginners/thread769539.html
Здравствуйте. Мне необходимо данные с c++ передать в PHP скрипт, как это можно осуществить? Приведите пожалуйста простой пример.(Да, и как в php будут приниматься данные в переменную).Спасибо
C++ Ассемблерные вставки Будут ли у меня проблемы, если я, поработав с регистрами, не восстановлю их после выхода из вставки? Если проблем не будет, то их не будет с любым регистром? Даже если я изменю cs/ss/sp? p.s Сам не... подробнее

Показать сообщение отдельно
Hrobak
289 / 169 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
23.01.2013, 14:05
Неправильно работает из-за того, что трижды используется getline, то есть считываются три строки. Можно сделать так:
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
#include <iostream>
#include <string>
using namespace std;
class PhoneNumber
{
    friend ostream &operator << (ostream &, const PhoneNumber &);
    friend istream &operator >> (istream &, PhoneNumber &);
private:
//    char areacode[4];
//    char exchange[4];
//    char line[5];
    string areacode, exchange, line;
 
};
ostream &operator <<(ostream & output, const PhoneNumber & num)
{
    output << "(" << num.areacode << ") " << num.exchange << "-" << num.line;
    return output;
}
istream &operator >>(istream &input, PhoneNumber &num)
{
    string temp;
    input.ignore();
    getline(input,temp);
    num.areacode=temp.substr(0,3);
    num.exchange=temp.substr(5,3);
    num.line=temp.substr(9,4);
    return input;
}
int main()
{
    PhoneNumber phone;
    cout << "input number int the format (123) 456-7890:"<<endl;
    cin >> phone;
    cout << endl << "Number was input: " << phone << endl;
 
    //system("pause");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru