පාලන ප්රවාහය (If / Else)
Control Flow යනු අපගේ වැඩසටහනේ කේතය ක්රියාත්මක වන අනුපිළිවෙලයි. සාමාන්යයෙන්, කේතය ඉහළ සිට පහළට, එකින් එක පේළිය ක්රියාත්මක වේ. නමුත් සමහර විට, යම් යම් කොන්දේසි මත පදනම්ව, අපට එම අනුපිළිවෙල වෙනස් කිරීමට අවශ්ය වේ. ඒ සඳහා අපි if, else if, else, සහ switch වැනි ප්රකාශන භාවිතා කරමු.
යම්කිසි කොන්දේසියක් සත්ය (true) නම් පමණක් කේත කොටසක් ක්රියාත්මක කරවීමට if ප්රකාශය භාවිතා කරයි. කොන්දේසිය අසත්ය (false) නම්, එම කේත කොටස මඟ හැර යයි.
කොන්දේසිය සත්ය නම් එක් කේත කොටසක් ද, අසත්ය නම් තවත් කේත කොටසක් ද ක්රියාත්මක කිරීමට if...else භාවිතා කරයි.
කොන්දේසි කිහිපයක් එකින් එක පරීක්ෂා කිරීමට මෙම ක්රමය භාවිතා කරයි. C++ පළමු true කොන්දේසිය හමු වූ විට අදාළ කේතය ක්රියාත්මක කර, ඉතිරිය මඟ හරියි.
#include <iostream>
int main() {
int number = 20;
if (number > 10) {
std::cout << "The number is greater than 10.";
}
return 0;
}The number is greater than 10.#include <iostream>
int main() {
int age = 17;
if (age >= 18) {
std::cout << "You are eligible to vote.";
} else {
std::cout << "You are not eligible to vote yet.";
}
return 0;
}You are not eligible to vote yet.ලකුණු මත පදනම්ව ශිෂ්යයෙකුගේ ශ්රේණිය ලබා දෙමු.
#include <iostream>
int main() {
int score = 85;
if (score >= 75) {
std::cout << "Grade: A";
} else if (score >= 65) {
std::cout << "Grade: B";
} else if (score >= 55) {
std::cout << "Grade: C";
} else {
std::cout << "Grade: F";
}
return 0;
}Grade: A#include <iostream>
int main() {
int num = -5;
if (num > 0) {
std::cout << "Positive number";
} else if (num < 0) {
std::cout << "Negative number";
} else {
std::cout << "Zero";
}
return 0;
}Negative number#include <iostream>
int main() {
int a = 10, b = 20;
if (a > b) {
std::cout << "a is greater.";
} else {
std::cout << "b is greater or equal.";
}
return 0;
}b is greater or equal.#include <iostream>
int main() {
int age = 22;
bool hasID = true;
if (age >= 18 && hasID == true) {
std::cout << "Access Granted.";
} else {
std::cout << "Access Denied.";
}
return 0;
}Access Granted.එක් `if` ප්රකාශයක් තුළ තවත් `if` ප්රකාශයක් යෙදීම.
#include <iostream>
int main() {
int num = 10;
if (num > 0) {
std::cout << "Number is positive." << std::endl;
if (num % 2 == 0) {
std::cout << "And it is also an even number.";
}
}
return 0;
}Number is positive.And it is also an even number.#include <iostream>
int main() {
int number;
std::cout << "Enter an integer: ";
std::cin >> number;
if (number > 100) {
std::cout << "You entered a number greater than 100.";
} else {
std::cout << "You entered a number less than or equal to 100.";
}
return 0;
}Enter an integer: 50You entered a number less than or equal to 100.#include <iostream>
int main() {
int year = 2024;
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
std::cout << year << " is a leap year.";
} else {
std::cout << year << " is not a leap year.";
}
return 0;
}2024 is a leap year.එකම variable එක විවිධ අගයන් සමඟ සංසන්දනය කිරීමට `if..else if` වෙනුවට `switch` භාවිතා කළ හැක.
#include <iostream>
int main() {
int day = 4;
switch (day) {
case 6:
std::cout << "Today is Saturday";
break;
case 7:
std::cout << "Today is Sunday";
break;
default:
std::cout << "Looking forward to the Weekend";
}
return 0;
}Looking forward to the Weekend