Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include "Konversi.h"
- using namespace std;
- void clearbuffer();
- void menu();
- void faktor();
- double faktorial(double angka);
- void fibo();
- int fibonacci(int angka);
- void bin();
- void biner(int angka);
- int main( void ) {
- int pilihanMenu;
- do{
- system("clear");
- menu();
- cout << "masukkan pilihan menu : " << flush;
- cin >> pilihanMenu;
- clearbuffer();
- if (pilihanMenu == 1) faktor();
- if (pilihanMenu == 2) fibo();
- if (pilihanMenu == 3) bin();
- }while (pilihanMenu != 4);
- return 0;
- }
- void clearbuffer(){
- cin.clear();
- cin.ignore(1024, '\n');
- }
- void menu(){
- cout << "perhitungan faktorial, fibonacci, biner\n" << endl;
- cout << "1. faktorial" << endl;
- cout << "2. fibonacci" << endl;
- cout << "3. biner" << endl;
- cout << "4. exit\n" << endl;
- }
- void faktor(){
- Konversi data;
- double angka;
- int limit = lihatBatas(data);
- do{
- cout << "masukkan angka[1-20] : " << flush;
- cin >> angka;
- clearbuffer();
- } while (angka < 1 or angka > limit);
- double hasil = faktorial(angka);
- data.setAngka(angka);
- data.setHasil(hasil);
- data.lihatHasil();
- cout << "\n\ntekan ENTER untuk melanjutkan..." << flush;
- clearbuffer();
- }
- double faktorial(double angka) {
- if (angka == 0)
- return 1;
- return angka *faktorial(angka - 1);
- }
- void fibo(){
- int angka;
- do{
- cout << "masukkan angka [1-20] : " << flush;
- cin >> angka;
- clearbuffer();
- } while (angka < 1 or angka > 20);
- for (int i = 1; i <= angka; i++) {
- cout << fibonacci(i) << " " << flush;
- }
- cout << "\n\ntekan ENTER untuk melanjutkan..." << flush;
- clearbuffer();
- }
- int fibonacci(int angka){
- if (angka == 0)
- return 0;
- else if (angka == 1)
- return 1;
- else
- return ( fibonacci(angka-1) + fibonacci(angka-2) );
- }
- void bin(){
- int angka;
- do{
- cout << "masukkan angka [1-100] : " << flush;
- cin >> angka;
- clearbuffer();
- } while (angka < 1 or angka > 100);
- biner(angka);
- cout << "\n\ntekan ENTER untuk melanjutkan..." << flush;
- clearbuffer();
- }
- void biner(int angka){
- if (angka > 1)
- biner(angka/2);
- cout << (angka % 2) << " " << flush;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement