С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Функция для конвертирования систем счисления. Не выходит :( - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс "Телефонный справочник" http://www.cyberforum.ru/cpp-beginners/thread823863.html
Здравствуйте, нужно написать курсовую работу на тему "телефонный справочник" используя классы. Классы должны быть абстрагированными (думаю очень сильно абстрагировать не надо, 4-6 штук хватит), чтобы...
C++ Поставить в строке номер для буквы в соответствии с алфавитом Всем привет, вот занимаюсь таким делом: У меня есть слово, допусти "Hello". в этом слово мне нужно поставить каждой букве номер в соответствии с алфавитом. Написал так: int main () { char... http://www.cyberforum.ru/cpp-beginners/thread823824.html
C++ Простые утилиты обслуживания. Поддержка пакетных (процедурных) файлов
Помогите выполнить задание: вывести список всех файлов из указанной директории, имена которых содержат русские буквы. Я добился вывода всех файлов из указанной директории, а нужно сделать, чтобы...
C++ Быстрое возведение в степень
Написать функцию быстрого возведения в степень. Функция принимает в качестве параметров y,x и n и возвращает y^x mod y как результат программы.
C++ Написать справочник намеченных дел и мероприятий. http://www.cyberforum.ru/cpp-beginners/thread823801.html
Справочник намеченных дел и мероприятий. 1.Список намеченных мероприятий(дата, время, длительность, место проведения) 2.Реализуемые функции: напоминание о ближайшем мероприятии (по текущей дате и...
C++ ZeroMemory в конструкторе b __vfptr Есть два базовый и производный классы с виртуальными методами. В конструкторах хочу обнулить все поля, но если я делаю ZeroMemory(this ,sizeof(this)); то заодно обнуляется таблица __vfptr, и что... подробнее

Показать сообщение отдельно
Аццкий Прогер
21 / 10 / 4
Регистрация: 07.01.2013
Сообщений: 222

Функция для конвертирования систем счисления. Не выходит :( - C++

31.03.2013, 16:21. Просмотров 446. Ответов 2
Метки (Все метки)

Помогите решить задачу:
Написать функцию, которая получает в качестве аргументов целое положительное число и систему счисления, в которую это число должно переводится (системы счисления от 2 до 36). Например, при переводе числа 27 в систему счисления 16 должно получиться 1B; 13 в 5-ю - 23; 35 в 18-ю - 1H.

Если система счисления до 10, то все получается, если уже выше...
Я понимаю, что то делаю не правильно. Вот подскажите, в каком направлении двигаться ))

Мои потуги:

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
using namespace std; 
 
 
int Convert (int a, int b);
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL, "russian");
    int x;
    x=Convert (15, 16);
    cout<<x<<endl;
    _getch();
    return 0;
}
int Convert (int a, int b)
{
    setlocale (LC_ALL, "russian");
    int o=0, k=1;
    if (b<10)
    {
        do
        {
            o+=a%b*k;
            a/=b;
            k*=10;
        }
        while (a);
    }
    if (b>10)
    {
        do
        {
            o+=a%b*k;
            a/=b;
            k*=10;
        }
        while (a);
        switch (b=10)
        {
        case 10: 'A';
            break;
        default:
            cout<<"Не верный ввод!"<<endl;
        }
        switch (b=11)
        {
        case 10: 'A';
        case 11: 'B';
            break;
        default:
            cout<<"Не верный ввод!"<<endl;
        }
        switch (b=13)
        {
        case 10: 'A';
        case 11: 'B';
        case 12: 'C';
            break;
        default:
            cout<<"Не верный ввод!"<<endl;
        }
        switch (b=14)
        {
        case 10: 'A';
        case 11: 'B';
        case 12: 'C';
        case 13: 'D';
            break;
        default:
            cout<<"Не верный ввод!"<<endl;
        }
        switch (b=15)
        {
        case 10: 'A';
        case 11: 'B';
        case 12: 'C';
        case 13: 'D';
        case 14: 'E';
            break;
        default:
            cout<<"Не верный ввод!"<<endl;
        }
        switch (b=16)
        {
        case 10: 'A';
        case 11: 'B';
        case 12: 'C';
        case 13: 'D';
        case 14: 'E';
        case 15: 'F';
            break;
        default:
            cout<<"Не верный ввод!"<<endl;
        }
    }
    return o;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.