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

Программа, превращающая числа в десятичные - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разложение числа на множители http://www.cyberforum.ru/cpp-beginners/thread910370.html
var s1,s2,n: longint; f: integer; begin write('vvedite natural chislo '); readln(n); f:=0; s1:=1; repeat s2:=s1;
C++ Подсчитать наибольшую глубину вложенности папок и вывести этот путь используя рекурсию необходимо подсчитать наибольшую глубину вложенности папок и вывести этот путь. помогите пожалуйста!!! http://www.cyberforum.ru/cpp-beginners/thread910369.html
C++ составьте программу для вычисления сумм элементов каждой строки матриц A(5,6), С(6,7)
составьте программу для вычисления сумм элементов каждой строки матриц A(5,6), С(6,7)
C++ Как написать класс "вектор" на С++
Нужно написать класс для нумерации элементов вектора не с 0, а любыми символами.... К примеру в паскалеподобных языках такое осуществимо. То есть элементы вектора 1 2 3 4 5 можно было пронумеровать -10 -9 -8 -7 -6 -5-й элемент. Такую же задачу нужно осуществить на С++
C++ Разбор строк ассемблерной программы http://www.cyberforum.ru/cpp-beginners/thread910340.html
Вот код: #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <conio.h> int main() { char buffer; char filename;
C++ Дана строка. Удалить из строки все двойные символы. Пример: “asddewwf” → “asdewf” Дана строка. Удалить из строки все двойные символы. Пример: “asddewwf” → “asdewf”. подробнее

Показать сообщение отдельно
strange_man
9 / 9 / 0
Регистрация: 17.05.2012
Сообщений: 118

Программа, превращающая числа в десятичные - C++

23.06.2013, 22:10. Просмотров 473. Ответов 3
Метки (Все метки)

Страуструп Б. Принципы и практика использования C++.

Написать программу, считывающая числа (десятичные, восьмеричные или шестнадцатеричные) и превращающая их в десятичное. Нужно, чтобы программа выводила соответствующую информацию:
"0x4 шестнадцатеричное превращается в 67 десятичное"
"0123 восьмеричное превращается в 291 десятичное"
"65 десятичное превращается в 65 десятичное".

Согласно учебнику, мне неизвестны функции, которые повторно выводят числа в том виде в котором их я ввел, то есть мне нужно их вводить в строку, потом создать строковый поток и из него считать число в десятичном виде.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main()
{
    setlocale(LC_ALL,"Russian");
    cout << "Please, enter numbers \n";
 
    vector<int> num(3,0);
 
    for (int i = 0; i < num.size(); i++)
    {
        string n;
        cin >> n;
        istringstream ss(n);
        ss.unsetf(ios::dec);
        ss.unsetf(ios::oct);
        ss.unsetf(ios::hex);
        ss >> num[i];
        if (!ss) error("ошибка форматирования числа ", n);
        notification(n, " превращается в ", num[i], " десятичное\n");
    }
    
    keep_window_open();
    return 0;
}
функция notification обрабатывает строки и определяет основание числа. возможно, есть соответствующие функции, но я их не нашел в тексте главы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
void notification(const string& typed_num, const string& st1, const int dec_num, const string& st2)
{
    cout << typed_num;
 
    if (typed_num[0] == '0' && (typed_num[1] == 'x' || typed_num[1] == 'X'))
        cout << " шестнадцатеричное";
    else if (typed_num[0] == '0')
        cout << " восьмеричное";
    else cout << " десятичное";
 
    cout << st1 << dec_num << st2;
}
так верно? мне кажется, нет. может я туплю?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru