Bardzo proszę o pomoc w napisaniu tego programu!
Język c++


Bardzo Proszę O Pomoc W Napisaniu Tego Programu Język C class=

Odpowiedź :

Odpowiedź:

#include <iostream>

#include <string>

using namespace std;

string value(int value)

{

   if (value < 10) {

       return to_string(value);

   }

   

   switch(value) {

       case 10:

           return "A";

           break;

       case 11:

           return "B";

           break;

       case 12:

           return "C";

           break;

       case 13:

           return "D";

           break;

       case 14:

           return "E";

           break;

       case 15:

           return "F";

           break;

   }

}

bool isCorrect(int base)

{

   if (base == 2 || base == 8 || base == 16) {

       return true;

   }

   

   return false;

}

string convert(int n, int base)

{

   string out;

   for(int i=0; n>0; i++) {

       out +=value(n%base);

       n = n/base;  

   }

   

   n = out.length();

   for (int i = 0; i < n / 2; i++)

       swap(out[i], out[n - i - 1]);

   return out;

}

int main() {

   int value;

   int base;

   bool baseIsCorrect = false;

   cout<<"Podaj liczbę w systemie dziesiętnym:";

   cin>>value;

   do {

       cout<<"Podaj system wyjściowy [2,8,16]:";

       cin>>base;

       baseIsCorrect = isCorrect(base);

       if(!baseIsCorrect) {

           cout<<"Błędnie podałeś system wyjściowy"<<endl;

       }

   } while (!baseIsCorrect);

   cout<<convert(value, base);

   

   return 0;

}

Wyjaśnienie: