|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2010, 18:54 | #1 |
Пользователь
Регистрация: 10.02.2010
Сообщений: 13
|
си++ перевод числа из шестнадцатиричной системы в десятичную.
в чем ошибка?
#include <cstdlib> #include <iostream> #include <string.h> using namespace std; int main(int argc, char *argv[]) {char sh[30]; int dec,num,v ; cout<<" enter nunber\n " ; cin.getline(sh,29) ; toupper(sh); dec=0; v=1; for(num=strlen(dv)-1;num>=0; num--){ if(sh[num]>='0' && sh[num]<='9' ) dec=v*(sh[num]-48)+dec; else if(sh[num]>='A' && sh[num]<='F') dec=v*(sh[num]-55)+dec ; v*=16 ; } cout<<dec<<endl ; |
18.04.2010, 19:19 | #2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Особо не всматривался, но из того, что бросилось в глаза - toupper приводит к верхнему регистру символ, а не строку. Чтобы привести строку необходимо цикл писать
Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
си++ перевод числа из двоичной системы в десятичную. | Bonne | Помощь студентам | 1 | 13.04.2010 22:07 |
Перевод числа из двоичной системы в десятичную С++ | kontroller | Помощь студентам | 2 | 15.02.2010 20:39 |
Перевод из шестнадцатиричной в десятичную систему | Dayne | Помощь студентам | 5 | 02.10.2009 01:04 |
Перевод числа в различные системы счисления | ...Оленька... | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 14.12.2008 16:08 |