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

Баг в программе - C++

Восстановить пароль Регистрация
 
Term0
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 12
11.12.2013, 21:47     Баг в программе #1
Доброго времени суток,форумчане. Задача такова:
Массивв символов,содержащий 16-ое представление чисел. Надо перевести hex в dec.
Баг в 16-ом представлении чисел, 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
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
 
//Находим длину
int HexTodec(char *m)
{
int dlina;
    for(int i = 0;m[i]!='\0';i++)
        {dlina=i;}
cout<<"Dlina="<<dlina+1<<endl;
 
//Обрабатываем символы
int hh=0, i=0, itog=0;
  for(i=0;i<=dlina;i++)
  {
    //Обрабатываем символы A-F
    if(m[i]>=65)
    { 
        cout<<(int)m[i]<<endl;
       //hh=(pow(16,dlina-i))*(10+(m[i]-65));
      hh=pow(16,0)*(10+(m[i]-65));
      itog+=hh;
      
      
    }
    //Обрабатываем символы 1-9;
    else
        cout<<(int)m[i]<<endl;
       hh=(pow(16,dlina-i))*(m[i]-48) ;
      itog+=hh;
   }
   
  return itog;
};
 
 
int main()
{
   char num[]={};
   
   char *c=num;
   cout<<"Введите 16-ое число :\n";
   cin>>num;
   cout<<"10-ая форма записи:"<<HexTodec(c)<<"\n";
   
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 21:47     Баг в программе
Посмотрите здесь:

C++ "Баг" в программе
C++ Баг в программе по вычислению обратной матрицы
Баг компилятора???????? C++
Баг strcmp C++
C++ помогите определить баг или недочёт в программе.
Баг компилятора? C++
C++ std::regex : баг на сайте или баг компилятора?
C++ Баг в программе

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.12.2013, 06:44     Баг в программе #2
Цитата Сообщение от Term0 Посмотреть сообщение
Баг в 16-ом представлении чисел, 10-ые работают нормально.
см комментарии:
Цитата Сообщение от Term0 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
//Обрабатываем символы A-F
 if(m[i]>=65)
 { 
 cout<<(int)m[i]<<endl;
 //hh=(pow(16,dlina-i))*(10+(m[i]-65));
 hh=pow(16,0)*(10+(m[i]-65));// почему закоментировали предыдущую строку и поставили эту, где степень всегда равно 0 ?
 itog+=hh;
}
и что именно не нравится в программе? То что она по ходу вычисления показывает код каждого символа?
Yandex
Объявления
12.12.2013, 06:44     Баг в программе
Ответ Создать тему
Опции темы

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