Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
#1

Классы. Перевод из 10 сс в 16 сс - C++

06.03.2013, 23:53. Просмотров 648. Ответов 9
Метки нет (Все метки)

Кликните здесь для просмотра всего текста

Создать класс «целое число».
Элементы класса:
поле задает значение целого числа (статус доступа private);
конструктор для инициализации поля;
метод для печати значения числа в шестнадцатеричной системе счисления.
Создать 1 объект данного класса, вывести на печать значение числа в шестнадцатеричной системе счисления.



C++
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
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include <locale.h>
#include <conio.h>
 
class ts_ch
{
    int x;
public:
    ts_ch()
    {
        x=0;
    }
    ts_ch(int a)
    {
        x=a;
    }
    int xec(int c)
    {
        int g=c;
        unsigned int mask = 0xF0000000;
       for(int i = 0; i<7; i++)
        {
            if((g&mask)>>0x1C < 10) 
                (g&mask)>>0x1C;
            else ((g&mask)>>0x1C)-10;
            g<<=0x04;
        }
        return g;
        }
    void print(int b)
    {
        x=b;
        std::cout << "Число: " << x << ". Число в 16-й СС: " << xec(x);
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    ts_ch p1;
    int x1;
    std::cout << "Введите число: ";
    std::cin >> x1;
    std::cout << '\n';
    p1.xec(x1);
    p1.print(x1);
    _getch();
    return 0;
}
У меня не переводит в 16-ю сс.... В чем ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2013, 23:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы. Перевод из 10 сс в 16 сс (C++):

перевод в двоичную систему через классы - C++
Помогите решить задачу используя классы. Дано натуральное число Р. Переведите его в двоичную систему счисления.

Перевод в бинарный код, используя классы - C++
собственно, вот что у меня получилось. без классов прога работает, а с классами выдает неправильные ответы. (в классах абсолютный чайник,...

Определить классы абстрактного выражения и классы для различных типов выражений - C#
помогите Реализовать объектно-ориентированную модель, определяет математическое выражение, представлен в виде дерева. Определить классы...

Непонятна тема (Классы содержащие другие классы, как данные члены ) - C++
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include &lt;iostream&gt; class Point { public: void SetX(int...

Работа с файловой системой: классы Directory и Filе и классы DirectoryInfo и FileInfo - C#
Уважаемые форумчане помогите пожалуйста с практической работой. Программным путем: В папке С:\temp создайте папки К1 и К2. В...

Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы - C++
Нужно написать программу, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы. Реализовать её нужно в трех...

9
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,126
07.03.2013, 00:19 #2
А в задании было, использовать побитовый сдвиг или это не обязательно??

Добавлено через 5 минут
Если не обязательно,
метод для печати значения числа в шестнадцатеричной системе счисления.
C++
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
class ts_ch
{
    int x;
public:
    ts_ch()
    {
        x=0;
    }
    ts_ch(int a)
    {
        x=a;
    }
    void setInt(int a)
{
x=a;
}
int getInt()
{
return x;
}
    void print()
    {
       
        std::cout << "Число: " << x << ". Число в 16-й СС: " <<hex<<x;
    }
};
0
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
07.03.2013, 00:33  [ТС] #3
egor2116, необязательно. Главное чтобы-переводило... Сижу уже 4 часа и никак не могу написать программу.

Добавлено через 2 минуты
egor2116, у меня не получается hex определить. Подключаю #include <ios> и все равно не определено

Добавлено через 2 минуты
egor2116, сделал по вашему способу... Не переводит
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,126
07.03.2013, 00:38 #4
Сделайте так что б проверить
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
 
int main ()
{
      cout << "Число: " << 1111 << ". Число в 16-й СС: " <<hex<<1111<<endl;
return 0;
}
у меня не получается hex определить.
C++
1
#include <iostream>
1
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
07.03.2013, 00:45  [ТС] #5
egor2116, спасибо большое! Заработало.
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,126
07.03.2013, 00:50 #6
+1 спасибо хорошая благодарность
0
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
07.03.2013, 00:53  [ТС] #7
egor2116, и еще один вопрос... А можно ли написать в виде отдельного метода перевод?
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,126
07.03.2013, 01:05 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
 
using namespace std;
 
class Test
{
private:
    int x;
public:
    Test(){}
    Test(int a){ x=a; }
    ~Test(){}
    void Print(){ cout << "Число: " << x << ". Число в 16-й СС: " <<hex<<x<<dec<<endl; }
    void Print(int a){ cout << "Число: " << a << ". Число в 16-й СС: " <<hex<<a<<endl; }
 
};
 
int main ()
{
    Test t(110);
    t.Print();
 
return 0;
}
1
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
07.03.2013, 01:11  [ТС] #9
egor2116, получается отдельная функция не нужна для перевода?
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,126
07.03.2013, 01:24 #10
Совершенно верно. Незачем делать то что уже сделано до Вас, если нет обратного задания.
В задании не сказано что необходимо разработать метод для перевода с 10-ого в 16-ое.
Сказано
метод для печати значения числа в шестнадцатеричной системе счисления.
Печать и сделана.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2013, 01:24
Привет! Вот еще темы с ответами:

Наследование, базовые классы и производные классы - C++
Добрый вечер.Задание: необходимо разработать поля и методы наследуемые из базового класса и собственные компоненты производных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
07.03.2013, 01:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru