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

Класс; Системы счисления. - C++

Восстановить пароль Регистрация
 
Gabelok
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 3
19.04.2011, 20:42     Класс; Системы счисления. #1
Задача: Создать программу для перевода с любой системы счисления в любою.
(использовать Классы ).
Помогите разобраться в описании класса(ов) (сколько их должно быть,какие методы там должны быть и тд...)
Буду рад любой помощи
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2011, 20:42     Класс; Системы счисления.
Посмотрите здесь:

C++ системы счисления
Системы счисления. C++ C++
C++ Системы счисления
C++ Системы счисления
из 16 в 10 (системы счисления) C++
Системы счисления C++
C++ С восьмеричной системы счисления в десятичную систему счисления
Системы счисления C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
20.04.2011, 01:37     Класс; Системы счисления. #2
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
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <iostream>
#include <string>
 
class BaseConverter {
 public:
  BaseConverter() : number_(0) {}
  BaseConverter(const std::string &number, size_t base)
    : number_(From(number, base)) {};
  explicit BaseConverter(unsigned int number) : number_(number){};
  unsigned int From(const std::string &number, size_t base) {
    number_ = 0;
    for (int i = number.size() - 1; i >=0; --i) {
      number_ += ((number[i] >= '0' && number[i] <= '9') ?
                  number[i] - '0' :
                 ((number[i] >= 'A' && number[i] <= 'Z') ?
                  number[i] - 'A' + 10 :
                  0 /* raizing error here may help */)) *
                  pow(base, number.size() - i - 1);
    }
    return number_;
  }
  std::string To(size_t base) {
    std::string result("");
    unsigned int temporary = number_;
    do {
      result = symbols_[temporary % base] + result;
      temporary /= base;
    } while (temporary != 0);
    return result;
  }
  unsigned int Number() { return number_; }
  void Number(unsigned int number) { number_ = number; }
 private:
  static const char symbols_[];
  unsigned int number_;
};
 
const char BaseConverter::symbols_[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 
int main(int argc, char **argv) {
  BaseConverter a("F00F", 16);
  std::cout << a.Number() << std::endl << a.To(16) << std::endl;
  return 0;
}
Gabelok
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 3
20.04.2011, 18:58  [ТС]     Класс; Системы счисления. #3
спасибо , разобрался
Yandex
Объявления
20.04.2011, 18:58     Класс; Системы счисления.
Ответ Создать тему
Опции темы

Текущее время: 08:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru