[英]trying to make a C++ program to convert a 4 digit octal number to decimal
這是我的代碼,我嘗試使用谷歌搜索,但是我可以找到為什么我的代碼無法正確轉換數字的原因。 但是它符合要求。 您能告訴我為什么它不起作用以及我應該怎么做才能解決它。
#include <iostream>
using namespace std;
int main()
{
char a = 0;
char b = 0;
char c = 0;
char d = 0;
cout << "Enter 4 digit octal number ";
cin >> a >> b >> c >> d;
cout << "Decimal form of that number: " << (a * 512) + (b * 64) + (c * 8) + d << endl;
return 0;
}
因為您將值作為字符獲取,所以它們可能是您要與之相乘的ascii值。 嘗試使用(a-'0'),(b-'0')等
您還應該驗證輸入內容,以確保它是一個從0到7的數字。
為什么不讓標准庫來工作呢?
#include <ios>
#include <ostream>
#include <iostream>
int main()
{
unsigned n;
std::cin >> std::oct >> n;
std::cout << n << std::endl;
}
將您的值(a,b,c,d)轉換為整數,然后相乘。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.