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

Перевод систем счисления. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод числа после запятой переменной типа double http://www.cyberforum.ru/cpp-beginners/thread202936.html
Здравствуйте!!! У меня есть 2 программы, одну мне дали вторую написал. Та программа которая была написана мной работает чуть чуть коряво:cry: Задание такое есть какоето число допустим 12.34567...и т.д. мне нужно вывести на экран числа после запятой и через запятую тоесть 3,4,5,6,7... вот код первой программы которую мне дали #include <iostream> using std::cout;
C++ Программа зависает Переписал пример из книги про указатели. #include <iostream> int main() { int *pA; int a; a=5; pA = &a; std::cout << *pA; delete pA; http://www.cyberforum.ru/cpp-beginners/thread202932.html
Компилятор влияет на результат!!! C++
Есть такая программа: int _tmain(int argc, _TCHAR* argv) { const long l = 10; *((long*)&l) = 200; printf ("%d", l); return 0; } По умолчанию компилируеться как С++ и выводит 10, но когда правой кнопкой кликнуть по проекту и изменить в свойствах настройки компиляции как чистый С, тогда выводит 200. Подскажите почему?
C++ можно ли в многоугольник с вершинами в заданных координатах вписать окружность
требуется написать программу которая определяет можно ли в многоугольник с вершинами в заданных координатах вписать окружность, и если можно то указать координаты центра и радиусю
C++ Передача потока по параметру функции http://www.cyberforum.ru/cpp-beginners/thread202924.html
Доброго времени суток. Есть пара вопросов :) Допустим у нас имеется функция открытия файла: int open_file() { char file_name; cin >> file_name; ifstream file_obf(file_name); //communication stream output with a file
C++ Нарушение прав доступа при записи Создаю свой класс ошибок следующим образом: class SecureTransportException { private: SecureLibraryErrorCode errorCode_; public: std::string knownErrorCodes_; //30 - кол-во ошибок SecureTransportException(SecureLibraryErrorCode errorCode); подробнее

Показать сообщение отдельно
Konkin
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 30
03.12.2010, 23:46     Перевод систем счисления.
Здравствуйте, сразу оговорюсь: занимаюсь программированием три дня. Я вот пытался сделать программу по переводу числа из 16-ричной системы в 10-ную.
В Визуал Студио 2008 строю решение. Все работает.

Однако вопросы:
1. Как задать чтобы буквы A, B, C, D, E, F, чтобы имели соответственно числовые значения (10, 11, 12 и т.д.)? Куда это писать в программе? Смысл такой чтоб, когда я вводил допустим число 12D, то мне D приходилось бы не в ручную писать как 13, а чтоб программа сама понимала что D=13.
2. Я смог написать программу для количества цифр в числе равное 3. Как избавится от этого ограничения? Чтобы подобный алгоритмы как тут, распространялись и на 4-ехзначные и на 5-тизначные и т.д. числа?
3. Каким образом сделать так, чтобы программа не могла посчитать, если я ввожу её цифры не из шестнадцатеричной системы счисления? Допустим ввожу 17. Надо чтоб она выдала надпись типа "счет невозможен". Как это реализовать? Использовать функцию if-else?

Буду рад вашей помощи. Вот код:

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
// Перевод числа из 16 в 10.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <locale.h>
#include <math.h>
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
        int S, a, b, c, N[3], m, z, e;
        float x=16;
 
 
        setlocale(LC_ALL, "russian");
        printf("Программа по переводу числа (при количестве цифр равное 3)\n");
        printf("из шестнадцатеричной системы\n");
        printf("в десятичную согласно алгоритму:\n\n");
        printf("(a1*16^n)+(a2*16^(n-1)+ ... + (an*16^0)");
        printf("\n\nНажмите любую клавишу\n\n");
        _getch();
        printf("Введите первую цифру заданного числа: ");
        scanf_s("%d", &m);
        printf("Введите вторую цифру заданного числа: ");
        scanf_s("%d", &z);
        printf("Введите третью цифру заданного числа: ");
        scanf_s("%d", &e);
        {
                for(int i = 2; i>=0; i--)
                        N[i]=i;
        }
 
        a= m* pow(x,N[2]);
        b= z* pow(x,N[1]);
        c= e* pow(x,N[0]);
    S=a+b+c;
        printf("Результат в десятичной системе счисления: %d", S);
        printf("\n\nСпасибо за пользование моей программой");
        _getch();
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru