Лабораторная РОбота № 3

ТЕМА :  Операторы Цикла

ЦЕЛЬ РАБОТЫ :  Приобретение навыков использования операторов цикла

Задание:

Составьте программу, которая решает поставленную в вашем варианте задачу. Программа должна:

представлять собой консольное приложение

отображать сведения о назначении и возможностях программы

отображать сведения об авторе программы

содержать ввод необходимых данных с клавиатуры

выводить результаты расчётов на экран

Вариант №5

Разработайте программу пересчёта целого числа в систему исчисления на основании числа K. Результат должен выводиться на экран в виде строки
Любое целое число может выть представлено в виде:
M = a0 K 0 + a1 K 1 + a2 K 2 + a3 K 3 +…..+ aN K N;
где ai =0, 1…К-1

Код программы

#include "iostream. h"

#include "windows. h"

#include "math. h"

void main()

{

char S[200]=" Программа пересчитывает целое число в систему исчисления на основании числа K.\n"

" Автор студентка группы 5341м Фундовная Евгения. \n";

CharToOem(S, S);

cout <<S;

begin:

double K, n;

CharToOem(" Введите основание системы исчисления - K = ",S);

cout<<S;

cin>>K;

CharToOem(" Введите число для пересчета - n = ",S);

cout<<S;

cin>>n;

int p=logf(n)/logf(K); // номер старшего разряда

int c; // цифра разряда нового числа

CharToOem(" Результат n: ",S);

cout<<S<<n<<'('<<K<<')'<<"\t";

for(int m=n ;p>=0; p--) // вычисление максимального значения делителя

{

c=0;

for (; c<=K-1; )

if (m >= pow(K, p))

{

c++; m=m-pow(K, p);

}

else

{

cout<<c;break;

};

}

cout<<"\n";

CharToOem("Продолжить? (Y/N)\t",S);

cout <<S;

char ans;

cin >>ans;

// cout <<ans<<'\t'<<(int)ans<<'\n';

if (ans=='Y'||ans=='y'||ans==-83||ans==-115) goto begin;

}

Результат работы программы

Выводы

В результате выполнения работы была создана программа, которая решает поставленную задачу. Использовалась функция CharToOem, которая преобразует строку в набор символов ОЕМ. Также использовались операторы for и break.