Halaman

Sabtu

Program Kalkulator sederhana

Algoritmanya:

1. Baca nilai float a, b, hasil
2. Baca symbol operator yang akan digunakan
3. Untuk melakukan penghitungan harus diketahui jenis operator:
 a. Jika menggunakan operator ‘+’, maka a dan b dinyatakan dalam rumus: hasil = a + b. Kemudian berlanjut pada proses 3. Jika “tidak” menggunakan operator ‘+’ maka menggunakan operator berikutnya,
b. Jika meggunakan operator ‘-‘, maka a dan b dinyatakan dalam rumus: hasil = a – b. Kemudian berlanjut pada proses 3. Jika “tidak” menggunakan operator ‘-‘, maka menggunakan operator berikutnya.
c. Jika meggunakan operator ‘*‘, maka a dan b dinyatakan dalam rumus: hasil = a * b. Kemudian berlanjut pada proses 3. Jika “tidak” menggunakan operator ‘*‘, maka menggunakan operator berikutnya.
d. Jika meggunakan operator ‘/‘, maka x dan y dinyatakan dalam rumus: hasil = x / y. njut pada proses 3. Jika “tidak” menggunakan operator ‘/‘, maka menggunakan operator berikutnya.
e. Jika meggunakan operator ‘^‘, maka a dan b dinyatakan dalam rumus: hasil = a ^ b. Kemudian berlanjut pada proses 3. Jika “tidak” menggunakan operator ‘^‘, maka menggunakan operator berikutnya.
f. Berulang sesuai dengan pilihan menu yang tersedia dapat memilih OK jika ingin mencari dengan menu yang lain,namun jika ingin mengahiri ketik NO, jika tidak tersedia sistem secara otomatis tidak bisa membaca perintah yang diinputkan.anda
4. cetak hasil dari perhitungan. Yang dinyatakan dalam hasil
5. Program selesai.

Penulisan dalam C++
#include <iostream.h>
#include <conio.h>
#include <math.h>

class kalkulator
{

      public:
                  kalkulator();
                  void input();
                  void cetak();
                  void tambah(float,float);
                  void kurang(float,float);
                  void kali(float,float);
                  void bagi(float,float);
                  void kuadrat(float,float);
                  void modulus(float,float);
                  void hitungsin(float);
                  void hitungcos(float);
                  void hitungtan(float);
                  void hitunglog(float);
                  void hitungakar(float);
                  void hitungexp(float);
                              void error();

      private:
                  float a,b,hasil;
                  char n,pil;
};

kalkulator::kalkulator()
{
      cout << "\n";
      cout << "\t\t\t\t::Kalkulatorku::\t\t\t\t\n";
      cout << "----------------------------------------\n";
      cout << "Pilihan menu : \n";
      cout << "(+) penjumlahan\n";
      cout << "(-) pengurangan\n";
      cout << "(*) perkalian\n";
      cout << "(/) pembagian\n";
      cout << "(^) pangkat\n";
      cout << "(s) sin (x) \n";
      cout << "(c) cos (x) \n";
      cout << "(t) tan (x) \n";
      cout << "(l) log \n";
      cout << "(a) Akar \n";
      cout << "(m) mod \n";
      cout << "(e) exponen (x) \n\n";
      cout << "------------------------------------------\n";
      cout << "cara menghitung : \n";
      cout << "1. masukkan angka pertama : \n";
      cout << "2. menu : \n";
      cout << "3. angka kedua : \n";
}

void kalkulator::tambah(float a,float b)
{
      hasil=a+b;
}

void kalkulator::kurang(float a,float b)
{
      hasil=a-b;
}

void kalkulator::kali(float a,float b)
{
      hasil=a*b;
}

void kalkulator::bagi(float a,float b)
{
      hasil=a/b;
}

void kalkulator::kuadrat(float a,float b)
{
      hasil=1;
      for(int i=0;i<b;i++)
      hasil=hasil*a;
}
void kalkulator::modulus(float a,float b)
{
      hasil=fmod(a,b);
}

void kalkulator::hitungsin(float a)
{
      hasil=sin(a);
}

void kalkulator::hitungcos(float a)
{
      hasil=cos(a);
}

void kalkulator::hitungtan(float a)
{
      hasil=tan(a);
}

void kalkulator::hitunglog(float a)
{
      hasil=log10(a);
}

void kalkulator::hitungakar(float a)
{
      hasil=sqrt(a);
}

void kalkulator::hitungexp(float a)
{
      hasil=exp(a);
}

void kalkulator::error()
{
      cout<<"ohh sory... tidak ada dalam sistem kalkulator ini";
      cout<<"\n\nhitung lagi yaa?[OK/NO] : ";
      cin>>pil;
      if(pil=='OK'||pil=='OK'){
      input();
      cetak();
}

}

void kalkulator::input()
{
      cin>>a;
      cin>>n;
      cin>>b;
      switch(n)
      {
                  case '+':tambah(a,b);break;
                  case '-':kurang(a,b);break;
                  case '*':kali(a,b);break;
                  case '/':bagi(a,b);break;
                  case '^':kuadrat(a,b);break;
                   case 'm':modulus(a,b);break;
                  case 's':hitungsin(a);break;
                              case 'c':hitungcos(a);break;
                  case 't':hitungtan(a);break;
                  case 'l':hitunglog(a);break;
                  case 'a':hitungakar(a);break;
                  case 'e':hitungexp(a);break;
                  default:error();
      }
}


void kalkulator::cetak()
{
      cout<<endl;
      cout<<a<<n<<b<<" = "<<hasil;
      cout<<"\n\nhitung lagi yaa?(OK/NO) : ";
      cin>>pil;
      if(pil=='OK'||pil=='NO')
      {
      input();
      cetak();
      }
}

int main()
{
      kalkulator x;
      x.input();
      x.cetak();
      getch();
      return 0;
}

Tidak ada komentar:

Posting Komentar