我寫了這段代碼,它似乎很好,但輸出總是0可能是什麼問題?我只是寫一個代碼來從X號碼系統轉換爲十進制。C++,一個從x數字系統到十進制的轉換器
#include <string>
#include <iostream>
using namespace std;
int main() {
string str;
long szam = 0, Dec, num, Base = 1, x,i=1;
cout << "the number : ";
cin >> str;
cout << "The input number system:";
cin >> x;
while (str[i] == '\0')
{
if (str[i] = 'A') { num = 10;}
else if (str[i] = 'B') { num = 11; }
else if (str[i] = 'C') { num = 12; }
else if (str[i] = 'D') { num = 13; }
else if (str[i] = 'E') { num = 14; }
else if (str[i] = 'F') { num = 15; }
else { num = str[i] - '0'; }
Dec = Dec + num * Base;
Base = Base * x;
}
cout << szam << endl;
return 0;
}
如果x小於10它很容易,但我不能處理,因爲信使用號碼的10+系統。
請把代碼***放在問題本身***。 –
另外,您應該考慮用英語以外的其他語言編寫代碼的主要缺點之一是您不可能從地球其他地方獲得任何幫助。更糟的是,使用諸如「x」之類的神祕變量名稱不太可能從任何人*獲得幫助。 –
Sry你是對的 – Koreszka10