Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2017, 20:12   #1
Елизавета017
 
Регистрация: 20.02.2017
Сообщений: 3
По умолчанию Перевести код из С++ в С

Код:
#include <iostream>

using namespace std;

int main()
{
   char inStr[10]; // buffer to store input string
   // clean it first
   for(int i = 0; i<10; i++) inStr[i] = 0;
   
   cout << "Please enter Hex Number: " ; 
   cin >> inStr;
   int iValue = 0;
   // get length of entered number n charasters
   int sLen = 0; 
   // could be used function sLen = strlen(inStr); but we count it ourself
   while(inStr[sLen] > 0)
   { sLen++;
     if (sLen > 100) break;
   }

   // char '0' == 30h == 42 for ASCII table
   // so to get 0 from '0' we need to cut 42.
   // hex number A1E7C3 == 10*16^5+1*16^4+14*16^3+7*16^2+12*16^1+3*16^0
   // will process string in reverse order
   int Base = 1;
   for(int i = sLen - 1; i >= 0; i--)
   {
        if (inStr[i] < 58) iValue += (inStr[i] - 48) * Base; // 0..9
        if (inStr[i] > 64) iValue += (inStr[i] - 55) * Base; // A..F
        Base *= 16;
        cout << "i=" << i << ' ' << inStr[i] << ' '<< (int)inStr[i] << ' ' << iValue << endl;
        if (i < 0) break;
   }
   cout << "Your number is:" << iValue << endl; 
   
   int oVal = iValue;
   char octStr [15];
   int j = 0;
   while (oVal > 0)
   {
       octStr[j++] = oVal % 8 + 48; // not forget to change number to ASCII char 
       oVal = oVal / 8;
   }
   octStr[j] = 0; // terminate string
//   cout << octStr;
   cout << "In Hex = " << inStr << " In Dec = " << iValue << " in Oct = ";
   while (j>0) cout << octStr[--j]; // type in reverse order
   cout << endl << " thank you for watching !" ;
   //cout << "Please enter Hex Number:" << endl; 
   return 0;
}
Прочитайте о том, как ПРАВИЛЬНО оформлять код, в этой теме: http://www.programmersforum.ru/showp...23&postcount=3

Последний раз редактировалось Вадим Мошев; 23.02.2017 в 21:17.
Елизавета017 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести код на C# Sashaa_i Общие вопросы C/C++ 6 03.12.2015 15:26
помогите перевести код Pascal в код Lazarus Ляйсан9517 Lazarus, Free Pascal, CodeTyphon 13 22.05.2014 17:19
помогите перевести код с VB в код Lazarus Ляйсан9517 Lazarus, Free Pascal, CodeTyphon 2 22.04.2014 19:31
Надо перевести код с Паскаля в код Lazarus Ляйсан9517 Помощь студентам 7 06.04.2014 22:44
Перевести код с VB на C# LT. Общие вопросы .NET 2 25.05.2010 19:21