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
මන් මේ පිලිබද ප්රශ්න කිහිපයකුත් දාන්නම් ඒවගේ උත්තරත් එක්ක.
- Obtain two numbers from the keyboard and display the larger number.
answer -> https://drive.google.com/open?id=1_HwG20mPZOdRcl3Hakorim9KixD4howV
- 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
- 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
- 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
- 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
- C programm එකක් windows වල run කරන විදිහ --> https://bit.ly/2O6rLXR
ඔබට අවශ්යනම් ඔබේ බ්රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්
- https://www.onlinegdb.com/online_c_compiler
- https://www.tutorialspoint.com/compile_c_online.php
- https://repl.it/languages/c
සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්
- https://www.geeksforgeeks.org/c-programming-language/
- https://www.tutorialspoint.com/cprogramming/index.htm
මගේ කලින් ලිපි
- 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
-
patta bro