မင်္ဂလာပါ!

လှိုက်လှဲစွာကြိုဆိုပါသည်။ ယခု ပထမဆုံးအကြိမ် ရောက်ဖူးခြင်းဖြစ်ပါသလား? ဝင်ရောက် ဆွေးနွေး မေးမြန်းလိုပါလျှင် အောက်တွင်ဖော်ပြထားသော button များမှတဆင့် ဝင်ရောက် ဆွေးနွေးနိုင်သကဲ့သို့ အဖွဲ့ဝင်အသစ်အနေဖြင့်လည်း လျှောက်ထားနိုင်ပါတယ်။

MYSTERY ZILLION တွင် English သို့မဟုတ် Unicode ဖြင့်သာ အသုံးပြုခွင့်ရှိသည်။ ဇော်ဂျီ ၊ ဧရာ စသည်တို့ကို အသုံးပြုခွင့် မရှိ။ Unicode fonts များမှာ Mon3,Yunghkio, Myanamr3 စသည်များ အသုံးပြုနိုင်သည်။ Unicode Guide ကို ဒီမှာ Download ချပါ။ Zawgyi to Unicode Converter
Don't share ebook or software if nobody request. You can find free book websites on here. We are welcome for discussion or asking question instead.

ရေးပုံမတူပေမယ့်အဖြေကတစ်ခုတည်း

edited March 2011 in C++
ဒါလေးကတော့ကျွန်တော်စမ်းထားတာပါ
C++ မှာ source file ကိုကြိုက်သလိုရေးလို့ရလားဆိုတာပါပဲ့ပြီးတော့ဒါကို platform လို့ခေါ်တာလားဆိုတာကျွန်တော်နားမလည်လို့ပါ
ရေးထားတာမတူပေမယ့် output ကအတူတူပဲ့ဖြစ်နေလို့
#include <stdio.h>
#include <ctype.h>
#include <iostream>
using namespace std;
int main()
{
printf("Example\n");
printf("sentence\n");
printf("to\n");
printf("test\n");
printf("isspace\n");
system("PAUSE");
return 0;
}
save it 1.cpp

ပြီးတော့ နောက်တစ်မျိုး
#include <stdio.h>
#include <ctype.h>
#include <iostream>
using namespace std;
int main()
{
cout<<"Example"<
cout<<"sentence"<
cout<<"to"<
cout<<"test"<
cout<<"isspace"<
system("PAUSE");
return 0;
}
save it 2.cpp

ဒါကတော့ စာကြောင်းရှည်တွေကိုရေးရာမှာ ပိုကောင်းပါတယ်
cout လို့ခဏခဏရေးနေစရာမလိုတော့ပါဘူး
space ခံထားတဲ့နေရာမှာနောက်တစ်ကြောင်းဆင်းသွားတာပါ
#include <stdio.h>
#include <ctype.h>
#include <iostream>
int main ()
{
int c;
int i=0;
char str[]="Example sentence to test isspace\n";
while (str)
{
c=str;
if (isspace(c)) c='\n';
putchar (c);
i++;
}
system("PAUSE");
return 0;
}
save it 3.cpp

ဘာနဲ့ရေးတာအကောင်းဆုံးလဲဟင် အောက်ဆုံးကဟာကတော့စာကြောင်းအများကြီးရေးစရာမလိုတော့ဘူး

အပေါ်နှစ်ခုမှာဘယ်ဟာကပိုကောင်းလဲ

