
Download: C++ for Dummies
Download: C++ All in one for Dummies
C++ နဲ႔ ရက္ထပ္ႏွစ္ကို တြက္တဲ့ program ေလးကိုေရးသားထားပါတယ္။ က်ေနာ္က ခုမွ C++ ကို စတင္ေလ့လာသူ ျဖစ္တာေၾကာင့္ အခုေရးထားတာထက္ ပိုေကာင္းတဲ့ နည္းလမ္းေတြလဲ ရွိႏုိင္ပါတယ္။ program တစ္ခုမေရးမွီ program flow အေၾကာင္းကို စေျပာပါ့မယ္။

ပထမအဆင့္အေနနဲ႔ရက္ထပ္ႏွစ္ဟာဆိုရင္ ေလးႏွစ္တစ္ၾကိမ္ ပံုမွန္ျဖစ္တယ္လို႔ က်ေနာ္တို႔ သိၾကပါတယ္။ ဒီေတာ့ က်ေနာ္တို႔ စဥ္းစားမယ္။ က်ေနာ္တို႔ သိခ်င္တဲ့ခုႏွစ္ေတြကို “၄” နဲ႔စားလို႔ျပတ္ရင္ အဲဒီႏွစ္က ရက္ထပ္ႏွစ္ျဖစ္သြားျပီေပါ့့။ မျပတ္ရင္ေတာ့ ရက္ထပ္ႏွစ္မဟုတ္ေတာ့ဘူး။ ဒီမွာ တစ္ခုစဥ္းစားစရာရွိလာတာက ရာစုႏွစ္ (ႏွစ္ ၁၀၀) တစ္ခုကို ရက္ထပ္ႏွစ္ျဖစ္ခ်င္မွျဖစ္ႏုိင္ပါမယ္။ ေျပာရရင္ ႏွစ္ ၁၀၀ ကို ၄ နဲ႔စားလို႔ျပတ္ေပမယ့္ အဲဒီႏွစ္ကို ရက္ထပ္ႏွစ္လို႔ မသတ္မွတ္ပါဘူး။ Gregorian calendar ရဲ႕စည္းမ်ဥ္းအရ ႏွစ္ေပါင္း ၄၀၀ ျခားစီသာ တစ္ၾကိမ္ ရာစုႏွစ္ေတြမွာ ရက္ထပ္ႏွစ္ျဖစ္တယ္ဆိုတဲ့ အခ်က္ေၾကာင့္ပါ။
အဲဒါဆို ပထမအဆင့္ ခုႏွစ္က ၄ နဲ႔စားျပတ္တယ္ဆိုပါစို႔။ ရက္ထပ္ႏွစ္လို႔ အၾကမ္းျဖင္းသတ္မွတ္ထားတယ္။ ဒီေနရာမွာသိထားဖို႔က ပထမအဆင့္ ၄ နဲ႔စားျခင္းက ခုႏွစ္ ၁ ကေန ၉၉ ထိပဲအေျဖမွန္ထုတ္ေပးႏုိင္တယ္ဆိုတာပဲ။ သူ႔မွာ ရာစုႏွစ္တုိင္း ရက္ထပ္ႏွစ္မဟုတ္ဘူးဆိုတဲ့အခ်က္ကို မသိေသးတဲ့အတြက္ user က ႏွစ္ ၁၀၀, ၅၀၀, ၁၅၀၀, … စတဲ့ႏွစ္ေတြရိုက္ထည့္လာရင္ အေျဖမွန္ထြက္မလာေတာ့ဘူး။ ဒီေတာ့ ဒုတိယအဆင့္အေနနဲ႔ ရာစုႏွစ္တိုင္းက ရက္ထပ္ႏွစ္မျဖစ္ႏုိင္ဘူးဆိုေတာ့ ၁၀၀ နဲ႔ေကာစားလို႔ ျပတ္လား။ ၁၀၀ နဲ႔စားလို႔ျပတ္လားဆိုထည့္စဥ္းစားတာက user သိလိုတဲ့ခုႏွစ္က ရာစုႏွစ္ထဲမွာဟုတ္မဟုတ္ကို စစ္လိုက္တဲ့သေဘာပါ။ ဥပမာ ၁၀၃, ၂၆၀, ၄၈၀ … စသျဖင့္ ဆယ္ဂဏာန္းအထက္ေတြေပါ့။
၁၀၀ နဲ႔စားတဲ့အဆင့္မွာပဲ မျပတ္ဘူးဆိုရင္ေတာ့ သူကရက္ထပ္ႏွစ္ျဖစ္သြားပါျပီ။ သူက အစကတည္းက ၄ နဲ႔စားျပတ္ထားျပီးသားေလ။ ၁၀၀ နဲ႔စားလို႔ျပတ္တယ္ဆိုရင္ ေနာက္တစ္ဆင့္ထပ္စဥ္းစားရမယ္။ ၄၀၀ နဲ႔ေကာ စားလို႔ျပတ္လား။ သူက ႏွစ္ ၄၀၀ ျခားစီတစ္ၾကိမ္ ရက္ထပ္ႏွစ္ျဖစ္ေသးတယ္ေလ။ ျပတ္တယ္ဆိုရင္ ရက္ထပ္ႏွစ္၊ မျပတ္ဘူးဆိုရင္ ရက္ထပ္ႏွစ္ မဟုတ္ေတာ့ဘူးေပါ့။
ဥပမာနဲ႔ေျပာရရင္ user က ႏွစ္ ၅၀၀ ကရက္ထပ္ႏွစ္ျဖစ္လားသိခ်င္တယ္။ ၅၀၀ ကို ၄ နဲ႔စားလို႔ျပတ္တယ္။ ဆယ္ဂဏာန္းအထက္ျဖစ္ေနတဲ့အတြက္ ၁၀၀ နဲ႔ထပ္စားၾကည့္မယ္။ ျပတ္ေသးတယ္။ ၄၀၀ နဲ႔ထပ္စားၾကည့္မယ္။ မျပတ္ေတာ့ဘူး။ အဲဒါဆို ရက္ထပ္ႏွစ္မဟုတ္ဘူး။ ေနာက္ထပ္ ၂၀၀၀ ခုႏွစ္ကို စဥ္းစားမယ္။ ၄ နဲ႔ေကာ ၁၀၀ နဲ႔အျပင္ ၄၀၀ နဲ႔ပါျပတ္တယ္ ဆိုေတာ့ ၂၀၀၀ ခုႏွစ္က ရက္ထပ္ႏွစ္ျဖစ္တယ္။ အျခားခုႏွစ္ေတြကိုလည္း အဲလိုစဥ္းစားတြက္သြားရံုပါပဲ။
key point ကိုေျပာရရင္ ရက္ထပ္ႏွစ္ဟာဆိုရင္
၁။ သိခ်င္တဲ့ႏွစ္က ၄ နဲ႔စားလို႔ျပတ္တယ္ ၁၀၀ နဲ႔စားလို႔မျပတ္ဘူး သို႔မဟုတ္
၂။ ၄၀၀ နဲ႔စားလို႔ ျပတ္တဲ့အေျခအေနမွာဆိုရင္ ရက္ထပ္ႏွစ္ျဖစ္ပါတယ္။
အေပၚက program flow ေတြကို C++ နဲ႔ေရးရင္ေတာ့ ေအာက္ကအတိုင္းေရးျပီး compile လုပ္ရပါမယ္။ အဲဒါဆိုရင္ က်ေနာ္တို႔လိုခ်င္တဲ့ ခုႏွစ္တစ္ခုရဲ႕ ရက္ထပ္ႏွစ္ကိုတြက္ေပးတဲ့ .exe program ကိုရပါမယ္။ က်ေနာ္က Turbo C++ Version 3.0 နဲ႔ေရးထားပါတယ္။
#include<iostream.h>
#include<conio.h>
int main()
{
clrscr();
int a;
cout<<”Please enter a year:”; cin>>a;
if ((a%4==0 && a%100!=0) || a%400==0) cout<<”\nIt is a leap year.”;
else cout<<”\nIt is not a leap year.”;
getch();
return 0;
}