Перевод чисел в восьмеричную систему счисления - C (СИ)
Формулировка задачи:
ввести число не большее 500. вывести представление этого числа в восьмеричной системе счисления
Решение задачи: «Перевод чисел в восьмеричную систему счисления»
textual
Листинг программы
#include <iostream.h>
#include <stdio.h>
#include <windows.h>
int main()
{
char message[50];
CharToOem("Введите число от 1 до 500: ",message);
char n[10];
cout << message;
cin.getline(n,10);
int x = atoi(n);
if(x > 500) {
CharToOem("Вы ввели число большее 500!",message);
cout << message;
getchar();
exit(1);
}
if(x < 1) {
CharToOem("Вы ввели число меньшее 1!",message);
cout << message;
getchar();
exit(1);
}
char result[10];
itoa(x,result,8);
CharToOem("Число ",message);
cout << message << x;
CharToOem(" в восьмеричной системе счисления: ",message);
cout << message << result << ".";
getchar();
return 0;
}
Объяснение кода листинга программы
- Объявление переменной
messageтипаcharс размером массива 50 элементов. - Использование функции
CharToOemдля перевода строки в формат OEM. - Вывод строки с просьбой ввести число в диапазоне от 1 до 500.
- Ввод числа с помощью функции
cin.getlineв переменнуюnразмером 10 элементов. - Преобразование строки
nв целое числоxс помощью функцииatoi. - Проверка диапазона числа
x. - Если число
xбольше 500, то выводится сообщение об ошибке и программа завершается. - Если число
xменьше 1, то выводится сообщение об ошибке и программа завершается. - Объявление переменной
resultтипаcharс размером массива 10 элементов. - Преобразование числа
xв строку с помощью функцииitoaи сохранение результата в переменнойresult. - Объявление переменной
messageтипаcharс размером массива 50 элементов. - Использование функции
CharToOemдля перевода строки в формат OEM. - Вывод сообщения с числом
xв десятичной системе счисления. - Вывод сообщения с числом
resultв восьмеричной системе счисления. - Вывод точки после числа
result. - Получение символа конца строки с помощью функции
getchar. - Выход из программы с кодом 0.