«

»

C++. Символы и строки. Задача 13

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

Решение:

Возможно, что мой способ решения задачи покажется громоздким. Поэтому буду рад альтернативным вариантам, оставленным в комментариях.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <math.h>
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{setlocale(LC_ALL,"Rus");
char dec_str[255], n;
int hex=0, i=0, ost, perev, chislo=0;
cout<<" Введите число в десятичной СС >> ";
cin.getline(dec_str, 255);
n=strlen(dec_str);
while (n>0) //переводим данные в int
{
n--;
perev=dec_str[i];
if ((perev>=48) && (perev<=58))
chislo+=(perev-48)*(pow(10, float(n)));
else exit(0); i++;
} i=0;
while (chislo!=0)
{
ost=chislo%16; chislo=chislo/16;
switch(ost)
{
case 10: n='A'; break; case 11: n='B'; break;
case 12: n='C'; break; case 13: n='D'; break;
case 14: n='E'; break; case 15: n='F'; break;
}
if ((ost>=0) && (ost<=9))
{perev=ost+48; dec_str[i]=perev;}
else dec_str[i]=n;
i++;
}dec_str[i]='\0';
n=strlen(dec_str);
cout<<endl<<"Переведено в шестнадцатеричную СС >>";
for (i=n; i>=0; i--)
cout<<dec_str[i];
system("pause>>void");
return 0;
}

2 комментария

  1. Alex

    Все банально просто)
    #include
    int main()
    {
    std::cout <> num;
    std::cout << std::hex;
    std::cout << "to be = " << num << std::endl;
    system("pause");
    }

    1. Alex

      Что-то не то вставилось и не перепроверил.

      #include
      int main()
      {
      int num;
      std::cout <> num;
      std::cout << std::hex;
      std::cout << "to be = " << num << std::endl;
      system("pause");
      }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Проверка на человечность *