1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 // // 1. #include #include #include #include #include Escriba un código que convierta del sistema octal al sistema binario y viceversa. Y otro que convierta números de sistema decimal al sistema octal. <iostream> <string> <cstdlib> <conio.h> <math.h> using namespace std; void void void oct2bin(); dec2oct(); bin2oct(); int main() { // Declaración de variables int opc; // Declaracion de menu de opciones de conversión do { cout << "------- MENU DE CONVERSIONES ------- \n\n"; cout << "\t1. OCTAL -> BINARIO. \n"; cout << "\t2. BINARIO -> OCTAL. \n"; cout << "\t3. DECIMAL -> OCTAL. \n\n"; cout << "\t0. TERMINAR. \n\n"; cout << "------------------------------------ \n\n"; cout << "Selecciona una opcion: "; cin >> opc; cin.ignore(); switch (opc) { case 1: { oct2bin(); break; } case 2: { bin2oct(); break; } case 3: { dec2oct(); break; } case 0: { cout << "HASTA LUEGO!\n"; system("pause"); break; } default: { cout << "Opcion invalida!\n"; system("pause"); } } system("cls"); }while (opc != 0); } void return 0; oct2bin() { base[255], octal2bin[][4] = { "000","001","010","011","100","101","110","111" }; int index; char cout << "OCTAL: "; cin.getline(base, sizeof(base)); cout << "BINARIO: "; for (int i = 0; i < strlen(base); i++) { index = (int)base[i] - 48; cout << octal2bin[index] << " "; } 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 } void } void cout << "\n\n"; system("pause"); dec2oct() { int dec,i = 0,oct[8]; cout << "DECIMAL: "; cin >> dec; while (dec >= 8){ oct[i] = dec % 8; dec = dec / 8; i++; } oct[i] = dec; int j = 0; cout << "OCTAL: "; for (j = i; j >= 0; j--) { cout << oct[j]; } cout << "\n\n"; system("pause"); int bin2oct() { bin, oct = 0, dec = 0, i = 0; cout << "BINARIO: "; cin >> bin; while (bin != 0) { dec += (bin % 10 * pow(2, i)); i++; bin /= 10; } } i = 1; while (dec != 0) { oct += (dec % 8) * i; dec /= 8; i *= 10; } cout << "OCTAL: " << oct; cout << "\n\n"; system("pause");