U ovom ćete primjeru naučiti ručno pretvoriti oktalni broj u decimalni, a decimalni u oktalni stvaranjem korisnički definirane funkcije.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja na C ++:
- C ++ funkcije
- Vrste korisnički definiranih funkcija u C ++
- C ++ ako, ako … drugo i ugniježđeno ako … drugo
- C ++ while and do … while Loop
Primjer 1: Pretvori osmični broj u decimalni
#include #include using namespace std; int octalToDecimal(int octalNumber); int main() ( int octalNumber; cout <> octalNumber; cout << octalNumber << " in octal = " << octalToDecimal(octalNumber) << " in decimal"; return 0; ) // Function to convert octal number to decimal int octalToDecimal(int octalNumber) ( int decimalNumber = 0, i = 0, rem; while (octalNumber != 0) ( rem = octalNumber % 10; octalNumber /= 10; decimalNumber += rem * pow(8, i); ++i; ) return decimalNumber; )
Izlaz
Unesite osminski broj: 2341 2341 u osmici = 1249 u decimalnom
U programu se oktalni broj pohranjuje u varijablu octalNumber i prosljeđuje u funkciju octalToDecimal()
.
Ova funkcija pretvara oktalni broj koji je korisnik proslijedio u njegov ekvivalentni decimalni broj i vraća ga u main()
funkciju.
Primjer 2: Pretvori decimalni broj u osmicu
#include #include using namespace std; int decimalToOctal(int decimalNumber); int main() ( int decimalNumber; cout <> decimalNumber; cout << decimalNumber << " in decimal = " << decimalToOctal(decimalNumber) << " in octal"; return 0; ) // Function to convert decimal number to octal int decimalToOctal(int decimalNumber) ( int rem, i = 1, octalNumber = 0; while (decimalNumber != 0) ( rem = decimalNumber % 8; decimalNumber /= 8; octalNumber += rem * i; i *= 10; ) return octalNumber; )
Izlaz
Unesite decimalni broj: 78 78 u decimalnom = 116 u oktalnom
U programu se decimalni broj pohranjuje u varijablu decimalNumber i prosljeđuje funkciji decimalToOctal()
.
Ova funkcija pretvara decimalni broj koji je korisnik proslijedio u njegov ekvivalentni oktalni broj i vraća ga u main()
funkciju.