Загрузка...

Как добавить float числа в этот код?

Тема в разделе C/C++ создана пользователем EV1 12 июн 2020. 199 просмотров

  1. EV1
    EV1 Автор темы 12 июн 2020 Дизайн - zelenka.guru/threads/227119/ 796 5 июл 2017
    Нужно чтобы считало не для 123, а для 123,52552 чисел
    Код

    #include <iostream>
    #include <string>
    #include <cctype>

    using namespace std;

    int main()
    {
    setlocale(LC_ALL, "Russian");
    string digits = "0123456789abcdefghijklmnopqrstuvwxyz";
    unsigned int maxRadix = digits.length();
    string value;
    unsigned int from, to;
    printf("Введите исходную систему счисления: \n");
    scanf_s("%d", &from);
    printf("Выходная система счисления: \n");
    scanf_s("%d", &to);
    back: cout << "Введите число: \n ";
    cin >> value;
    if (from < 2 || from > maxRadix || to < 2 || to > maxRadix)
    {
    cerr << "Неправильно значение\n";
    return 1;
    }

    for (size_t i = 0; i < value.length(); i++)
    {
    size_t pos = digits.find(tolower(value[i]));
    if (pos == string::npos || pos > from)
    {
    cerr << "Неправильное значение " << value << endl;
    return 1;
    }
    }
    unsigned long long number = 0;
    for (size_t i = 0; i < value.length(); ++i)
    {
    char k = tolower(value[i]);
    number = number * from + ((k >= 'a') ? k - 'a' + 10 : k - '0');

    }
    string result;
    while (number)
    {
    result.push_back(digits[number % to]);
    number /= to;
    }
    for (int i = 0, j = result.length() - 1; i < j; ++i, --j)
    {
    char x = result[i];
    result[i] = result[j];
    result[j] = x;
    }

    cout << result << endl;
    goto back;
    system("pause");
    return 0;
    }
     
  2. m0z4rt
    m0z4rt 15 июн 2020 92 24 май 2020
    unsigned float from, to;
     
Загрузка...
Top