STRUKTUR KAWALAN ATURCARA C++
- MAKSUD STRUKTUR KAWALAN ATURCARA (PROGRAM CONTROL STRUCTURE)
- Struktur kawalan aturcara bermaksud kawalan terhadap perlaksanaan arahan-arahan di dalam sesuatu aturcara.
- Tetapan asal perlaksanaan aturcara adalah dari atas ke bawah (top to bottom execution). Lihat contoh di bawah (http://ideone.com/aHz4L). Komputer akan melaksanakan mengikut turutan baris atas ke bawah.
 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | #include <iostream>
 using namespace std;
 
 int main() {
 int a,b;
 cin>>a>>b;
 cout<<a*b;
 return 0;
 }
 | 
- Walaubagaimanapun tetapan ini boleh diubah kepada struktur kawalan lain seperti:
- STRUKTUR KAWALAN PILIHAN (SELECTION CONTROL STRUCTURE)
- STRUKTUR KAWALAN GELUNG (LOOP CONTROL STRUCTURE)
- STRUKTUR KAWALAN PILIHAN (SELECTION CONTROL STRUCTURE)
- KAWALAN PILIHAN bermaksud hanya baris arahan yang terpilih sahaja yang akan dilaksanakan manakala baris yang tidak dipilih tidak akan dilaksanakan. Struktur ini juga dinamakan struktur IF-THEN-ELSE atau IF-ELSE
- Struktur IIF-THEN-ELSE atau IF-ELSE dipanggil sedemikian kerana mempunyai struktur kod seperti berikut:
- IF ( Uji Pernyataan Login)
- THEN { Laksanakan arahan untuk hasil ujian TRUE}
- ELSE {Laksanakan arahan untuk hasil ujian FALSE}
- PSEUDOCODE
- BEGIN
-    INPUT num1
-    IF num1>10
-          OUTPUT “nombor besar”
-    ELSE
-          OUTPUT “nombor kecil”
-    END-IF
-  END
- FLOWCHART
  
- Lihat contoh kod C++ berikut (http://ideone.com/HXROb)
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 | #include <iostream>
 using namespace std;
 
 int main() {
 int num1;
 cin>>num1;
 if (num1>10)
 { cout<<"big number";}
 else
 { cout<<"small number";}
 
 return 0;
 }
 | 
- Oleh kerana struktur di atas adalah jenis STRUKTUR PILIHAN, input dari julat yang berbeza akan menghasilkan output yang berbeza. Kita boleh membuat INPUT-PROCESS-OUTPUT (IPO) TABLE untuk merumuskan perkara ini.
 
 
- IPO TABLE
 IPO TABLE untuk merumuskan baris 8 daripada aturcara di atas.
 if (num1>10) { … TRUE PROCESS … } else {... FALSE PROCESS …}
| INPUT | PROCESS | OUTPUT | 
| 11 (JULAT >10) | 11>10 | TRUE → “big number” | 
| 1 (JULAT <10) | 1>10 | FALSE → “small number” | 
- STRUKTUR KAWALAN GELUNG (LOOP CONTROL STRUCTURE)
- KAWALAN GELUNG bermaksud ulang perlaksanaan baris arahan tertentu mengikut syarat yang ditetapkan.
- PSEUDOCODE
- BEGIN
-    INPUT loopNo
-    SET counter=1
-    WHILE counter<=loopNo DO
-       OUTPUT counter
-    END-WHILE
- END
 
- FLOWCHART
  
 
- Lihat kod C++ berikut (http://ideone.com/3d4dz)
 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 | #include <iostream>
 using namespace std;
 
 int main() {
 int loopNo,counter;
 counter=0;
 cin>>loopNo;
 while (counter<=loopNo) {
 cout<<counter<<endl;
 counter++;
 }
 return 0;
 }
 | 
- Maksud kod di atas:
 Baris 6 - Isytihar integer variable loopNo dan counter
 Baris 7 - beri nilai awal (initialize) counter sebagai 0
 Baris 8 - Input nilai untuk loopNo
 Baris 9 - WHILE (counter<=LoopNo) = TRUE laksanakan Baris 10,11,12. Sebaliknya lompat baris-baris ini ke baris 13.
- END OF LINE
- Perhatikan baris 10. Keyword endl bermaksud End Of Line
- Program akan memindahkan kursor ke baris baru apabila menerima arahan endl
 
- INCREMENT OPERATOR
- Perhatikan baris 11. Keyword ++ pada variable bermaksud tambah satu.
- Program akan menokok satu nilai terhadap variable apabila menerima arahan ++.
- Sebaliknya program akan menyusut satu nilai terhadap variable apabila menerima arahan --.