Jumat, 18 November 2011

C++ Lanjutan 10

4.6.3 Pernyataan while
                Digunakan untuk pengambilan keputusan dan looping.
        
         Bentuk :
             While(kondisi)
             {
               pernyataan
              }           
          
           Jika kondisi tidak terpenuhi, maka pernyataan tidak  akan dieksekusi.

         Contoh:
#include <conio.h>
#include <iostream.h>
#define TINGGI 5
#define LEBAR 10
// Program menggambarkan karakter khusus pada sebuah
// koordinat yang ditentukan
void main()
{
 char matrix[TINGGI][LEBAR];
 int x,y;
 for(y=0;y<TINGGI;y++)
  for(x=0;x<LEBAR;x++)matrix[y][x]='.';
 cout<<"Ketik koordinat dalam bentuk x y(4 2).\n";
 cout<<"Gunakan bilangan negatif untuk berhenti.\n";

 while(x>=0 && y>=0)
 {
  for(y=0;y<TINGGI;y++)
  {
        for(x=0;x<LEBAR;x++)
         cout<<matrix[y][x];
        cout<<"\n\n";
  }
 cout<<"Koordinat : ";
 cin>>x>>y;
 matrix[y-1][x-1]='\xBO';
 }
 getch();
}

Penjelasan :
Program ini adalah program menggambar karakter [] jika dicompile di Turbo C++ atau mengambar ♂ jika dicompile di Borland C++. ( ditunjukkan oleh karakter ’xBO’ ).
Karena adanya pernyataan while(x>=0 && y>=0), maka program
akan langsung mengeksekusi pernyataan
  cout<<"Koordinat : ";
  cin>>x>>y;
  matrix[y-1][x-1]='\xBO';
jika user memasukkan bilangan negatif.
Pada program diatas terdapat fungsi getch(). Gunanya adalah untuk memberhentikan keluaran program sampai user menekan tombol keyboard. Untuk menggunakannya, file conio.h harus diinclude.

4.6.4 Pernyataan do…while
Pernyataan do…while mirip seperti pernyataan while, hanya   saja pada do…while pernyataan yang terdapat didalamnya minimal akan sekali dieksekusi.
                       
               Bentuk :
                   do{
               pernyataan;
                     } while(kondisi);
                 
                    Terlihat, walaupun kondisi tidak terpenuhi, maka pernyataan  minimal akan dieksekusi sekali.

Contoh :
#include <iostream.h>
#include <conio.h>
#include <math.h>
// Program konversi bilangan desimal ke biner
void main()
{
 int p,n,i=0;
 cout<<"Masukkan bilangan desimal : ";
 cin>>p;


 double A[100];
 do
 {
  A[++i]=p%2;
  p=p/2;
  floor(p);
 } while (p>1);
 cout<<"Nilai binernya : ";
 cout<<p;
 for(n=i;n>=1;n--)
 {
  cout<<A[n];
 }

 getch();
}

              Penjelasan :
              Coba anda masukkan bilangan negatif.
              Itulah letak kesalahan program ini ( sekaligus untuk menunjukkan sifat dari do…while )
              Jika anda memasukkan bilangan positif, maka program ini akan menghasilkan nilai biner yang bersesuaian dengan nilai desimal yang anda masukkan.

Tidak ada komentar:

Posting Komentar