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

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

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

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

04.06.2012, 15:32. Просмотров 403. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2012, 15:32     Запрос номера телефона. Ошибка в программе.
Посмотрите здесь:

Создать функцию, проверяющую соответствие фамилии и номера телефона - 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;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; ...

Ошибка в программе - C++
Ребят привет, помогите в программе найти ошибку, вообще не понимаю #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;clocale&gt; ...

Ошибка в программе - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { int n; //proveryaemoe chislo ...

Ошибка в программе - C++
Возникает ошибка Unit1.cpp(86): E2377 If statement missing ) ругается на эту строчку if ((i*d)mod(w)=1)) В чем может быть проблема? ...

Ошибка в программе - C++
Написал 2 класса: 1 - описывает дробь с числителем и знаменателем (+ операции), 2 - шаблон, описывающий динамический массив указателей....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
04.06.2012, 15:50  [ТС]     Запрос номера телефона. Ошибка в программе. #2
Извиняюсь. Вот что программа печатает (123) -
Миниатюры
Запрос номера телефона. Ошибка в программе.  
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;
}
Yandex
Объявления
04.06.2012, 20:16     Запрос номера телефона. Ошибка в программе.
Ответ Создать тему
Опции темы

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