Skip to content

Instantly share code, notes, and snippets.

@fadhil-riyanto
Created December 23, 2024 06:51
Show Gist options
  • Save fadhil-riyanto/ff9969ba520e6f431b301980734a675c to your computer and use it in GitHub Desktop.
Save fadhil-riyanto/ff9969ba520e6f431b301980734a675c to your computer and use it in GitHub Desktop.
#include <iostream>
#include <cmath>
#include <cctype>
using namespace std;
// cara compile : klik ctrl + ` lalu tulis "// caranya klik ctrl +
// lalu tulis "clear && g++ tugas.cpp && ./a.out"
// untuk menjalankan, tulis ini di terminala
// Judul : AdvCalc
// Tanggal : 13 november 2024
// Tempat : Bengkel Coding
// Kamus
string menu_pilihan_string;
int angka_pertama_perkalian;
int angka_kedua_perkalian;
int angkake1_pertambahan;
int angkake2_pertambahan;
int angkake1_pembagian;
int angkake2_pembagian;
int angkake1_perkurangan;
int angkake2_perkurangan;
int panjangsisi_volumekubus;
int angkake1_volumebalok;
int angkake2_volumebalok;
int angkake3_volumebalok;
int hasil;
int status_berhenti;
char ingin_keluar;
int pers_A;
int pers_B;
int pers_C;
int input_pilihan_mode_pecahan;
// kamus untuk mode trigonometri
int input_pilihan_mode_trig;
float input_derajat_trig;
float output_hitung_trig;
float x1;
float x2;
int status_output;
// kamus untuk operasi pecahan
int isi_pembilang_pec1;
int isi_penyebut_pec1;
int isi_pembilang_pec2;
int isi_penyebut_pec2;
int hasil_pembilang_atas;
int hasil_penyebut_bawah;
int hasil_penyederhanaan_penyebut;
int hasil_penyederhanaan_pembilang;
int input_faktorial;
int hasil_faktorial;
void tampilkan_pilihan_menu_utama()
{
cout<<"\033[0;33m [ 1 ] Perkalian :" << "\033[0;33m [ 6 ] volume Balok : " << "\033[0;33m [ 11 ] Help : "<< endl;
cout<<"\033[0;33m [ 2 ] Pertambahan :" << "\033[0;33m [ 7 ] Persamaan Kuadrat : "<< endl;
cout<<"\033[0;33m [ 3 ] Pembagian :" << "\033[0;33m [ 8 ] Operasi Pecahan : "<< endl;
cout<<"\033[0;33m [ 4 ] Pengurangan :" << "\033[0;33m [ 9 ] Trigonometry : "<< endl;
cout<<"\033[0;33m [ 5 ] volume Kubus :" << "\033[0;33m [ 10 ] Faktorial : "<< endl;
}
void tampilkan_logo()
{ cout<<endl;
cout<<"\033[0;33m █████╗ ██████╗ ██╗ ██╗ ██████╗ █████╗ ██╗ ██████╗\033[0m" << endl;
cout<<"\033[0;33m ██╔══██╗██╔══██╗██║ ██║ ██╔════╝██╔══██╗██║ ██╔════╝\033[0m" << endl;
cout<<"\033[0;33m ███████║██║ ██║██║ ██║█████╗██║ ███████║██║ ██║ \033[0m" << endl;
cout<<"\033[0;33m ██╔══██║██║ ██║╚██╗ ██╔╝╚════╝██║ ██╔══██║██║ ██║ \033[0m" << endl;
cout<<"\033[0;33m ██║ ██║██████╔╝ ╚████╔╝ ╚██████╗██║ ██║███████╗╚██████╗\033[0m" << endl;
cout<<"\033[0;33m ╚═╝ ╚═╝╚═════╝ ╚═══╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═════╝\033[0m" << endl;
cout<<"\033[0;34m =========================================================\033[0m" << endl;
cout<<"\033[0;36m | Advanced calculator by: - Fadhil Riyanto | \033[0m" << endl;
cout<<"\033[0;36m | - Rizky Delfa Ramadhani | \033[0m" << endl;
cout<<"\033[0;36m | - Rezqy Tatya Anza | \033[0m" << endl;
cout<<"\033[0;34m =========================================================\033[0m" << endl;
cout<< endl;
}
void tampilkan_help() {
cout << "\n\033[0;34m==================== HELP - Advanced Calculator ====================\033[0m\n";
cout << "\033[0;36mCara Menggunakan Program AdvCalc:\033[0m\n";
cout << "1. Jalankan program ini di terminal Anda.\n";
cout << "2. Setelah program dimulai, Anda akan melihat beberapa opsi menu.\n";
cout << "3. Pilih operasi yang ingin dijalankan dengan memasukkan nomor menu:\n";
cout << " - [1] Perkalian\n";
cout << " - [2] Pertambahan\n";
cout << " - [3] Pembagian\n";
cout << " - [4] Pengurangan\n";
cout << " - [5] Volume Kubus\n";
cout << " - [6] Volume Balok\n";
cout << " - [7] Persamaan Kuadrat\n";
cout << " - [8] Operasi Pecahan\n";
cout << " - [9] Trigonometry\n";
cout << " - [10] Faktorial\n";
cout << " - [11] Help\n"; // Menambahkan opsi Help
cout << "4. Masukkan angka yang diminta oleh program untuk menyelesaikan operasi yang dipilih.\n";
cout << "5. Setelah hasil muncul, Anda akan ditanya apakah ingin keluar (y/n).\n";
cout << " - Ketik 'y' untuk keluar dari program atau 'n' untuk kembali ke menu.\n";
cout << "\033[0;33mTips:\033[0m Gunakan kombinasi \033[1;32mCtrl + `\033[0m untuk membuka terminal di beberapa editor.\n";
cout << "==================================================================\n\n";
}
void bersihkan_layar()
{
std::cout << "\x1B[2J\x1B[H";
}
int hitung_perkalian(int angka_1, int angka_2) {
return angka_1 * angka_2;
}
int hitug_pertambahan (int angka_1, int angka_2) {
return angka_1 + angka_2;
}
int hitung_pembagian (int angka_1, int angka_2) {
return angka_1 / angka_2;
}
int hitung_penkurangan (int angka_1, int angka_2) {
return angka_1 - angka_2;
}
int hitung_volumekubus (int angka_1) {
return angka_1 * angka_1 * angka_1;
}
int hitung_volumebalok (int angka_1, int angka_2, int angka_3) {
return angka_1 * angka_2 * angka_3;
}
float hitung_rumus_abc(int a, int b, int c, string mode)
{
// rumus determinan adlh akar(b^2 - 4ac)
float determinan = sqrt((b * b) - 4 * a * c);
if (mode == "xpositif")
{
return (-b + determinan) / (2 * a);
}
else if (mode == "xnegatif")
{
return (-b - determinan) / (2 * a);
}
// cout << determinan << endl;
return 0;
}
int konfirmasi_ingin_keluar() {
cout << "\033[0;31mapakah anda ingin keluar? (y/n) : ";
cin >> ingin_keluar;
std::cout << "\x1B[2J\x1B[H";
if (ingin_keluar == 'y' || ingin_keluar == 'Y') {
return 1;
} else {
return 0;
}
}
int cari_angka_yg_bisa_bagi_habis(int pembilang, int penyebut)
{
if (penyebut == 0) {
return pembilang;
}
return cari_angka_yg_bisa_bagi_habis(penyebut, pembilang % penyebut); // ini namanya fungsi rekursif
}
int simpelkan_bentuk_per(int pembilang, int penyebut, string mode_keluaran) {
int angka_ygbisa_bagi_habis = cari_angka_yg_bisa_bagi_habis(pembilang, penyebut);
int hasil_pembilang = pembilang / angka_ygbisa_bagi_habis;
int hasil_penyebut = penyebut / angka_ygbisa_bagi_habis;
if (mode_keluaran == "pembilang") {
return hasil_pembilang;
} else if (mode_keluaran == "penyebut") {
return hasil_penyebut;
}
return 0;
}
// fungsi untuk pecahan start dr disini ya
int tambahkan_pecahan(int atas, int bawah, int lawan_nya_atas, int lawan_nya_bawah, string mode)
{
// bentuk cara menambahkan pecahan
// a / b + c / d = (a * d) + (b * c) / b * d
if (mode == "pembilang") {
// perkalian silang yg menghasilkan atas
return (atas * lawan_nya_bawah) + (bawah * lawan_nya_atas);
} else {
return bawah * lawan_nya_bawah;
}
}
int kalikan_pecahan(int atas, int bawah, int lawan_nya_atas, int lawan_nya_bawah, string mode)
{
// bentuk cara menambahkan pecahan
// a / b * c / d = (a * c) / (b * d)
if (mode == "pembilang") {
// perkalian silang yg menghasilkan atas
return atas * lawan_nya_atas;
} else {
return bawah * lawan_nya_bawah;
}
}
int kurangkan_pecahan(int atas, int bawah, int lawan_nya_atas, int lawan_nya_bawah, string mode)
{
// a / b + c / d = (a * d) + (b * c) / b * d
if (mode == "pembilang") {
// perkalian silang yg menghasilkan atas
return (atas * lawan_nya_bawah) - (lawan_nya_atas * bawah);
} else {
return bawah * lawan_nya_bawah;
}
}
int bagi_pecahan(int atas, int bawah, int lawan_nya_atas, int lawan_nya_bawah, string mode)
{
// bentuk cara menambahkan pecahan
// a / b / c / d = (a / b) * (d / c) // dibalik pecahaan nya c / d nya
if (mode == "pembilang") {
// perkalian silang yg menghasilkan atas
return (atas * lawan_nya_bawah);
} else {
return (bawah * lawan_nya_atas);
}
}
// ditambahkan dr file pecahan.cpp jam 11.23
string isi_kekosongan_dgn_spasi(int angka, int digit)
{
string angkakestring = to_string(angka);
int jumlah_string = angkakestring.length();
string spasi_yg_disiappkan = "";
if (jumlah_string == digit) {
// tidak perlu menyisipkan lagi
return " " + angkakestring + " ";
} else {
// perlu disii dgn spasi
for(int i = 0; i < (digit - jumlah_string); i++) {
spasi_yg_disiappkan = spasi_yg_disiappkan + " ";
}
// gabungkan
return " " + angkakestring + spasi_yg_disiappkan + " ";
}
}
int terbesardr6data(int data1, int data2, int data3, int data4, int data5, int data6)
{
int gak_kepake_lg = 0;
if (data1 < data2)
{
gak_kepake_lg = data1;
data1 = data2;
data2 = gak_kepake_lg;
}
if (data1 < data3) {
gak_kepake_lg = data1;
data1 = data3;
data3 = gak_kepake_lg;
}
if (data1 < data4) {
gak_kepake_lg = data1;
data1 = data4;
data4 = gak_kepake_lg;
}
if (data1 < data5) {
gak_kepake_lg = data1;
data1 = data5;
data5 = gak_kepake_lg;
}
if (data1 < data6){
gak_kepake_lg = data1;
data1 = data6;
data6 = gak_kepake_lg;
}
return data1;
}
void tampilkan_pecahan( int pembilang_pers1, int penyebut_pers1,
int pembilang_pers2, int penyebut_pers2,
int pembilang, int penyebut, char tipe_operator_sekarang)
{
int terbesar_drsemua = terbesardr6data(pembilang_pers1,
penyebut_pers1, pembilang_pers1,
penyebut_pers2, pembilang, penyebut);
string angka_ver_string = to_string(terbesar_drsemua);
int jmldigit = angka_ver_string.length();
cout << isi_kekosongan_dgn_spasi(pembilang_pers1, jmldigit) << " " << isi_kekosongan_dgn_spasi(pembilang_pers2, jmldigit) << " " << isi_kekosongan_dgn_spasi(pembilang, jmldigit) << endl;
for(int i = 0; i < jmldigit + 2; i++) {
cout << "-";
}
cout << " " << tipe_operator_sekarang << " ";
for(int i = 0; i < jmldigit + 2; i++) {
cout << "-";
}
cout << " " << "=" << " ";
for(int i = 0; i < jmldigit + 2; i++) {
cout << "-";
}
cout << endl;
cout << isi_kekosongan_dgn_spasi(penyebut_pers1, jmldigit) << " " << isi_kekosongan_dgn_spasi(penyebut_pers2, jmldigit) << " " << isi_kekosongan_dgn_spasi(penyebut, jmldigit) << endl;
}
// fungsi untk pecahan stop
// fungsi khusus trigonometri dimulai
float ubah_derajatkeradian(float derajat)
{
return derajat * (M_PI / 180);
}
void tampilkan_menu_trigonometri()
{
bersihkan_layar();
tampilkan_logo();
cout<<"\033[0;36mFungsi Trigonometri yang tersedia: " << endl;
cout<<"\033[0;33m [ 1 ] sin() " << endl;
cout<<"\033[0;33m [ 2 ] cos() " << endl;
cout<<"\033[0;33m [ 3 ] tan() " << endl;
}
void fungsi_khusus_op_ngitung_trig()
{
tampilkan_menu_trigonometri();
cout<<"\033[0;36mmasukkan menu > " ;
cin >> input_pilihan_mode_trig;
if (input_pilihan_mode_trig == 1) {
bersihkan_layar();
tampilkan_logo();
cout << "[mode fungsi sin()]" << endl;
cout << "\033[0;33mMasukkan derajat: ";
cin >> input_derajat_trig;
output_hitung_trig = sinf(ubah_derajatkeradian(input_derajat_trig));
cout << "sin(" << input_derajat_trig << ") = " << output_hitung_trig << endl;
} else if (input_pilihan_mode_trig == 2) {
bersihkan_layar();
tampilkan_logo();
cout << "[mode fungsi cos()]" << endl;
cout << "\033[0;33mMasukkan derajat: ";
cin >> input_derajat_trig;
output_hitung_trig = cosf(ubah_derajatkeradian(input_derajat_trig));
cout << "cos(" << input_derajat_trig << ") = " << output_hitung_trig << endl;
} else if (input_pilihan_mode_trig == 3) {
bersihkan_layar();
tampilkan_logo();
cout << "[mode fungsi tan()]" << endl;
cout << "\033[0;33mMasukkan derajat: ";
cin >> input_derajat_trig;
output_hitung_trig = tanf(ubah_derajatkeradian(input_derajat_trig));
cout << "tan(" << input_derajat_trig << ") = " << output_hitung_trig << endl;
} else {
cout << "\033[1;31mWaduh, mode tidak dikenali !" << endl;
}
}
// fungsi ini khusus untuk operasi pecahan, penjumlahan, perkalian, tambah, dll
void fungsi_khusus_op_pecahan()
{
bersihkan_layar();
tampilkan_logo();
cout<<"\033[0;36mIngin melakukan apa dengan pecahan? " << endl;
cout<<"\033[0;33m [ 1 ] penjumlahan pecahan " << endl;
cout<<"\033[0;33m [ 2 ] perkalian pecahan " << endl;
cout<<"\033[0;33m [ 3 ] pengurangan pecahan " << endl;
cout<<"\033[0;33m [ 4 ] pembagian pecahan " << endl;
cout<<"\033[0;36m [ 9 ] kembali ke menu utama " << endl;
cout<<"\033[0;36mmasukkan menu > " ;
cin >> input_pilihan_mode_pecahan;
if (input_pilihan_mode_pecahan == 1) {
bersihkan_layar();
tampilkan_logo();
cout << "\033[0;36m[MODE PENJUMLAHAN PECAHAN]" << endl;
cout << "\033[0;33mMasukkan pembilang (pecahan 1): ";
cin >> isi_pembilang_pec1;
cout << "Masukkan penyebut (pecahan 1) : ";
cin >> isi_penyebut_pec1;
cout << "\033[0;33mMasukkan pembilang (pecahan 2): ";
cin >> isi_pembilang_pec2;
cout << "Masukkan penyebut (pecahan 2) : ";
cin >> isi_penyebut_pec2;
// cek apakah penyebut ada yg isi na nol atau engga
if (isi_penyebut_pec1 == 0 && isi_penyebut_pec2 == 0) {
cout << "\033[1;31mWaduh, dilarang membagi dengan 0 !" << endl;
} else {
cout << "\033[0;36m-----------------------" << endl;
hasil_pembilang_atas = tambahkan_pecahan(isi_pembilang_pec1, isi_penyebut_pec1,
isi_pembilang_pec2,
isi_penyebut_pec2,
"pembilang");
hasil_penyebut_bawah = tambahkan_pecahan(isi_pembilang_pec1, isi_penyebut_pec1,
isi_pembilang_pec2, isi_penyebut_pec2,
"penyebut");
hasil_penyederhanaan_pembilang = simpelkan_bentuk_per(hasil_pembilang_atas,
hasil_penyebut_bawah, "pembilang");
hasil_penyederhanaan_penyebut = simpelkan_bentuk_per(hasil_pembilang_atas,
hasil_penyebut_bawah, "penyebut");
tampilkan_pecahan(isi_pembilang_pec1,
isi_penyebut_pec1,
isi_pembilang_pec2,
isi_penyebut_pec2,
hasil_penyederhanaan_pembilang,
hasil_penyederhanaan_penyebut, '+');
}
// nb: yg pembagian belum selese
} else if (input_pilihan_mode_pecahan == 2) {
bersihkan_layar();
tampilkan_logo();
cout << "\033[0;36m[MODE PERKALIAN PECAHAN]" << endl;
cout << "\033[0;33mMasukkan pembilang (pecahan 1): ";
cin >> isi_pembilang_pec1;
cout << "Masukkan penyebut (pecahan 1) : ";
cin >> isi_penyebut_pec1;
cout << "\033[0;33mMasukkan pembilang (pecahan 2): ";
cin >> isi_pembilang_pec2;
cout << "Masukkan penyebut (pecahan 2) : ";
cin >> isi_penyebut_pec2;
// cek apakah penyebut ada yg isi na nol atau engga
if (isi_penyebut_pec1 == 0 && isi_penyebut_pec2 == 0) {
cout << "\033[1;31mWaduh, dilarang membagi dengan 0 !" << endl;
} else {
cout << "\033[0;36m-----------------------" << endl;
hasil_pembilang_atas = kalikan_pecahan(isi_pembilang_pec1, isi_penyebut_pec1,
isi_pembilang_pec2,
isi_penyebut_pec2,
"pembilang");
hasil_penyebut_bawah = kalikan_pecahan(isi_pembilang_pec1, isi_penyebut_pec1,
isi_pembilang_pec2, isi_penyebut_pec2,
"penyebut");
hasil_penyederhanaan_pembilang = simpelkan_bentuk_per(hasil_pembilang_atas,
hasil_penyebut_bawah, "pembilang");
hasil_penyederhanaan_penyebut = simpelkan_bentuk_per(hasil_pembilang_atas,
hasil_penyebut_bawah, "penyebut");
tampilkan_pecahan(isi_pembilang_pec1,
isi_penyebut_pec1,
isi_pembilang_pec2,
isi_penyebut_pec2,
hasil_penyederhanaan_pembilang,
hasil_penyederhanaan_penyebut, 'x');
}
// return 0;
} else if (input_pilihan_mode_pecahan == 3) {
bersihkan_layar();
tampilkan_logo();
cout << "\033[0;36m[MODE PENGURANGAN PECAHAN]" << endl;
cout << "\033[0;33mMasukkan pembilang (pecahan 1): ";
cin >> isi_pembilang_pec1;
cout << "Masukkan penyebut (pecahan 1) : ";
cin >> isi_penyebut_pec1;
cout << "\033[0;33mMasukkan pembilang (pecahan 2): ";
cin >> isi_pembilang_pec2;
cout << "Masukkan penyebut (pecahan 2) : ";
cin >> isi_penyebut_pec2;
// cek apakah penyebut ada yg isi na nol atau engga
if (isi_penyebut_pec1 == 0 && isi_penyebut_pec2 == 0) {
cout << "\033[1;31mWaduh, dilarang membagi dengan 0 !" << endl;
} else {
cout << "\033[0;36m-----------------------" << endl;
hasil_pembilang_atas = kurangkan_pecahan(isi_pembilang_pec1, isi_penyebut_pec1,
isi_pembilang_pec2,
isi_penyebut_pec2,
"pembilang");
hasil_penyebut_bawah = kurangkan_pecahan(isi_pembilang_pec1, isi_penyebut_pec1,
isi_pembilang_pec2, isi_penyebut_pec2,
"penyebut");
hasil_penyederhanaan_pembilang = simpelkan_bentuk_per(hasil_pembilang_atas,
hasil_penyebut_bawah, "pembilang");
hasil_penyederhanaan_penyebut = simpelkan_bentuk_per(hasil_pembilang_atas,
hasil_penyebut_bawah, "penyebut");
tampilkan_pecahan(isi_pembilang_pec1,
isi_penyebut_pec1,
isi_pembilang_pec2,
isi_penyebut_pec2,
hasil_penyederhanaan_pembilang,
hasil_penyederhanaan_penyebut, '-');
}
// return 0;
} else if (input_pilihan_mode_pecahan == 4) {
bersihkan_layar();
tampilkan_logo();
cout << "\033[0;36m[MODE PEMBAGIAN PECAHAN]" << endl;
cout << "\033[0;33mMasukkan pembilang (pecahan 1): ";
cin >> isi_pembilang_pec1;
cout << "Masukkan penyebut (pecahan 1) : ";
cin >> isi_penyebut_pec1;
cout << "\033[0;33mMasukkan pembilang (pecahan 2): ";
cin >> isi_pembilang_pec2;
cout << "Masukkan penyebut (pecahan 2) : ";
cin >> isi_penyebut_pec2;
// cek apakah penyebut ada yg isi na nol atau engga
if (isi_penyebut_pec1 == 0 && isi_penyebut_pec2 == 0) {
cout << "\033[1;31mWaduh, dilarang membagi dengan 0 !" << endl;
} else {
cout << "\033[0;36m-----------------------" << endl;
hasil_pembilang_atas = bagi_pecahan(isi_pembilang_pec1, isi_penyebut_pec1,
isi_pembilang_pec2,
isi_penyebut_pec2,
"pembilang");
hasil_penyebut_bawah = bagi_pecahan(isi_pembilang_pec1, isi_penyebut_pec1,
isi_pembilang_pec2, isi_penyebut_pec2,
"penyebut");
hasil_penyederhanaan_pembilang = simpelkan_bentuk_per(hasil_pembilang_atas,
hasil_penyebut_bawah, "pembilang");
hasil_penyederhanaan_penyebut = simpelkan_bentuk_per(hasil_pembilang_atas,
hasil_penyebut_bawah, "penyebut");
tampilkan_pecahan(isi_pembilang_pec1,
isi_penyebut_pec1,
isi_pembilang_pec2,
isi_penyebut_pec2,
hasil_penyederhanaan_pembilang,
hasil_penyederhanaan_penyebut, '/');
}
// return 0;
} else if (input_pilihan_mode_pecahan == 9) {
// kosong
} else {
cout << "inputan salah, mohon pilih menu di atas tersebut." << endl;
}
}
int main()
{
// mulai dari sini
// loop terus tanpa berhenti
while (1) {
// jika variabel status berhenti nilai nya 1, maka break loop nya
if (status_berhenti==1) {
break;
}
// bersihkan cmd yang sebelumnya
bersihkan_layar();
tampilkan_logo();
tampilkan_pilihan_menu_utama();
// tanya user mau nya apa
cout<<"\033[0;36mmasukkan menu > " ;
cin >> menu_pilihan_string;
/*
bagian ini hanya if else, jika user mencet angkanya, maka ia masuk ke blok spesifik if tertentu
*/
// Menu Perkalian
if (menu_pilihan_string == "1") {
cout << "\033[0;33mMasukan angka pertama : ";
cin >> angka_pertama_perkalian ;
cout << "\033[0;33mMasukan angka kedua : ";
cin >> angka_kedua_perkalian;
// panggil fungsi disini, lalu simpan di hasil
hasil = hitung_perkalian(angka_pertama_perkalian, angka_kedua_perkalian);
cout << "hasil Perkalian : a x b = " << hasil << endl;
status_berhenti = konfirmasi_ingin_keluar();
// Menu Pertambahan
} else if (menu_pilihan_string == "2") {
cout << "\033[0;33mMasukan angka pertama :";
cin >> angkake1_pertambahan;
cout << "\033[0;3mMasukan angka kedua :";
cin >> angkake2_pertambahan;
// panggil fungsi disini, lalu simpan hasil
hasil = hitug_pertambahan(angkake1_pertambahan, angkake2_pertambahan);
cout << "hasil pertambahan : a + b = " << hasil << endl;
status_berhenti = konfirmasi_ingin_keluar();
// Menu Pembagian
}else if (menu_pilihan_string == "3") {
cout << "\033[0;33mMasukan angka pertama :";
cin >> angkake1_pembagian;
cout << "\033[0;33mMasukan angka pertama :";
cin >> angkake2_pembagian;
// panggil fungsi disini, lalu simpan hasil
hasil = hitung_pembagian (angkake1_pembagian, angkake2_pembagian);
cout << "hasil pembagian : a : b = " << hasil << endl;
status_berhenti = konfirmasi_ingin_keluar();
// Menu Pengurangan
}else if (menu_pilihan_string == "4") {
cout << "\033[0;33mMasukan angka pertama :";
cin >> angkake1_perkurangan;
cout << "\033[0;33mMasukan angka kedua :";
cin >> angkake2_perkurangan;
// panggil fungsi disini, lalu simmpan hasil
hasil = hitung_penkurangan (angkake1_perkurangan, angkake2_perkurangan);
cout << "hasil pengurangan : a - b = " << hasil << endl;
status_berhenti = konfirmasi_ingin_keluar();
}else if (menu_pilihan_string == "5") {
cout <<"\033[0;33mMasukan sisi kubus :";
cin >> panjangsisi_volumekubus;
// panggil fungsi disini, lalu simmpan hasil
hasil = hitung_volumekubus (panjangsisi_volumekubus);
cout << "hasil volume kubus : S x S x S = " << hasil << endl;
status_berhenti = konfirmasi_ingin_keluar();
}else if (menu_pilihan_string == "6") {
cout <<"\033[0;33mMasukan panjang balok :";
cin >> angkake1_volumebalok;
cout <<"\033[0;33mMasukan lebar balok :";
cin >> angkake2_volumebalok;
cout <<"\033[0;33mMasukan tinggi balok :";
cin >> angkake3_volumebalok;
// panggil fungsi disini, lalu simmpan hasil
hasil = hitung_volumebalok (angkake1_volumebalok, angkake2_volumebalok, angkake3_volumebalok);
cout << "hasil volume balok : P x L x T = " << hasil << endl;
status_berhenti = konfirmasi_ingin_keluar();
}else if (menu_pilihan_string == "7") {
cout <<"\033[0;33mMasukan nilai A :";
cin >> pers_A;
cout <<"\033[0;33mMasukan nilai B :";
cin >> pers_B;
cout <<"\033[0;33mMasukan nilai C :";
cin >> pers_C;
x1 = hitung_rumus_abc(pers_A, pers_B, pers_C, "xpositif");
cout << "x1 = " << x1 << endl;
x2 = hitung_rumus_abc(pers_A, pers_B, pers_C, "xnegatif");
cout << "x1 = " << x2 << endl;
status_berhenti = konfirmasi_ingin_keluar();
}else if (menu_pilihan_string == "8") {
fungsi_khusus_op_pecahan();
status_berhenti = konfirmasi_ingin_keluar();
}else if (menu_pilihan_string == "9") {
fungsi_khusus_op_ngitung_trig();
status_berhenti = konfirmasi_ingin_keluar();
}else if (menu_pilihan_string == "10") {
bersihkan_layar();
tampilkan_logo();
input_faktorial = 0;
hasil_faktorial = 1;
cout << "\033[0;33mMasukkan angka yg ingin difaktorialkan: ";
std::cin >> input_faktorial;
std::cout << "===\n";
for(int i = input_faktorial; i != 0; --i) {
if (i == 1) {
std::cout << i;
} else {
std::cout << i << " x ";
}
hasil_faktorial = hasil_faktorial * i;
}
std::cout << " = ";
std::cout << hasil_faktorial << std::endl;
status_berhenti = konfirmasi_ingin_keluar();
} else if (menu_pilihan_string == "help" || menu_pilihan_string == "11") {
bersihkan_layar();
tampilkan_help();
cout << "[enter untuk keluar]" << endl;
cin.ignore();
cin.get();
} else {
bersihkan_layar();
tampilkan_logo();
cout << "\033[1;31mOops, menu tidak diketahui" << endl;
cout << "[enter untuk kembali]" << endl;
cin.ignore();
cin.get();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment