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

Моя реализация функции перевода string в int - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структура «Железнодорожный состав» http://www.cyberforum.ru/cpp-beginners/thread741289.html
Создайте консольное приложение для решения задачи С++ Структура «Железнодорожный состав» с полями "номер поезда", "количество вагонов", "модель вагонов" (в одном составе используются вагоны одной модели). Бизнес-функция: расчёт длины состава по длине вагона для определенной модели (табл.). Модель вагона 10-4022 10-475 11-066 11-1709 11-1759
C++ Виртуальные функции Можете привести пример виртуальной функции с использованием ссылок? http://www.cyberforum.ru/cpp-beginners/thread741278.html
C++ Структура «Железнодорожный состав»
Структура «Железнодорожный состав» с полями "номер поезда", "количество вагонов", "модель вагонов" (в одном составе используются вагоны одной модели). Бизнес-функция: расчёт длины состава по длине вагона для определенной модели (табл.). Модель вагона Длина вагона(в м.) 10-4022 117,2 1--475 116,3 11-066 147,2 11-1709 ...
Другие виды списков C++
Помогите найти и исправить ошибку в задачке В текстовом файле заданы действительные числа. Выбрать из него убывающую последовательность наибольшей длины и вывести ее на экран. Если таких последовательностей несколько, то вывести их все в отдельной строке каждую. Для заполнения убывающих последовательностей формировать массив очередей, хранить для каждой очереди длину ее (количество...
C++ Наибольшее из трех чисел http://www.cyberforum.ru/cpp-beginners/thread741266.html
Составить функцию, которая получает три аргумента х, y, и z, и возвращает как результат наибольшее из х,y,z.
C++ Заменить каждую из групп точек одной точкой Ввести строку. Создать функцию, позволяющую заменить в заданной строке каждую из групп стоящих рядом точек одной точкой. Если знака <<.>> нет в строке, то вывести сообщение об етом.(использовать указатели). подробнее

Показать сообщение отдельно
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
23.12.2012, 01:01     Моя реализация функции перевода string в int
go, я попробовал реализовать перевод из одной СС в другую, можете посмотреть?
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <string>
#include <cmath>
#include <cctype>
#include <algorithm>
 
 
void UpperCase (std::string::iterator a, std::string::iterator b)
{
    while (a != b)
    {
        *a = toupper (*a);
        ++a;
    }
}
 
 
std::string Process (std::string s, int start, int finish)
{
    if (start < 2 || finish < 2)
        return ("Wrong Start or Finish CC!");
 
    int ans = 0, tmp, b = -1;
    UpperCase (s.begin(), s.end());
    //To 10 CC
    for (int i=s.length()-1; i >= 0; --i)
    {
        if ( isdigit(s[i]) )
            tmp = s[i] - '0';
        else
            tmp = s[i] - 'A' + 10;
 
        ans += tmp * pow (start + .0, ++b);
    }
 
    //From 10 CC
    std::string a;
    if (!ans) 
        a = '0';
    else
        while (ans)
        {
            if (ans % finish <= 9)
                a += (char(ans % finish + '0'));
            else
                a += (char(ans % finish - 10 + 'A'));
            ans /= finish;
        }
        std::reverse (a.begin(), a.end());
    return a;
}
 
int main()
{
    std::string str;
    int s, f;
 
    std::cout << "Enter Number: ";
    std::cin >> str;
    std::cout << "Enter start and end CC: ";
    std::cin >> s >> f;
 
    std::cout << Process (str, s, f) << std::endl;
    system ("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru