May 7, 2021

TechXlk

All About Technology

switch හා break ,continue විදාන භාවිතය|TechXlk C Tutorials – 08

switch break continue C tutorials 08 __TechXlk__

 ඔන්න අද අපිට කතාකරන්න තියෙන්නේ switch statement එක හා break and continue කියන විදාන ගැන.අපි එහෙනම් මුලින්ම switch statement එක ගැන කතකරල ඉමු.

switch statement.

අපේ programme එකේ තියෙන විවිද කේත වරණයන් (code block) අතුරෙන් අපට අවශ්‍ය වන කේත වරණය තෝරාගෙන ක්‍රියාත්මක කරවීමට මේ switch statement එක යොදා ගැනේ.

switch එකෙන් කෙරෙන කාර්යය බොහෝ දුරට if…else මගින් කරන කාර්යයට සමානකමක් පෙන්වනවා,නමුත් switch statement එක භාවිතා කිරීම if …else භාවිතා කරනවට වඩා ගොඩක් පහසුයි.

switch statement එක භාවිතා කිරීමේ syntax එක.

switch(expression)
{
    case constant1:
        //statement 01
        break;
    case constant2:
        //statement 02
        break;
        .
        .
        .
        . 
    default;
    //default statement
}

කොහොමද මේ switch statement එක ක්‍රියාත්මක වෙන්නේ?

මුලින්ම වෙන්නේ switch එක ඇතුලේ තියෙන expression එක, එක වතාවක් run වෙන එකයි.ඊළගට ඒ expression එකේ අගයට ගැලපෙන අගය තියෙන case එක හොයාගෙන එකේ තියෙන statement ටික ක්‍රියාත්මක කරනවා.

උදාහරනයක් විදියට,expression එකේ අගය constant2 කියන අගයට සමාන උනා කියල හිතන්න.එතකොට constant2 කියන අගය අදලවෙන case එකේ statements ටික ක්‍රියාත්මක වෙනව.

මෙහෙම සමාන නොවෙන අවස්ථාවකදී default කියන case එක run වෙනව.

තව දෙයක් තියෙනවා,අපි මේ case statement එක ඉවරකරන්න break කියන එක යොදා ගත්තේ නැත්නම්,මුලින් කිව්ව විදියට සමාන උන case එකන් පස්සේ තියෙන ඔක්කොම case ටික run වෙනව.

switch statement එකට අදාළ flow chartඑක.

switch statement

උදාහරණ .

switch statement එක භාවිතයෙන් සරල ගණක යන්ත්‍රයක් නිර්මාණය කිරීම.

#include <stdio.h>
int main()
{ 
float numberl, number2, anw; 
char opr;
printf("enter a operator +,-,/,*, :");
scanf("%c",&opr);
printf("enter numberl:");
scanf("%f", &numberl);
printf("enter number2:");
scanf("%f",&number2);
switch (opr)
{
    case '+':
        anw=numberl+number2;
        print("%.1f + %.1f = &.1f",number1, number2, anw) ;
        break;
    case '-':
        anw=numberl-number2;
        printf("%.1f - %.1f = %.1f",number1, number2, anw) ;
        break;
    case '*':
        anw=numberl*number2;
        printf("%.1f * %.1f = %.1£",number1, number2, anw) ;
        break;
    case '/':
        anw=numberl/number2;
        printf("%.1f / %.1f = %.1f",number1, number2, anw) ;
        break;
    default:
        printf ("Invalid operator.");
    }
}

switch statement එක භාවිතා කරන විදිය ගැන හොද අදහසක් මේ උදාහරණයෙන් ලැබෙන්න ඇති.එහෙමනම් අපි ඊලග කොටසට යමු.

break and continue.

අපි මේ කොටසෙන් break හා continue කියන විදාන  භාවිතා කරන්නේ කොහොමද කියල උදාහරණත් එක්කම ඉගෙනගනිමු.

break විදානය.

ක්‍රියාත්මක වෙමින් පවතින loop එකක් යම් අවස්ථාවකදී නතරකර ගැනීමට මෙම break විදානය භාවිතා කරයි.මෙම විදානය බොහෝදුරට loop එකක් ඇතුලත  ඇති if…else එකක් තුල භාවිතා වේ.

break විදානය භාවිතා කිරීමේ syntax එක.

break;

break විදානය විවිද loop වලදී භාවිතා වන ආකාරය.

break

උදාහරණ .

පරිශීලක ආදානය කරන සංඛ්‍යා 10 ක් එකතුව ලබා ගැනීමට හා පරිශීලක විසින් -1 ඇතුලත් කල විට ප්‍රතිදානය ලබා දීමට ක්‍රමලේඛනයක් නිර්මාණය කරමු.

#include<stdio.h>
int main()
{
int i;
float number,sum=0.0;
for (i=l; i<=10; ++i)
{
    printf("enter a number: ");
    scanf ("%f",&number);
    if (number==-1)
    {
        break;
    }
    sum+=number;
printf ("total is %.1f",sum);
return 0;
}

මේක අපි කලින් උදාහරණයකින් පැහැදිලි කරලා දුන්න programme එකක් නිසා මේකේ තියෙන විශේෂ කොටස වෙන break විදානය ගැන විතරක් පැහැදිලි කරලා දෙන්නම්.

මෙතන අපි පොඩි දෙයයි කරලා තියෙන්නේ ,පරිශීලකගෙන් ආදානය අරගෙන එම සංඛ්‍යා -1 ට සමාන වෙනවද කියල if statement එකක් දාගෙන පරික්ෂා කරලා තියෙනවා.එහෙම -1 වෙනවනම් break විදානය යොදාගෙන loop එක නවත්තල එකතුව ප්‍රතිදානය කර ගන්නවා.

continue විදානය.

ක්‍රියාත්මක වෙමින් පවතින loop එකක යම්  ප්‍රතිපලයක් හෝ ප්‍රතිපල කීපයක් මගහැර අනෙක් ප්‍රතිපල ක්‍රියාවට නැංවීමට continue විදානය භාවිතා වේ.මෙම විදානය සැම විටම පාහේ if…else සමග භාවිතයට ගැනේ.

continue විදානය විවිද loop වලදී භාවිතා වන ආකාරය.

continue

උදාහරණ.

පරිශීලක ඇතුලත් කරන සංඛ්‍යා 10 අතුරින් ධන සංඛ්‍යා වල එකතුව ලබාගැනීමට වැඩසටහනක් නිර්මාණය කරමු.

#include <stdio.h>
int main()
{
int i;
float number,sum=0.0;
for (i=l; i<=10;++i)
{
    printft("enter a number: ");
    scanf ("%f", &number) ;
    if (number < 0.0)
    {
        continue;
    }
    sum+=number;
}
printf("total is %.1f",sum);
return 0;
}

මෙතනදීත් අපි කලින් programme එකටම පොඩි වෙනසක් කරලා තමයි හදල තියෙන්නේ.මේකෙදි වෙන්නේ 0 ට වඩා අඩු සංඛ්‍යා continue කියන විදානයෙන් මගහරිනවා.අනිත් සංඛ්‍යා වල එකතුව සාමාන්‍ය විදියට ලබා ගන්නවා.

ඔන්න අපි මේ article එකෙන් switch statement හා break and continue විදාන ගැන කතා කරා. තව මේ කොටස් ගැන හොයල බලන්න.

එහෙනම් අපි මේ article එක මෙතනින් නවත්තමු.ඊලග article එකෙන් තව වැදගත් කොටසක් ගැන ඉගෙන ගනිමු.