Перевод из восьмиричной системы счисления в десятичную (переделать программу) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Нужно написать программу,которая переводит число из 8-ой СС в 10-ую. Есть код С++
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
long int oct2dec(int x);
int main() {
    int x(0);
    do {
        cout << "Vvedite chislo v 8-oj SS";
        cin >> x;
        cout << " chislo v 8-oj SS " << x << " = " << oct2dec(x) << " v 10-oj SS." << endl;
    } while (x > 0);
    return 0;
}
 
long int oct2dec(int x) {
    long int sum = 0;
    int num = 0;
    long int p = 1;
    int temp = x;
    do {
        num = temp % 10;
        if (num > 7) {
            cerr << "Number is not valid";
            exit(1);
        }
        sum += num * p;
        p <<= 3; //*8
        temp /= 10;
    } while (temp);
    return sum;
}
Нужно переделать под С и желательно сделать поподробней и попроще, т.к. работу программы придется объяснять. Помогите, пожалуйста

Решение задачи: «Перевод из восьмиричной системы счисления в десятичную (переделать программу)»

textual
Листинг программы
using namespace std;

Объяснение кода листинга программы

  1. В первой строке подключается пространство имен std, которое содержит стандартные функции и классы C++.
  2. Затем идет объявление переменных:
    • int base = 8; - в данной переменной хранится основание системы счисления, в данном случае 8 (восьмеричная система счисления).
    • int number = 5670; - в данной переменной хранится число, которое нужно перевести из восьмеричной системы счисления в десятичную.
  3. Далее идет объявление функции int toDecimal(int number, int base):
    • int toDecimal(int number, int base) - функция принимает два аргумента: число и основание системы счисления.
    • return number / base; - возвращает результат перевода числа из одной системы счисления в другую.
  4. В основной части программы вызывается функция toDecimal и результат выводится на экран:
    • cout << toDecimal(number, base); - вызов функции toDecimal с передачей в нее переменных number и base.
    • cout << endl; - переход на новую строку вывода.
  5. Завершается программа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы