Цель:
Программирование с использованием основных типов данных и управляющих структур.
Спецификация:
Написать программу, которая преобразует число с плавающей запятой base-S со значением вдиапазон [0,1) к его эквивалентному представлению base-D, где S, D = 2,…, 10. Ваша программа должна иметь возможность преобразовывать входное число по крайней мере с 8 значащими цифрами.
Подсказка: используйте манипуляторы ввода / вывода std::setw, std::setfill
и std::setprecision
для форматирования вывода.
Пробный прогон
Base conversion for numbers [0,1) with at least 8 significant digits.
Convert a number from base-S to base-D (2<=S<=10, 2<=D<=10):
Input S: 4
Input D: 9
Input a number [0,1)in base-4: 0.12341234
Error: 0.12341234 is an invalid base-4 number
Input a valid base-4 number: 0.12301230
0.12301230(4) is equivalent to 0.42352295(10) & 0.37266541(9)
Process another Conversion or Quit? (C/Q) C
Convert a number from base-S to base-D (2<=S<=10, 2<=D<=10):
Input S: 8
Input D: 5
Input a number in base-8: 0.66666666
0.66666666(8) is equivalent to 0.85714281(10) & 0.41203241(5)
Process another Conversion or Quit? (C/Q) Q
Примечание:
Загрузите оценочный лист в качестве титульного листа вашего домашнего отчета.
Вы можете проверить базовый конвертер для оценки ваших результатов,
это мой код
#include <iostream>
#include <string>
#include <cmath>
#include <math.h>
using namespace std;
int main()
{
int a; int b; int num; int i; int j;
int g[20];
double c;
double sum=0.0;
double n;
cout<<"Base conversion for numbers [0,1) with at least 8 significant digits."<<endl;
cout<<"Convert a number from base-S to base-D (2<=S<=10, 2<=D<=10):" << endl;
cout << "Input S: " ;
cin >> a;
cout << "Input D: " ;
cin >> b;
cout <<"Input a number [0,1)in base-"<<a<<":";
cin>> c;
cout << c << "("<< a <<")" << "is equivalent to" << ;
return 0;
}