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

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

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

Здравствуйте! Нужно написать программу,которая переводит число из 8-ой СС в 10-ую. Есть код С++
Листинг программы
  1. #include <iostream>
  2. #include <cmath>
  3. #include <cstdlib>
  4. using namespace std;
  5. long int oct2dec(int x);
  6. int main() {
  7. int x(0);
  8. do {
  9. cout << "Vvedite chislo v 8-oj SS";
  10. cin >> x;
  11. cout << " chislo v 8-oj SS " << x << " = " << oct2dec(x) << " v 10-oj SS." << endl;
  12. } while (x > 0);
  13. return 0;
  14. }
  15. long int oct2dec(int x) {
  16. long int sum = 0;
  17. int num = 0;
  18. long int p = 1;
  19. int temp = x;
  20. do {
  21. num = temp % 10;
  22. if (num > 7) {
  23. cerr << "Number is not valid";
  24. exit(1);
  25. }
  26. sum += num * p;
  27. p <<= 3; //*8
  28. temp /= 10;
  29. } while (temp);
  30. return sum;
  31. }
Нужно переделать под С и желательно сделать поподробней и попроще, т.к. работу программы придется объяснять. Помогите, пожалуйста

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

textual
Листинг программы
  1. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы