latest Post

Program Bangun Datar dengan validasi di C++


Buatlah program untuk menghitung luas dan keliling bangun datar berikut dengan menggunakan konsep fungsi:
a.        Persegi Panjang
b.        Segitiga sembarang
c.        Lingkaran
d.        Trapesium
e.       Jajargenjang
#include <iostream>
#include <math.h>
#include <limits>
#include <cstdlib>
#include <cstring>
using namespace std;

const float phi=3.14;
//validasi
int kata;
char val [100];

int validasi()
{
    do
    {
        kata=0;
        cout<<"\t\t";cin>>val;
        for(int i=0; i<strlen(val); i++)
        {
            if(isdigit(val[i])==0)
                kata++;
        }
        if(kata !=0)
            cout<<"\t\tInput salah !\n"<<endl;

    }
 while(kata!=0);
    return 0;
}

//Pesegi Panjang
float kelilingpp(float p,float l){
  float kel;
  kel=p+l+p+l;
  return kel;
}

float luaspp(float p, float l)  {
   float luas;
   luas=p*l;
   return luas;
}

//Segitiga Sembarang
float kelilingss(float a,float b,float c){
  float kel;
  kel=a+b+c;
  return kel;
}

float sisimiring(float a,float b,float c){
 float miring;
 miring=kelilingss(a,b,c)*0.5;
 return miring;
}

float luasss(float a,float b,float c)  {
   float luas,s;
   s=sisimiring(a,b,c);
   luas=sqrt(s*((s-a)*(s-b)*(s-c)));
   return luas;
}

//Lingkaran
float kelilingl(float r){
  float kel;
  kel=2*phi*r;
  return kel;
}

float luasl(float r)  {
   float luas;
   luas=phi*pow(r,2);
   return luas;
}

//Trapesium
float kelilingt(float a,float b,float t){
  float kel, alaskanankiri,sisimiring;
  alaskanankiri=0.5*(b-a);
  sisimiring=sqrt(pow(alaskanankiri,2)+pow(t,2));
  kel=a+b+sisimiring+sisimiring;
  return kel;
}

float luast(float a,float b, float t)  {
   float luas;
   luas=0.5*(a+b)*t;
   return luas;
}

//Jajar Genjrang
float kelilingjg(float a,float sisi){
  float kel;
  kel=(2*a)+(2*sisi);
  return kel;
}

float luasjg(float a,float t)  {
   float luas;
   luas=a*t;
   return luas;
}

int main(){
      int pilihan;
      float panjang,lebar,alas,tinggi,jari,sisiatas,sisibawah,sisi,sisi2;
      
      cout<<"\tProgram Untuk Menghitung Luas dan Keliling Bangun Datar"<<endl;
      cout<<"\t======================================================="<<endl; 
   cout<<"\t\tTekan 1 untuk Persegi Panjang \n\t\tTekan 2 untuk Segitiga sembarang \n\t\tTekan 3 untuk Lingkaran \n\t\tTekan 4 untuk Trapesium \n\t\tTekan 5 untuk Jajargenjang \n\t\tTekan 6 untuk Berhenti"<<endl;
   
   balik:
   cout<<"\n\t\tMasukkan Pilihan : ";
   validasi(); pilihan=atoi(val);
   
   switch(pilihan){
   
   case 1 : {
  cout<<"\n\t\tLuas dan Keliling Persegi Panjang";
    cout<<"\n\t\tMasukkan Nilai Panjang\t : ";
    validasi(); panjang=atoi(val);
  cout<<"\t\tMasukkan Nilai Lebar\t : ";
  validasi(); lebar=atoi(val);
  if (panjang<=0||lebar<=0)
   cout<<"\t\tNilai harus berupa bilangan bulat positif";
  else
   cout<<"\t\tLuasnya     : "<<luaspp(panjang,lebar)<<endl;
   cout<<"\t\tKelilingnya : "<<kelilingpp(panjang,lebar)<<endl;
  break;
   }  
      
   case 2 :{
    cout<<"\n\t\tLuas dan Keliling Segitiga Sembarang";
    cout<<"\n\t\tMasukkan Nilai sisi 1\t : ";
    validasi(); sisi=atoi(val);
    cout<<"\t\tMasukkan Nilai sisi 2\t : ";
    validasi(); sisi2=atoi(val);
  cout<<"\t\tMasukkan Nilai Tinggi\t : ";
  validasi(); tinggi=atoi(val);
  if (sisi<=0||sisi2<=0||tinggi<=0)
   cout<<"\t\tNilai harus berupa bilangan bulat positif";
  else
   cout<<"\t\tLuasnya     : "<<luasss(sisi,sisi2,tinggi)<<endl;
   cout<<"\t\tKelilingnya : "<<kelilingss(sisi,sisi2,tinggi)<<endl;
  break;
   }  
   
   case 3 :{
    cout<<"\n\t\tLuas dan Keliling Lingkaran";
    cout<<"\n\t\tMasukkan Nilai Jari-jari : ";
    validasi(); jari=atoi(val);
  if (jari<=0)
   cout<<"\t\tNilai harus berupa bilangan bulat positif";
  else
   cout<<"\t\tLuasnya     : "<<luasl(jari)<<endl;
   cout<<"\t\tKelilingnya : "<<kelilingl(jari)<<endl;
  break;
   }
   
   case 4 :{
    cout<<"\n\t\tLuas dan Keliling Trapesium";
    cout<<"\n\t\tMasukkan Nilai Sisi Atas : ";
    validasi(); sisiatas=atoi(val);
    cout<<"\t\tMasukkan Nilai Sisi Bawah: ";
    validasi(); sisibawah=atoi(val);
    cout<<"\t\tMasukkan Nilai Tinggi    : ";
    validasi(); tinggi=atoi(val);
  if (sisiatas<=0||sisibawah<=0||tinggi<=0)
   cout<<"\t\tNilai harus berupa bilangan bulat positif";
  else
   cout<<"\t\tLuasnya     : "<<luast(sisiatas,sisibawah,tinggi)<<endl;
   cout<<"\t\tKelilingnya : "<<kelilingt(sisiatas,sisibawah,tinggi)<<endl;
  break;
   }  
   
   case 5 :{
    cout<<"\n\t\tLuas dan Keliling Jajar Genjrang";
    cout<<"\n\t\tMasukkan Nilai Alas\t : ";
    validasi(); alas=atoi(val);
    cout<<"\t\tMasukkan Nilai Tinggi\t : ";
    validasi(); tinggi=atoi(val);
    cout<<"\t\tMasukkan Sisi Miring\t : ";
    validasi(); sisi=atoi(val);
  if (alas<=0||tinggi<=0||sisi<=0)
   cout<<"\t\tNilai harus berupa bilangan bulat positif";
  else
   cout<<"\t\tLuasnya     : "<<luasjg(alas,tinggi)<<endl;
   cout<<"\t\tKelilingnya : "<<kelilingjg(alas,sisi)<<endl;
  break;
   }  
   
   case 6:{
    cout<<"\t\tBye ";
    return 0;
   }
    
   default :
    cout<<"\t\tPilihan salah !";
   
   }
   
 cout<<"\n\t-------------------------------------------------------"<<endl; 
 system("pause");
 goto balik;
      
}






About Unknown

Unknown
Recommended Posts × +

0 comments:

Post a Comment