C Programming මුල සිට ඉගෙනගනිමු (part 6 - Decision making(if-else statement - part 2))



  • කලින් කොටසේ අපි ඉගෙන ගත්තා if, else if, else වැඩ කරන විදිහ හා ඒවා භාවිතා කරන ආකාරය පිලිබද. මේ කොටසින් මන් තව දුරටත් මේ statement එක ගැන කතා කිරීමට බලාපොරොත්තු වෙනවා.

    අපි දැන් බලමු && (AND), || (OR), ! (NOT) gates if condition එකක් ඇතුලේ වැඩ කරන ආකාරය. &&, ||, ! ගැන මන් මගේ කලින් ලිපියක සඳහන් කලා

    C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://bit.ly/2ruMH22

    &&(AND)

    • කලින් ලිපියේ අපිට 0 ට වඩා විශාල සංඛ්‍යා සෙවීමට දුන් විට අපි if(num > 0) භාවිතා කලා.

    • ඒ වගේම අපිට 0 ට වඩා කුඩා සංඛ්‍යා සෙවීමට දුන් විට අපි if(num < 0) භාවිතා කලා.

    • නමුත් අපිට කිව්වොත් 0 ත් 100ත් අතර සංඛ්‍යාවක් සෙවීමට දුන්නොත් කොහොමද if එකක් යොදාගෙන ඒ දේ කරන්නේ

    මන් මේක සරල ප්‍රශ්නයක් ඔස්සේ පැහැදිලි කරන්නම්.

    Question 1 -: Write a C program to input number from keyboard. find out that number in between 0 and 100. If it is true
    display a message called "success" otherwise display a message "fail".

    මේ ප්‍රශ්නෙන් කියවෙන්නේ අපි සංඛ්‍යාවක් input කරපු විට එම සංඛ්‍යාව 0 ත් 100 ත් අතර පවතින සංඛ්‍යාවක් නම් "success" කියලා message එකක් එන්න ඕන. එම සංඛ්‍යාව 0 ත් 100 ත් අතර නැතිනම්
    "fail" කියලා message එකක් එන්න ඕන. මන් මේක පියවර ආකාරයෙන් පැහැදිලි කරන්නම්.

    • අපි 0 ට වැඩි සංඛ්‍යා නිරූපණය කරන්නේ num > 0 මගින්. (num කියලා කියන්නේ අපි ගත්තු random variable එකක්)

    • අපි 100 ට වඩා අඩු සංඛ්‍යා නිරූපණය කරන්නේ num < 100 මගින්.

    • ** එම නිසා 0 ත් 100 ත් අතර සංඛ්‍යාවක් වීමට නම් num කියන variable එක 0 < num < 100 මේ විදිහට පැවතිය යුතුය.** එනම් num > 0 හා num < 100 යන කරුණු දෙක එකවර
      සත්‍ය විය යුතුය. කරුණු එකකට වඩා වැඩි ගණනක් එක වර සත්‍යදැයි බලන gate එක වන්නේ AND(&&) gate එකයි. අපි දැන් මේ ප්‍රශ්නය විසදමු.

    #include <stdio.h>
    
    int main()
    {
        int num;
        
        printf("Enter a number = ");
        scanf("%d", &num); //කිසියම් සංඛ්‍යාවක් input කිරීම
        
        if(num > 0 && num < 100) //එම සංඛ්‍යාව 0ට වඩා විශාල හා 100ට වඩා කුඩානම්
        {
            printf("Success");
        }
        else //එම සංඛ්‍යාව 0ත් 100ත් අතර නොමැතිනම්
        {
            printf("fail");
        }
        
        return 0;
    }
    
    First run -: Enter a number = 50                                                                                                  
                 Success
    
    Second run-: Enter a number = 105                                                                                                  
                 fail   
    
    Third run -: Enter a number = -20                                                                                                 
                 fail 
    

    ||(OR)

    මේකෙන් කරන්නේ කරුණු රාශියකින් එක කරුණක් හෝ සත්‍ය නම් ක්‍රියාත්මක වෙන එක. මන් මේකත් සරල උදාහරණයක් මඟින් දක්වන්නම්

    **Question 2 -: ** Write a C programm to input number from keyboard. That number should be smaller than 0 or
    greater than 100. otherwise display "fail" message.

    මේ ප්‍රශ්නෙන් කියවෙන්නේ අපි සංඛ්‍යාවක් input කරපු විට එම සංඛ්‍යාව 0 ට වඩා කුඩා හෝ 100 ට වඩා විශාල බව සොයන්න යන්නයි. මෙම අවස්තාවේදී අපි 0ත් 100ත් අතර සංඛ්‍යාවක් ඇතුලත් කලොත්
    "fail" කියලා message එකක් display කල යුතු වේ.

    • එනම් num < 0 උනොත් සත්‍ය වේ. (success)
    • num > 100 උනොත් සත්‍ය වේ. (success)
    • 0 < num < 100 උනොත් අසත්‍ය වේ (fail)

    අපි දැන් මේ ප්‍රශ්නය විසදමු.

    #include <stdio.h>
    
    int main()
    {
        int num;
        
        printf("Enter a number = ");
        scanf("%d", &num); //කිසියම් සංඛ්‍යාවක් input කිරීම
        
        if(num < 0 || num > 100) //සංඛ්‍යාව 0ට වඩා කුඩා හෝ සංඛ්‍යාව 100ට වඩා විශාල නම්. එනම් මෙම කාරණා දෙකෙන් එක කාරණයක් සත්‍ය විය යුතුය.
        {
            printf("Success");
        }
        else //සංඛ්‍යාව 0ත් 100ත් අතර පවතී නම්
        {
            printf("fail");
        }
        
        return 0;
    }
    
    First run -: Enter a number = 105                                                                                                 
                 Success
    
    Second run-: Enter a number = -5                                                                                                 
                 Success   
    
    Third run -: Enter a number = 40                                                                                                 
                 fail 
    

    ! (NOT)

    දී ඇති කාරණය සත්‍ය නම් එය අසත්‍යක් ලෙස පිලිගැනීම මෙමගින් සිදු කරයි.

    **Question 3 -: ** Write a C programm to input number from keyboard. If that number not equal to 0 display "success" message.
    otherwise display "fail" message.

    මෙහිදී කියන්නේ ඔබ ඇතුලත් කරන සංඛ්‍යාව 0ට අසමාන නම් "success" කියලා message එකක් output කරන්න කියලා. 0ට සමාන නම් "fail" කියලා message එකක් output කල යුතුයි.

    අපි දැන් මේ ප්‍රශ්නය විසදමු.

    #include <stdio.h>
    
    int main()
    {
        int num;
        
        printf("Enter a number = ");
        scanf("%d", &num); //කිසියම් සංඛ්‍යාවක් input කිරීම
        
        if(!(num == 0)) //එම සංඛ්‍යාව 0 සමඟ සසදා එය අසත්‍යනම් එය සත්‍යක් ලෙස ගැනීම
        {
            printf("Success");
        }
        else // //එම සංඛ්‍යාව 0 සමඟ සසදා එය සත්‍යනම් එය අසත්‍යක් ලෙස ගැනීම
        {
            printf("fail");
        }
        
        return 0;
    }
    
    First run -: Enter a number = 5                                                                                                 
                 Success
    
    Second run-: Enter a number = 0                                                                                                 
                 fail   
    

    අපි අවසාන වශයෙන් තරමක් දිගු C application එකක් සාදමු.

    Question 4 -: write a program to fulfill this table

          Mark             Grade
    100 >= Mark >= 80         A
     79 >= Mark >= 70         B
     69 >= Mark >= 45         C
       0>= Mark <= 44         F
         Otherwise          Error
    
    #include <stdio.h>
    
    int main()
    {
        int mark;
        
        printf("Enter a mark = ");
        scanf("%d", &mark); //කිසියම් සංඛ්‍යාවක් input කිරීම
        
        if(mark <= 100 && mark >= 80) //එම සංඛ්‍යාව 100 හා 80 අතර ඇත්නම්
    	{ 
            printf("A Grade");
        }
        else if(mark <= 79 && mark >= 70)  //එම සංඛ්‍යාව 79 හා 70 අතර ඇත්නම්
    	{
            printf("B Grade");
        }
        else if(mark <= 69 && mark >= 45)  //එම සංඛ්‍යාව 69 හා 45 අතර ඇත්නම්
    	{
            printf("C Grade");
        }
        else if(mark <= 44 && mark >= 0)  //එම සංඛ්‍යාව 44 හා 0 අතර ඇත්නම්
    	{
            printf("F Grade");
        }
        else  //එම සංඛ්‍යාව 100 වඩා වැඩි හෝ 0 ට වඩා අඩුනම්
    	{
            printf("Error");
        }
        
        return 0;
    }
    
    First run -: Enter a mark = 90                                                                                                  
                 A Grade
    
    Second run-: Enter a mark = 70                                                                                                  
                 B Grade   
    
    Third run -: Enter a mark = 50                                                                                                 
                 C Grade 
    
    Forth run -: Enter a mark = 35                                                                                                
                 F Grade 
    
    Fifth run -: Enter a mark = -5                                                                                                 
                 Error 
    
    Sixth run -: Enter a mark = 105                                                                                                
                 Error 
    

    මන් මේ පිලිබද ප්‍රශ්න කිහිපයකුත් දාන්නම් ඒවගේ උත්තරත් එක්ක.

    1. Obtain two numbers from the keyboard and display the larger number.

    answer -> https://drive.google.com/open?id=1_HwG20mPZOdRcl3Hakorim9KixD4howV

    1. Enter the final mark of a student and display “Pass” or “Fail”. Student should get more than 45 marks to pass a subject.

    answer -> https://drive.google.com/open?id=1ZM65EF1eBzgVR86egEjXkRkAYjvTIEEW

    1. Read an integer from the keyboard. If the number is > 0 display “number is positive”.
      If number is zero display “ Number is zero”. Otherwise display “Number is negative”.

    answer -> https://drive.google.com/open?id=1AGC9wTuQgRQXCtB4S_3XGvbs8AGBc9m6

    1. Develop a C program to determine if a customer has exceeded the credit limit on an account. Following details are
      taken from the keyboard.
    • Account Number
    • Balance at the beginning of the month
    • Allowed Credit Limit
    • Total credits
    • Total charges

    Calculate the new balance (= balance at the beginning + charges – credits) and determine if the new balance exceeds
    credit limit. The program should display the new balance and the message, “Credit Limit exceeded”.

    answer -> https://drive.google.com/open?id=1ZwiClrRQ-rPX9cx2XNX3XF6mWhT3SDeH

    1. Develop a program that will determine the gross pay for employees. The company pays “straight time” for the first
      40 hours worked by the employee and pays “time-and-a –half” for all hours excess of 40 hours.
      Write a C program to enter the no of hours worked, hourly rate and calculate the employee’s gross pay.

    answer -> https://drive.google.com/open?id=1ua96xG_lfxdDtHOqWwu-e6RzUFb5m6nd

    ඔබට අවශ්‍යනම් ඔබේ බ්‍රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්

    සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්

    මගේ කලින් ලිපි

    • C Programming මුල සිට ඉගෙනගනිමු(part 1 - Introduction) -: https://bit.ly/2O6rLXR
    • C Programming මුල සිට ඉගෙනගනිමු (part 2 - Variables) -: https://bit.ly/2spD6Kn
    • C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://bit.ly/2ruMH22
    • C Programming මුල සිට ඉගෙනගනිමු (part 4 - Input & Output functions) -: https://bit.ly/2qU8IaK
    • C Programming මුල සිට ඉගෙනගනිමු (part 5 - create simple applications) -: https://bit.ly/2DDfy7b
    • C Programming මුල සිට ඉගෙනගනිමු (part 6 - Decision making(if-else statement - part 1)) -: https://bit.ly/2LiVsmZ

    මන් ඊළග ලිපියෙන් කියලා දෙන්නම් switch statement ගැන . මගේ ලිපි වල අඩුපාඩු තියෙනවනම් දන්නේ නැති දේවල් තියෙනවනම් පහලින් කමෙන්ට් එකක් දාන්න.
    තව ලිපියකින් හම්බෙමු ජය වේවා.



  • Fatta bro. Good work.



  • ftta bro


  • Web Development

    patta bro


Log in to reply