မှတ်ချက်များ

  • edited November 2009 Administrators
    output က တူပေမယ့် memory usage , CPU usage တွေကို ထည့်စဉ်းစားရပါတယ်။ နောက်ပြီး programmer happy style လည်းဖြစ်သင့်တယ်။ 1 ,2 ,3 ,4 ,5,6,7,8 ဆိုပြီးရေးမယ့်အစား looping ပတ်လိုက်တာ ပိုအဆင်ပြေတယ်။ အလုပ်တစ်ခုတည်းကို ထပ်ခါခါ မလုပ်အောင် function တွေကိုလည်း ထည့်သုံးလာကြတာပါ။ Code ၁၀ ကြောင်းလောက်က ဘာတွေ ထူးသွားလဲမသိတာပေမယ့် နောက်ပိုင်း code တွေ သေင်းနဲ့ ချီလာရင် သိသာလာပါတယ်။ ဘာပိုကောင်းလဲဆိုတာကတော့ ယေဘူယျ အားဖြင့်တော့ လိုင်းအရေအတွက် နည်းပြီး လူနားလည်ရင် ကောင်းတယ်လို့ဆိုရမှာပဲ။
  • edited November 2009 Registered Users
    ကျွန်တော်ကြားဖူးတာက အရမး်တော်တဲ့ programmer တွေဟာ သူတို့ကုတ်တွေကိုလူမသိစေချင်ရင်

    ရှုပ်အောင်ရေးတာပဲဆိုပဲ အဲဒါဟုတ်သလား လွယ်လွယ်ရေးလို့ရပေမယ့် သူများတွေအလွယ်တစ်ကူ လိုက်ပြီးပြင်လိုက်ရင်သူအတွက်ဒုက္ခလိုထင်ရလို့လား၊
  • edited November 2009 Administrators
    ဟားဟား... ပေါက်တတ်ကရဗျာ... တကယ်အတွေ့ကြုံရှိတဲ့ developer တွေက ဘယ်တော့မှ code ကို ရှုပ်အောင်မရေးဘူးဗျ။ ဘာလို့လည်းဆိုတော့ ရုံးကနေ အလုပ်ထွက်သွားရင် ကိုယ့် code ကို အခြားသူနားမလည်ရင် ဖုန်းဆက်ပြီး တဂွပ်ဂွပ်ဆက်နေမှာပေါ့ဗျာ။ နောက်ပြီး team work ဘယ်လို အလုပ်လုပ်မလဲ။ group work လုပ်ရင် comment တွေကအရမ်းအရေးကြီးတယ်။ တကယ်တော်တဲ့ developer တွေက ဘယ်တော့မှ code က ရှုပ်အောင်မရေးဘူး။ wordpress ကို လေ့လာကြည့်လိုက်။ သူသုံးထားတဲ့ function တွေက အစ နားလည်တယ်။ ဒါက category list ခေါ်တဲ့ function ဆို wp_list_category() ဆိုပြီးရေးထားတယ်။ ဘယ်လောက် meaningful ဖြစ်လဲ။ လူနားမလည်အောင် ရေးရင် ဘယ် company က အလုပ်ခန့်မလဲဗျ။ နောက်ပြီး team work ဘယ်လိုလုပ်မလဲ။ အဲဒါ team work မလုပ်ဘူးတဲ့ လူတွေ ပြောကြတာပါ။

    program တစ်ခုရေးရင်
    ၁။ meaningful ဖြစ်ရမယ်။ function တွေ variable တွေအကုန် meaningful ဖြစ်ရမယ်။ x တွေ y တွေ လျှောက်ထားလို့မဖြစ်ဘူး။

    ၂။ comment ပါရမယ်။

    ၃။ function တစ်ခုရဲ့ description ထည့်ရေးနိုင်ရင်ပိုကောင်းတယ်။ project တစ်ခုမှာ code လိုင်းက ၁၀၀ လောက်ပဲရှိတာမဟုတ်ဘူး။ function ကလည်း ၄ ခု ၅ ခုပဲရှိတာမဟုတ်ဘူး။ ကိုယ်ရေးထားတာကို အခြားတစ်ယောက် နားမလည်လို့ပြန်ရှင်းပြရရင် ကိုယ် ၂ ခါမောတယ်။

    ၄။ block structure ဖြစ်ရမယ်။ ဒါမှသာ ဘယ်ကစပြီး ဘယ်မှာ ဆုံးလဲဆိုတာကို ရှင်းရှင်းလင်းလင်း သိရမှာပေါ့။

    နောက်ပိုင်း opensource တွေ လေ့လာရင်တွေ့မှာပါ။ သူတို့တွေ ရေးထားတဲ့ style က အရမ်းကောင်းတယ်။
  • edited November 2009 Administrators
    ဝင်ပြောရမယ်ဆိုရင်တော့ အဖြေတူပေမယ့် ကုဒ်ရေးထားတာ ကောင်းမကောင်းရှိသေးတာကိုးဗျ။ အပေါ်နှစ်ခုကတော့ အတူတူပဲလို့ယူဆလိုက်ပါ။ ဒါတောင် ဒုတိယတစ်ခုမှာ semi comma တွေမပါဘူး။ Run မကြည့်ပဲ ရေးတင်ထားတယ်ဆိုတာ ထင်ရှားတယ် နောက်ပြီးတော့ ရေးနေကျမဟုတ်တာကို ဖော်ပြပါတယ်။ C နဲ့ရေးနေကျလူဟာ အဲဒါကို မေ့နေလေ့မရှိပါဘူး မေ့ရင်တောင် နည်းနည်းပဲဖြစ်ပါလိမ့်မယ်။ စာမေးပွဲဖြေရမယ်ဆိုရင် သတိထားပါ ဘယ်မှာဖြေဖြေ စာရွက်ပေါ်ပဲ ဖြေကြရတာပါ။ အတိအကျ မဟုတ်ပေမယ့် အကြမ်းလောက် ဝေဖန်ကြည့်မယ်။

    အပေါ်နှစ်ခုက printf နဲ့ cout ဘယ်ဟာသုံးတာ ပိုကောင်းသလဲရယ်တော့ မရှိပါဘူး ဘယ်ဟာပိုမြန်မလဲတော့ အသေးစိတ်ဖြစ်နေတော့ အတူတူလောက်ပဲလို့ပဲ ယူဆလိုက်ပါ့မယ်။ အသေအချာယှဉ်ကြည့်ရင်တော့ တူချင်မှတူမယ်နော်။ Function call တွေ မပါပဲ တွက်ကြည့်ရင် နှစ်ခုလုံး String display ၅ ခါလုပ်တယ်ဆိုတော့ အတူတူပဲ ယူဆလိုက်မယ်။ စကားမစပ် အပေါ်နှစ်ခုဟာ အဖြေတူမတူ တစ်ချက်စဉ်းစားပါဦး။

    တတိယတစ်ခုကတော့ Loop တွေပတ်ထားပါရောဗျာ ဒီတော့ စာလုံး ၃၃ လုံးဆိုတော့ Jump က ၃၄ ခါလောက်လုပ်ရမယ်ဗျာ အထဲမှာ condition ထပ်ပါတော့ Jump ၂ ခု အဲဒီတော့ ၃၄ x ၂ = ၆၈ ခါလောက် Jump လုပ်ရသဗျာ ဒါတောင် အကြမ်းတွက်တာ အထဲမှာ function call တွေထပ်ပါသေးတယ်။ အဲဒါ အထဲက Instruction အရေအတွက် မဟုတ်သေးဘူး Jump လုပ်တဲ့ အရေအတွက်ပဲရှိသေးတယ် အဲဒါမှာ character display အရေအတွက်ကလည်း ၃၃ ခါလောက်ထပ်ပါဦးမယ်မဟုတ်လား။

    အဲဒီတော့ ဘယ်ဟာပိုကောင်းသလဲ စဉ်းစားစရာမလိုတော့ဘူးပေါ့ဗျာ။ ဒါကပြောပြတာပါ ဘာမှစိတ်မညစ်ပါနဲ့ အတွေ့အကြုံရယ် လေ့လာမှု့ရယ်က တစ်ဖြည်းဖြည်း ဘယ်လိုရေးရင် ပိုပြီး Optimized ဖြစ်တယ်ဆိုတာ သင်သွားပါလိမ့်မယ်။
  • edited November 2009 Administrators
    ဝင်ပြောရမယ်ဆိုရင်တော့ အဖြေတူပေမယ့် ကုဒ်ရေးထားတာ ကောင်းမကောင်းရှိသေးတာကိုးဗျ။ အပေါ်နှစ်ခုကတော့ အတူတူပဲလို့ယူဆလိုက်ပါ။ ဒါတောင် ဒုတိယတစ်ခုမှာ semi comma တွေမပါဘူး။ Run မကြည့်ပဲ ရေးတင်ထားတယ်ဆိုတာ ထင်ရှားတယ် နောက်ပြီးတော့ ရေးနေကျမဟုတ်တာကို ဖော်ပြပါတယ်။ C နဲ့ရေးနေကျလူဟာ အဲဒါကို မေ့နေလေ့မရှိပါဘူး မေ့ရင်တောင် နည်းနည်းပဲဖြစ်ပါလိမ့်မယ်။ စာမေးပွဲဖြေရမယ်ဆိုရင် သတိထားပါ ဘယ်မှာဖြေဖြေ စာရွက်ပေါ်ပဲ ဖြေကြရတာပါ။ အတိအကျ မဟုတ်ပေမယ့် အကြမ်းလောက် ဝေဖန်ကြည့်မယ်။

    အပေါ်နှစ်ခုက printf နဲ့ cout ဘယ်ဟာသုံးတာ ပိုကောင်းသလဲရယ်တော့ မရှိပါဘူး ဘယ်ဟာပိုမြန်မလဲတော့ အသေးစိတ်ဖြစ်နေတော့ အတူတူလောက်ပဲလို့ပဲ ယူဆလိုက်ပါ့မယ်။ အသေအချာယှဉ်ကြည့်ရင်တော့ တူချင်မှတူမယ်နော်။ Function call တွေ မပါပဲ တွက်ကြည့်ရင် နှစ်ခုလုံး String display ၅ ခါလုပ်တယ်ဆိုတော့ အတူတူပဲ ယူဆလိုက်မယ်။ စကားမစပ် အပေါ်နှစ်ခုဟာ အဖြေတူမတူ တစ်ချက်စဉ်းစားပါဦး။

    တတိယတစ်ခုကတော့ Loop တွေပတ်ထားပါရောဗျာ ဒီတော့ စာလုံး ၃၃ လုံးဆိုတော့ Jump က ၃၄ ခါလောက်လုပ်ရမယ်ဗျာ အထဲမှာ condition ထပ်ပါတော့ Jump ၂ ခု အဲဒီတော့ ၃၄ x ၂ = ၆၄ ခါလောက် Jump လုပ်ရသဗျာ ဒါတောင် အကြမ်းတွက်တာ အထဲမှာ function call တွေထပ်ပါသေးတယ်။ အဲဒါ အထဲက Instruction အရေအတွက် မဟုတ်သေးဘူး Jump လုပ်တဲ့ အရေအတွက်ပဲရှိသေးတယ် အဲဒါမှာ character display အရေအတွက်ကလည်း ၃၃ ခါလောက်ထပ်ပါဦးမယ်မဟုတ်လား။

    အဲဒီတော့ ဘယ်ဟာပိုကောင်းသလဲ စဉ်းစားစရာမလိုတော့ဘူးပေါ့ဗျာ။
    Speed တွက်တဲ့ နေရာမှာတော့ လူပျိုကြီးကို မယှဉ်နိုင်ဘူးဗျာ။
    Great!! Cheer Bro!!!
  • edited November 2009 Administrators
    platform ဆိုတာက OS ကိုပြောတာပါ။ code ရေးတာနဲ့ မဆိုင်ဘူး။ Windows, Linux, Mac , Mobile စတာတွေကို ခေါ်တာပါ။ multi-platform run လို့ရတယ်ဆိုတာက အကုန်လုံးမှာ run နိုင်တယ်လို့ပြောတာပါ။
  • edited November 2009 Registered Users
    အခုလိုရှင်းပြပေးတာကျေးဇူးပါ အစ်ကိုပြောသလိုမဟုတ်ပါဘူး ကျွန်တော် post တင်တဲ့အခါ copy paste လုပ်လို့ကျန်ခဲ့တာပါ ကျွန်တော်ကစမ်းသပ်ပြီးမှလုပ်တာပါ အခုလိုအမှားတွေကိုထောက်ပြပေးလိုကျေးဇူးတင်ပါတယ် နောက်လည်းမသိတာတွေကို၀င်ပြီးထောက်ပေးဖို့တောင်းဆိုပါတယ်ဆရာသမားတို့ရယ်
  • edited February 2011 Registered Users
    printf(), sprintf(), printf_s(), buffer overflow ဆိုတာတွေကို လေ့လာကြည့်ဖို့ တိုက်တွန်းပါတယ်...
  • edited March 2011 Registered Users
    cout is a part of the <iostream> interface for output.It uses overloaded << operator to output any object, based on its type.
    printf and scanf are part of the <stdio.h> interface.They are variable-argument functions, which use a format specification to tell them what the types of their arguments are. Some find the iostream interface easier, and it is safer and expandable. However, these advantages come at a small performance penalty. printf and scanf on the other hand are a bit faster, but are unsafe, and some find them harder to use. In 3.cpp, you used character array to display each character in the argument. Please don't tell me you want to use that all the time to display text.
Sign In or Register to comment.