Advertisement
rengetsu

Papildoma Uzduotis 1

Oct 13th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h> //skirtas duomenu ivedimui ir isvedimui
  3. #include <string> //kad dirbti su teksto eilutemis
  4. #include <bitset> //skirtas skaiciuoti bitu kiekis dvejetaineje sistemoje
  5. #include <cmath> //matematikos biblioteka
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     int sksis; //kintamasis, atsakingas uz pradine skaiciavimo sistema
  12.     int sksis2; //kintamasis, atsakingas uz skaiciavimo sistema i kuria bus vykdomas pervedimas
  13.     string prad; //pirminis skaicius
  14.     long prad2;
  15.  
  16.     //Dialogo ekranas, skirtas pasirinkti skaiciavimo sistema
  17.     cout << "Papildoma uzduotis 1" << endl;
  18.     cout << "Sita programa vercia skaicius is vienos skaiciavimo sistemos i kita." << endl;
  19.     cout << "Pasirinkite skaiciavimo sistema:" << endl;
  20.     cout << "-Iveskite 1, jei norite pasirinkti Dvejetaine;" << endl;
  21.     cout << "-Iveskite 2, jei norite pasirinkti Astuntaine;" << endl;
  22.     cout << "-Iveskite 3, jei norite pasirinkti Desimtaine;" << endl;
  23.     cout << "Pradine skaiciavimo sistema: ";
  24.  
  25.     cin >> sksis; //ivedam pirma kintam.
  26.  
  27.     if (sksis > 3 || sksis < 1) // Patikrinimas ar teisingai ivedami duomeniai
  28.     {
  29.         cout << endl;
  30.         cout << "Error! Jusu duomeniai neteisingi!" << endl;
  31.         return 0;
  32.     }
  33.  
  34.     //kokia sistema mes pasirinkome
  35.     if (sksis == 1) {
  36.         cout << endl;
  37.         cout << "Jus pasirinkot dvejetaine skaiciavimo sistema kaip pradine." << endl; //jeigu dvejetaine
  38.         cout << endl;
  39.     }
  40.     if (sksis == 2) {
  41.         cout << endl;
  42.         cout << "Jus pasirinkot astuntaine skaiciavimo sistema kaip pradine." << endl; //jeigu astuntaine
  43.         cout << endl;
  44.     }
  45.     if (sksis == 3) {
  46.         cout << endl;
  47.         cout << "Jus pasirinkot desimtaine skaiciavimo sistema kaip pradine." << endl; //jeigu desimtaine
  48.         cout << endl;
  49.     }
  50.  
  51.     //Antras dialogo ekranas, kur ivedam antra skaiciavimo sistema i kuria bus pervedimas
  52.     cout << "Dabar pasirinkite skaiciavimo sistema i kuria bus vykdomas pervedimas." << endl;
  53.     cout << "-Iveskite 1, jei norite pasirinkti Dvejetaine;" << endl;
  54.     cout << "-Iveskite 2, jei norite pasirinkti Astuntaine;" << endl;
  55.     cout << "-Iveskite 3, jei norite pasirinkti Desimtaine;" << endl;
  56.     cout << "Pervedimo skaiciavimo sistema: ";
  57.  
  58.     cin >> sksis2; //ivedam antra kintam.
  59.  
  60.     if (sksis2 > 3 || sksis2 < 1) // Patikrinimas ar teisingai ivedami duomeniai
  61.     {
  62.         cout << endl;
  63.         cout << "Error! Jusu duomeniai neteisingi!" << endl;
  64.         return 0;
  65.     }
  66.  
  67.     //kokia antra sistema mes pasirinkome
  68.     if (sksis2 == 1) {
  69.         cout << endl;
  70.         cout << "Jus pasirinkot pervedimas i dvejetaine skaiciavimo sistema." << endl; //jeigu dvejetaine
  71.         cout << endl;
  72.     }
  73.     if (sksis2 == 2) {
  74.         cout << endl;
  75.         cout << "Jus pasirinkot pervedimas i astuntaine skaiciavimo sistema." << endl; // jeigu astuntaine
  76.         cout << endl;
  77.     }
  78.     if (sksis2 == 3) {
  79.         cout << endl;
  80.         cout << "Jus pasirinkot pervedimas i desimtaine skaiciavimo sistema." << endl; //jeigu desimtaine
  81.         cout << endl;
  82.     }
  83.  
  84.     cout << "Iveskit pradini skaiciu: ";
  85.     if(sksis == 1)
  86.     {
  87.     cin >> prad; //ivedam pradini skaiciu jei pas mus dvejetaine pradine sistema
  88.     }
  89.     if(sksis > 1)
  90.     {
  91.     cin >> prad2; //jei bet kokia kita sistema
  92.     }
  93.  
  94. //PERVEDIMO TIPO NUSTATYMAS
  95.  
  96. //Is Dvejetaine
  97.     if (sksis == 1 && sksis2 == 1)
  98.     {
  99.         //Is dvejetaine i dvejetaine. Nepasikeite.
  100.         cout << endl;
  101.         cout << "Is Dvejetaine -> i Dvejetaine. Skaiciavimo sistema nepasikeite. Pradinis skaicius: " << prad << " . Rezultatas: " << prad << endl;
  102.     }
  103.     if (sksis == 1 && sksis2 == 2)
  104.     {
  105.         //is pradziu konvertuojam i desimtaine
  106.         long rez_desimtaine;
  107.         rez_desimtaine = bitset<32>(prad).to_ulong();
  108.  
  109.         int rem, i = 1, rez_astuntaine = 0;
  110.         while (rez_desimtaine != 0)
  111.         {
  112.         rem = rez_desimtaine % 8;
  113.         rez_desimtaine /= 8;
  114.         rez_astuntaine += rem * i;
  115.         i *= 10;
  116.         }
  117.         cout << endl;
  118.         cout << "Is Dvejetaine -> i Astuntaine. Pradinis skaicius: " << prad << " . Rezultatas: " << rez_astuntaine << endl;
  119.     }
  120.     if (sksis == 1 && sksis2 == 3)
  121.     {
  122.         //konvertuojam i desimtaine
  123.         long rez_desimtaine;
  124.         rez_desimtaine = bitset<32>(prad).to_ulong();
  125.  
  126.         cout << endl;
  127.         cout << "Is Dvejetaine -> i Desimtaine. Pradinis skaicius: " << prad << " . Rezultatas: " << rez_desimtaine << endl;
  128.     }
  129.      if (sksis == 1 && sksis2 == 4)
  130.     {
  131.         //is pradziu konvertuojam i desimtaine
  132.         long rez_desimtaine;
  133.         rez_desimtaine = bitset<32>(prad).to_ulong();
  134.  
  135.         int rem, i = 1, rez_sesioliktaine = 0;
  136.         while (rez_desimtaine != 0)
  137.         {
  138.         rem = rez_desimtaine % 16;
  139.         rez_desimtaine /= 16;
  140.         rez_sesioliktaine += rem * i;
  141.         i *= 10;
  142.         }
  143.  
  144.         cout << endl;
  145.         cout << "Is Dvejetaine -> i Sesioliktaine. Pradinis skaicius: " << prad << " . Rezultatas: " << rez_sesioliktaine << endl;
  146.     }
  147.  
  148.  
  149.  
  150. //Is Astuntaine
  151.     if (sksis == 2 && sksis2 == 1)
  152.     {
  153.         //konvertuojam i dvejetaine
  154.         int desimt = 0, i = 0;
  155.         long long rez_dvejetaine = 0;
  156.  
  157.         while(prad2 != 0)
  158.         {
  159.             desimt += (prad2%10) * pow(8,i);
  160.             ++i;
  161.             prad2/=10;
  162.         }
  163.  
  164.         i = 1;
  165.  
  166.         while (desimt != 0)
  167.         {
  168.             rez_dvejetaine += (desimt % 2) * i;
  169.             desimt /= 2;
  170.             i *= 10;
  171.         }
  172.  
  173.         cout << endl;
  174.         cout << "Is Astuntaine -> i Dvejetaine. Pradinis skaicius: " << prad2 << " . Rezultatas: " << rez_dvejetaine << endl;
  175.     }
  176.     if (sksis == 2 && sksis2 == 2) //Is astuntaine i astuntaine. Nepasikeite.
  177.     {
  178.         cout << "Is Astuntaine -> i Astuntaine. Skaiciavimo sistema nepasikeite. Pradinis skaicius: " << prad2 << " . Rezultatas: " << prad2 << endl;
  179.     }
  180.     if (sksis == 2 && sksis2 == 3)
  181.     {
  182.         //is astuntaine konvertuojam iskart i desimtaine
  183.         int rez_desimtaine = 0, i = 0, rem;
  184.         while (prad2 != 0)
  185.         {
  186.         rem = prad2 % 10;
  187.         prad2 /= 10;
  188.         rez_desimtaine += rem * pow(8, i);
  189.         ++i;
  190.         }
  191.  
  192.         cout << endl;
  193.         cout << "Is Astuntaine -> i Desimtaine. Pradinis skaicius: " << prad2 << " . Rezultatas: " << rez_desimtaine << endl;
  194.     }
  195.  
  196.  
  197. //Is Desimtaine
  198.     if (sksis == 3 && sksis2 == 1)
  199.     {
  200.         //i dvejetaine is desimtaine
  201.             long long rez_dvejetaine = 0;
  202.             int remainder, i = 1, step = 1;
  203.  
  204.             while (prad2!=0)
  205.             {
  206.                 remainder = prad2%2;
  207.                 prad2 /= 2;
  208.                 rez_dvejetaine += remainder*i;
  209.                 i *= 10;
  210.             }
  211.  
  212.         cout << endl;
  213.         cout << "Is Desimtaine -> i Dvejetaine.Pradinis skaicius: " << prad2 << " . Rezultatas: " << rez_dvejetaine << endl;
  214.     }
  215.     if (sksis == 3 && sksis2 == 2)
  216.     {
  217.         int rem, i = 1, rez_astuntaine = 0;
  218.         while (prad2 != 0)
  219.         {
  220.             rem = prad2 % 8;
  221.             prad2 /= 8;
  222.             rez_astuntaine += rem * i;
  223.             i *= 10;
  224.         }
  225.  
  226.         cout << endl;
  227.         cout << "Is Desimtaine -> i Astuntaine. Pradinis skaicius: " << prad2 << " . Rezultatas: " << rez_astuntaine << endl;
  228.     }
  229.     if (sksis == 3 && sksis2 == 3) //Is desimtaine i desimtaine. Nepasikeite.
  230.     {
  231.         cout << endl;
  232.         cout << "Is Desimtaine -> i Desimtaine. Skaiciavimo sistema nepasikeite. Pradinis skaicius: " << prad2 << " . Rezultatas: " << prad2 << endl;
  233.     }
  234.  
  235.     return 0;
  236.  
  237.     //Pavel Trostianko 2017.10.19
  238. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement