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

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

Войти
Регистрация
Восстановить пароль
 
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
#1

Запрос номера телефона. Ошибка в программе. - C++

04.06.2012, 15:32. Просмотров 417. Ответов 2
Метки нет (Все метки)

Добрый день. Подскажите что не так.
Не могу никак понять где ошибка. Программа запрашивает номер телефона в виде (123) 456-789
а потом выводит на экран. А в результате показывает только три первые цифры и скобки.
Например, если ввел номер (123) 456-789 то напечатает (123). Где ошибка?

Код
#include "stdafx.h"
#include "iostream"
#include "clocale"
using namespace std;

class PhoneNumber
{
	friend ostream &operator<<(ostream &output, const PhoneNumber &num);
	friend istream &operator>>(istream &input, PhoneNumber &num);
private:
	char areaCode[4];
	char exchange[4];
	char line[5];
};

ostream &operator<<(ostream &output, const PhoneNumber &num)
{
	output << "(" << num.areaCode << ") " << num.exchange << '-' << num.line;
	
	return output;
}

// (123) 456-789
istream &operator>>(istream &input, PhoneNumber &num)
{
	input.ignore();						// "("
	input.getline(num.areaCode, 4);		// "123"
	input.ignore(2);					// ") "
	input.getline(num.exchange, 4);		// "456"
	input.ignore();						// "-"
	input.getline(num.line, 5);			// 789

	return input;
}


int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL, "russian");

	PhoneNumber phone;

	cout << "Введите номер телефона в виде (123) 456-789: ";
	cin >> phone;
	cout << "Был введен номер телефона: " << phone << endl;



	cout << "\n\n";
	system("pause");
	return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2012, 15:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запрос номера телефона. Ошибка в программе. (C++):

Создать функцию, проверяющую соответствие фамилии и номера телефона - C++
Создать функцию, проверяющую соответствие фамилии и номера телефона. Возвращает «истину», если фамилия и номер телефона совпадают с...

Телефонный справочник: добавление/удаление/поиск номера телефона - C++
Есть вот такое задание: Написать программу «расширенный телефонный справочник». Создайте массив указателей из двух элементов. Каждый...

При вводе даты рождения и номера телефона в структуру выдает неверные данные - C++
#pragma hdrstop #pragma argsused #include &lt;tchar.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include...

При вводе имени абонента или его номера выводить его фамилию, номер телефона и адрес. - C++
Создать телефонный справочник на 10 имен, адресов и номеров. При вводе имени абонента или его номера выводить его фамилию, номер телефона и...

Запрос вывода порядкового номера каждой записи таблицы - C++
Если кто знает, подскажите, как сформулировать запрос SQL Компонента Query1 чтобы вывести порядковый номер каждой записи таблицы? ...

Ошибка в программе - C++
Вот код программы: #include &lt;iostream&gt; using namespace std; class Str { private: int man; public: ...

2
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
04.06.2012, 15:50  [ТС] #2
Извиняюсь. Вот что программа печатает (123) -
0
Миниатюры
Запрос номера телефона. Ошибка в программе.  
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
04.06.2012, 20:16 #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
34
35
36
37
38
39
40
41
42
#include "iostream"
#include "clocale"
#include <string>
using namespace std;
 
class PhoneNumber
{
    friend ostream& operator<<(ostream &output, const PhoneNumber &num);
    friend istream& operator>>(istream &input, PhoneNumber &num);
public:
    string areaCode;
    string exchange_line;
};
 
ostream& operator<<(ostream &output, const PhoneNumber &num)
{
    output<<num.areaCode<<" "<<num.exchange_line;
    return output;
}
 
// (123) 456-789
istream& operator>>(istream &input, PhoneNumber &num)
{
    input>>num.areaCode;
    input>>num.exchange_line;
    return input;
}
 
int main()
{
    setlocale(LC_ALL, "russian");
 
    PhoneNumber phone;
 
    cout << "Введите номер телефона в виде (123) 456-789: ";
    cin >> phone;
    cout << "Был введен номер телефона: " << phone << endl;
 
    cout << "\n\n";
    system("pause");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2012, 20:16
Привет! Вот еще темы с ответами:

Ошибка в программе - C++
complex.h #ifndef _COMPLEX_H_ #define _COMPLEX_H_ //класс комплексного числа class TComplexDigit { public: double...

Ошибка в программе - C++
Доброго времени суток. Только недавно начал пробовать что то ваять на С, пока все получалось до этого момента. #include &quot;stdafx.h&quot; ...

Ошибка в программе! - C++
найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N. Выведите целое число Q. Если...

Ошибка в программе - C++
Программа должны выводить слова с неповторяющимися символами, свое назначение она выполняет, и выводит все правильно, НО после выполнение...


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

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

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