agusbd

lap mingguan plug 3 ifupnyk2016 by ./xagusart

Nov 11th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4. // xagusart
  5. //inisialisasi
  6.  
  7. int fpb(int,int);
  8. int kpk(int,int);
  9. int penjumlahan(int);
  10. int hari_ke_angka(char[]);
  11. void angka_ke_hari(int);
  12. void hari_ke_n();
  13.  
  14. int main()
  15. {   int a,b,menu;
  16.     char hari[10];
  17.     cout<<"silakan pilih : "<<endl;
  18.     cout<<"1. kpk "<<endl;
  19.     cout<<"2. fpb "<<endl;
  20.     cout<<"3. jumlah 1+2....+n "<<endl;
  21.     cout<<"4. hari ke n "<<endl;
  22.     cout<<"masukan pilihan : ";cin>>menu;
  23.     switch(menu)
  24.     {
  25.     case 1:
  26.         cout<<"masukan angka pertama : ";cin>>a;
  27.         cout<<"masukan angka kedua : ";cin>>b;
  28.         cout<<"kpk dari " <<a<<" dan "<<b<<" adalah "<<kpk(a,b)<<endl;
  29.         break;
  30.     case 2 :
  31.         cout<<"masukan angka pertama : ";cin>>a;
  32.         cout<<"masukan angka kedua : ";cin>>b;
  33.         cout<<"fpb dari " <<a<<" dan "<<b<<" adalah "<<fpb(a,b)<<endl;
  34.         break;
  35.     case 3:
  36.         cout<<"masukan nilai n : ";cin>>a;
  37.         cout<<"hasil = "<<penjumlahan(a);
  38.         break;
  39.     case 4 :
  40.        hari_ke_n();
  41.        break;
  42.  
  43.     }
  44.  
  45.     return 0;
  46. }
  47.  
  48.  
  49. int fpb(int x,int y)
  50. {
  51.     //algoritma euclid untuk fpb
  52.     while(y!=0)
  53.     {
  54.     int t =y;
  55.     y= x%y;
  56.     x=t;
  57.     }
  58.  
  59.     return x;
  60. }
  61.  
  62. int kpk(int x,int y)
  63. {   //kpk bisa didapat dari perkalian x dan y kemudian dibagi fpb nya
  64.     return (x*y)/fpb(x,y);
  65. }
  66.  
  67. //coba rekursif
  68. int penjumlahan (int x)
  69. {
  70.     if(x==1)
  71.         // kalau x ==1 maka rekursif berhenti
  72.         return 1;
  73.     else
  74.         {
  75.           return x+penjumlahan(x-1);
  76.         }
  77. }
  78.  
  79.  
  80. void angka_ke_hari(int x)
  81. {
  82.     switch(x)
  83.     {
  84.         case 0 :
  85.             cout<<"minggu";
  86.             break;
  87.         case 1 :
  88.             cout<<"senin";
  89.             break;
  90.         case 2 :
  91.             cout<<"selasa";
  92.             break;
  93.         case 3 :
  94.             cout<<"rabu";
  95.             break;
  96.         case 4 :
  97.             cout<<"kamis";
  98.             break;
  99.         case 5 :
  100.             cout<<"jumat";
  101.             break;
  102.         case 6 :
  103.             cout<<"sabtu";
  104.             break;
  105.  
  106.     }
  107.  
  108. }
  109.  
  110. int hari_ke_angka(char x[10])
  111. {
  112.     // hari dimulai dari minggu = 0 dst
  113.     // ada eror kalo pake string, gatau kenapa
  114.  
  115.    if(x[10]='senin')
  116.     return 1;
  117.    if(x[10]='selasa')
  118.     return 2;
  119.     if(x[10]='rabu')
  120.     return 3;
  121.     if(x[10]='kamis')
  122.     return 4;
  123.     if(x[10]='jumat')
  124.     return 5;
  125.     if(x[10]='sabtu')
  126.     return 6;
  127.     if(x[10]='minggu')
  128.     return 0;
  129.  
  130.  
  131.  
  132. }
  133.  
  134. void hari_ke_n()
  135. {   char hari[10];
  136.     int ukur,
  137.         lanjut,
  138.         total;
  139.     cout<<"masukan hari awal : ";cin>>hari;
  140.     //konversi hari ke angka, berguna untuk mendapat hari selanjutnya pada saat penentuan hari ke n
  141.     ukur = hari_ke_angka(hari);
  142.     cout<<"masukan jumlah hari selanjutnya : ";cin>>lanjut;
  143.     total= ukur+(lanjut%5);
  144.     cout<<"hari ke n adalah hari ";angka_ke_hari(total);
  145. }
Add Comment
Please, Sign In to add comment