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

Тип int. Как вывести следующее 050? - C++

Восстановить пароль Регистрация
 
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
11.11.2012, 20:03     Тип int. Как вывести следующее 050? #1
Вопрос следующего характера, имея переменную типа int, как вывести к примеру код мобильного оператора в Украине, скажем МТС (050)

Это конечно для меня не критично, на как бы на будущее надо знать.

вот задача:
Номер телефона, например (212) 767—8900, можно условно разделить на три части: код города (212), номер телефонной станции (767) и номер абонента (8900). Напишите программу с использованием структуры, поз-
воляющую раздельно хранить эти три части телефонного номера. Назовите структуру phone. Создайте две структурные переменные типа phone.
Инициализацию одной из них произведите сами, а значения для другой запросите с клавиатуры. Затем выведите содержимое обеих переменных на экран. Результат работы программы должен выглядеть приблизительно так:

Введите код города, номер станции и номер абонента:
415 555 1212
Мой номер (212) 767-8900
Ваш номер (415) 555-1212
Вот как бы я решение сделал
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
#include <iostream>
 
using std :: cout;
using std :: cin;
using std :: endl;
 
struct phone
{
    int code;
    int station;
    int abonent;
};
 
int main ()
{
    setlocale (LC_ALL, "Russian");
 
    phone myphone = {111, 222, 3333};
    phone yourphone;
 
    cout << "Введите код города, номер станции и номер абонента:" << endl;
    cin >> yourphone.code >> yourphone.station >> yourphone.abonent;
    cout << "Мой номер (" << myphone.code << ") " << myphone.station << "-" << myphone.abonent << endl;
    cout << "Ваш номер (" <<yourphone.code << ") " << yourphone.station << "-" << yourphone.abonent << endl;
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.11.2012, 20:34     Тип int. Как вывести следующее 050? #2
C++
1
2
3
4
5
6
7
#include <iostream>
#include <iomanip>
 
int main()
{
   std::cout << std::setfill('0') << std::setw(3) << 50 << std::endl;
}
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
11.11.2012, 20:47  [ТС]     Тип int. Как вывести следующее 050? #3
что-нить проще есть? т.к. когда нужно будет сложить, лично мне кажется гемор будет...
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.11.2012, 21:18     Тип int. Как вывести следующее 050? #4
куда уж проще, и так все просто
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
11.11.2012, 21:26  [ТС]     Тип int. Как вывести следующее 050? #5
для вывода как бы да, но в таком случае как мне вот это все добро завернуть в yourphone.code
или скажем сложить то что Вы предложили примерно так myphone.code + yourpone.code
я понимаю в задаче это не поставлено, но скажем а вдруг было бы поставлено такое условие.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.11.2012, 21:39     Тип int. Как вывести следующее 050? #6
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
#include <iostream>
#include <iomanip>
 
struct phone
{
    int code;
    int station;
    int abonent;
};
 
std::ostream& operator << (std::ostream& os, phone const& ph)
{
   char fill = os.fill();
   os.fill('0');
   os << '(' << std::setw(3) << ph.code << ") " << ph.station << ' ' << ph.abonent << std::endl;
   os.fill(fill);
   return os;
}
 
int main ()
{
    phone myphone = {50, 222, 3333};
 
    std::cout << myphone;
    
    return 0;
}
http://liveworkspace.org/code/a2f7ad...f4114883649cc9
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2012, 21:49     Тип int. Как вывести следующее 050?
Еще ссылки по теме:

Низкоуровневый ввод-вывод. Как с помощью функции write записать в файл тип int? C++
C++ Зачем преобразовывать itsVal в int, если эта переменная и так объявлена как тип int
C++ Как использовать символьный тип данных с типом int?

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

Или воспользуйтесь поиском по форуму:
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
11.11.2012, 21:49  [ТС]     Тип int. Как вывести следующее 050? #7
ок, спасибо
Yandex
Объявления
11.11.2012, 21:49     Тип int. Как вывести следующее 050?
Ответ Создать тему
Опции темы

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