Custom Search

31 Disember 2008

printf() :Bhg 2

Pos ni adalah sambungan dari printf() :Bhg 1


Jadi dalam bahagian printf() 1 kita lihat overall berkaitan macamana nak cetakkan ayat atau pekataan pada skrin. Sekarang kita akan lihat pula cara nak mengawal perkataan atau nombor yang dicetak pada skrin dengan menggunakan command printf() dan variable (pembolehubah).

Variable dalam C dan C++ secara ringkasnya adalah satu ungkapan perwakilan bagi sesuatu nilai nombor atau perkataan/ayat. Kalau tak paham takpe kita tengok contoh, (aku sebenarnya suka terang guna contoh dari terang macam tu je sebab memang orang susah nak imagine):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Rujuk: 4.1,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
    int k;         //declaration (wujudkan nilai)
    k = 3;

    printf("%d",k);   //cetakkan nilai k pada skrin
    
    system("pause");
    return 0;
}

Korang tryla copy dan paste kod kat atas dan runkan guna software C/C++ korang, sepatutnya nombor 3 akan keluar pada output:

Keterangan bagi kod kat atas:

  • statement int k; maksudnya kita akan wujudkan variable bernama k yang membawa nilai integer.
  • statement k = 3; maksudnya kita nilaikan k sama dengan 3.
  • statement printf("%d",k); maksudnya kita nakkan nilai k dicetak pada skrin.

Jenis-jenis variable ni yang selalu digunakan adalah selain int, ialah:

  • float dan double untuk variable yang bawa nilai real number (nombor perpuluhan).
  • char untuk variable yang bawa nilai satu huruf/karekter.
  • bool untuk variable yang bawa nilai sama ada TRUE(BENAR) atau FALSE(PALSU).

Kalau nak tau banyak lagi pasal variable boleh pegi kat pos pasal variable(pembolehubah).

Sekarang kita tengok contoh kedua:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//Rujuk: 4.2,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
    double ctrl;      //wujudkan variable yg bawa nilai nombor perpuluhan
    char huruf;       //wujudkan variable yg bawa nilai karekter
    
    huruf = 'b';      //nilaikan huruf dengan b
    ctrl = 3.225;     //nilaikan ctrl dengan 3.225

    printf("%lf",ctrl);   //cetakkan nilai ctrl pada skrin
    printf("\n");         //turunkan screen cursor ke bawah
    printf("%c",huruf);   //cetakkan nilai huruf pada skrin
    printf("\n\n");       //turunkan screen cursor ke bawah 2 kali
    ctrl = 3.24 + 5.0;    //nilaikan ctrl dengan hasil tambah dua nombor.
    printf("%c %.2lf \n", huruf, ctrl); //cetakkan ctrl dan huruf pada skrin
    
    system("pause");
    return 0;
}

Output:

Korang boleh tengok sendiri pada command printf() yang mana kita boleh kawal nilai yang keluar pada skrin dan cara nak kawal nilai yang keluar. Jadi kalau korang perhatikan pada command printf(), jika nak cetakkan variable bersifat:

  • double, %lf digunakan.
  • float, %f digunakan.
  • int, %d digunakan.
  • char, %c digunakan.

Macamana pula dengan nama? ataupun ayat? Ok sekarang kita tengok contoh tiga:

1
2
3
4
5
6
7
8
9
10
11
12
13
//Rujuk: 4.3,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
    char nama[]="sepol", nama_penuh[]="Saiful Haziq";

    printf("Nama saya %s. Orang panggil saya %s\n",nama_penuh, nama); 

    system("pause");
    return 0;
}

Output:

Jadi sekarang korang dah tau la macamana nak kawal perkataan atau ayat untuk dicetak pada skrin menggunakan variable.

Sekarang kita tengok pula cara nak kawal nombor yang keluar pada skrin ikut format yang kita nak. Nombor perpuluhan atau integer yang keluar kita boleh kawal dia punya:

  1. jumlah titik perpuluhan.
  2. ruang untuk nombor dicetakkan.
  3. kewujudan tanda bagi nilai nombor positif.
  4. nombor dirapatkan ke sebelah kiri atau kanan pada ruang yang telah disetkan.
  5. cetakkan nombor dalam format nombor piawai. Contoh: 12.335 x 10^2

Cuba executekan kod kat bawah:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//Rujuk: 4.4,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
    double  dou1 = 10.23   , dou2 = -0.43;
    float   float1 = 2.332 , float2 = 0;
    int     int1 = 24      , int2 = 0     , int3 = -32287;

// kawalan mencetak variable int

    printf("kawalan mencetak variable int\n"
           "=============================\n\n");

    printf("%5d             \n",12345);
    printf("|%5d|           \n",322);
    printf("|%10d|          \n",-322);
    printf("|%10d|          \n",int1);
    printf("|%10d|, |%10d|  \n",int2 ,int3);
    printf("|%-10d|         \n",int1);
    printf("|%+10d|         \n",int1);
    printf("|%-+10d|        \n",int1);

    printf("\n\n");
//kawalan mencetak variable float dan double

    printf("kawalan mencetak variable float dan double\n"
           "==========================================\n\n");

    printf("%5f          \n" ,0.332);
    printf("%.2f         \n" ,0.332);
    printf("%.8f         \n" ,0.332);
    printf("%+10f        \n" ,0.332);
    printf("%+10.2f      \n" ,-0.32443);
    printf("%10.4f       \n" ,-12366943.3323);
    printf("%.4f         \n" ,float1);
    printf("|%10.3f|     \n" ,float1);
    printf("|%-10.3f|    \n" ,float1);
    printf("|%-+10.3f| \n\n" ,float2);

    printf("|%10.3lf|  \n" ,dou1);
    printf("|%-10.3lf| \n" ,dou2);
    printf("|%-+10.3lf|\n" ,dou2);

    printf("%e         \n" ,-230.445);
    printf("|%10.2e|   \n" ,float1);
    printf("|%+10.2e|  \n" ,float2);
    printf("|%-4e|     \n" ,dou2);

    system("pause");
    return 0;
}

Output:

Aku anggap korang boleh try compare sendiri la dengan contoh yang dah ditunjuk pada kod Rujuk 4.4 kat atas nih. Ringkasan dari contoh yaang ditunjukkan:

  1. kalau nak setkan 6 ruang kotak untuk nombor tak kira int, double atau float, caranya %6d atau %6lf atau %6f
  2. kalau nak setkan 3 bilangan digit titik perpuluhan, untuk float dan double sahaja, caranya %.3f atau %.3lf
  3. kalau nak setkan nombor dirapatkan ke sebelah kiri untuk int, float dan double, caranya %-d, %-f, dan %-lf
  4. kalau nak setkan nombor bernilai positif mesti tunjukkan tanda positif pada pangkal nombor untuk int, float, dan double, caranya %+d, %+f, dan %+lf
  5. kalau nak setkan nombor ditunjukkan dalam format nombor piawai untuk float dan double sahaja, caranya %e
  6. kalau nak setkan nombor double ada 12 ruang kotak, nombor dirapat ke sebelah kiri, mesti 5 titik perpuluhan, caranya %-12.5lf

Sebenarnya bukan nombor je boleh kawal dia punya cara keluar, tapi pekataan, ayat pun boleh juga, contoh:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//Rujuk: 4.5,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
    char tempat[]="Universiti", huruf = 'w', nama[]= "Don Muang";

    printf("%s        \n"  ,tempat);
    printf("%20s      \n"  ,tempat);
    printf("|%20s|    \n"  ,tempat);
    printf("|%-20s|   \n"  ,tempat);
    printf("|%-20.6s| \n\n",tempat);

    printf("%s        \n"  ,nama);
    printf("%20s      \n"  ,nama);
    printf("|%20s|    \n"  ,nama);
    printf("|%-20s|   \n"  ,nama);
    printf("|%-20.6s| \n\n",nama);

    printf("%c       \n"  ,huruf);
    printf("%10c     \n"  ,huruf);
    printf("|%10c|   \n"  ,huruf);
    printf("|%-10c|  \n"  ,huruf);
   
    system("pause");
    return 0;
}

Output:

Ringkasan untuk kawalan karekter, perkataan/ayat:

  1. kalau nak setkan 10 ruang kotak untuk karekter, pekataan/ayat, caranya %10c atau %10s
  2. kalau nak setkan hanya 5 huruf pangkaal pekataan/ayat sahaja yang keluar, caranya %.5s
  3. kalau nak rapatkan karekter, pekataan/ayat ke sebelah kiri, caraanya %-s
  4. kalau nak setkan 8 ruang kotak, pekataan dirapatkan ke sebelah kiri, caranya %-8s

Ok setakat ini dulu, bersambung ke pos printf() :Bhg 3


Pos ni adalah sambungan dari printf() :Bhg 1

Topik berkaitan:

 

29 Disember 2008

printf() :Bhg 1

Untuk pengaturcaraan C, antara command yang paling asas yang korang selalu guna salah satunya ialah printf() . Fungsi command ini untuk cetakkan huruf atau nombor yang korang nak pada skrin komputer. Cara nak guna command ni pun senang je. Kalau nak cetakkan Tulis kat skrin kat skrin maka bubuh Tulis kat skrin kat dalam command printf(). Ayat Tulis kat skrin tu mesti diapit dengan double quote sign (").Caranya? Ni haa:

printf("Tulis kat skrin");

Contoh mudah:

1
2
3
4
5
6
7
8
9
10
//Rujuk: 3.1,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
 printf("Tulis kat skrin");  //cetakkan ayat pada skrin
 system("pause");
 return 0;
}

akan menghasilkan output ini pada skrin:

Pekataan yang keluar kat skrin tu nampak serabut sk8 kan? sebenarnya Press any key to continue..._ yang wujud tu disebabkan adanya command system("pause"); yang membekukan program supaya korang tau apa yang berlaku. Jadi cara nak buat bagi kemas sk8 tulisan kat output ialah dengan cara bubuh \n pada hujung ayat Tulis kat skrin. Contoh:

1
2
3
4
5
6
7
8
9
10
//Rujuk: 3.2,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
 printf("Tulis kat skrin\n");  //cetakkan ayat pada skrin
 system("pause");
 return 0;
}

Output:

Haa.. jadi kalau kita tengok ayat Press any key to continue..._ dah ada kat bawah. Sebenarnya apa yang kita bubuh tadi tu special command supaya screen cursor turun ke bawah ke line baru. Jadi kalau korang bubuh dua atau tiga kali kat command tu contoh: printf("Tulis kat skrin\n\n"); akan menyebab ayat Press any key to continue..._ selang satu baris. Kalau korang try copy dan paste printf("Tulis \n kat \n skrin"); korang akan dapati yang setiap pekataan dicetak pada setiap line. Jadi, sekarang ni cuba tukar-tukar pekataan dekat dalam tu pastu try compile dan tengok hasilnya. Jadi tau la cara nak guna dia.

Dan untuk pengetahuan juga, hasil output bagi command ni:

6
7
8

printf("Tulis kat skrin\n");

sama dengan command ni:

6
7
8
9
10

printf("Tulis");
printf(" kat");
printf(" skrin\n");

dan sama juga dengan command nih:

6
7
8
9
10

printf("Tulis"
    " kat"
    " skrin\n");

Macamana pula kalau korang nak cetakkan karekter \ ataupun " pada skrin? Sebabnya kalau korang test executekan:

  • printf("Tulis kat skrin karekter ni \ "); supaya keluar kat skrin Tulis kat skrin karekter ni \ ataupun
  • printf("Ahmad kata,"Blah aa kau!" "); supaya keluar kat skrin Ahmad kata,"Blah aa kau!" tak boleh sebab ada error. Betul tak? Try run laa..

Penyelesaiannya ialah dengan menggunakan escape sequence. Contoh sebahagiannya ada kat bawah ni:

Escape sequence

Fungsi/huraian

\n

untuk turunkan screen cursor ke line baru

%%

untuk cetakkan karekter %

\\

untuk cetakkan karekter \

\"

untuk cetakkan karekter "

\'

untuk cetakkan karekter '

\a

untuk bunyikan bell

\x2E

\x dan diikuti dengan dua nombor asas 16 ( 0 hingga F ) adalah alternatif untuk mencetak karekter ANSI yang sebahagiannya tiada pada keyboard anda.

Jadi sekarang ni kalau nak cetakkan:

  • Tulis kat skrin karekter ni \ kena buat begini, printf("Tulis kat skrin karekter ni \\ ");
  • Ahmad kata,"Blah aa kau!" kena buat begini, printf("Ahmad kata,\"Blah aa kau!\" ");
  • This book worth £ 25.99 kena buat begini, printf("This book worth \x9C 25.99");
  • Anda gagal kerana mendapat skor 23% kena buat begini, printf("Anda gagal kerana mendapat skor 23%%");

Ok, setakat tu dulu, kalau ada tak paham apa2, tak tahu ke, komen kat bawah ok? Sambung ke printf() :Bhg 2 pulak. Sekian, Wasallam.

27 Disember 2008

Pengenalan C dan C++

Mula belajar programming C ataupun C++ kat universiti ataupun A level? Tak paham apa yang pensyarah ajar? Ntah apa benda yg dia merepek? Takpe.. Rileks. Programming ni benda yang betul-betul baru dan konsep cara belajarnya lain sikit dari subjek-subjek biasa. Tak sama macam belajar fizik , kimia, BM, BI, bla...bla...Tapi tak susah sebenarnya programming ni cuma cara belajarnya lain skit. Faham konsep, ingat ,dan praktis depan komputer itu je. Jadi jom belajar C/C++. Untuk mendalami bahasa C/C++ ni, beberapa perkara dan struktur asas perlu diketahui supaya gambaran programming adalah lebih jelas.

Pengenalan ringkas Pengaturcaraan C / C++ adalah untuk:

  1. para jurutera perisian mereka perisian komputer.
  2. menjadi bahasa pengantara antara mesin dan manusia.
  3. kita programkan komputer dengan bahasa yang lebih mudah dan difahami tanpa perlu belajar bahasa mesin yang lebih dasyat dan memakan masa. Contoh: bahasa assembly, dan bahasa asli mesin, binari (00100011100101010001...).
  4. juga digunakan oleh researcher dalam kajian mereka. Jadi mungkin ANDA yang akan membuat FINAL YEAR PROJECT kemungkinan besar akan menggunakan C/C++ walaupun anda tidak menyukainya!!

Sebelum tu, perkara yang perlu diketahui di setiap pos blog ini:

  • kod bagi bahasa C akan dipamer dengan latar warna kuning gelap manakala bahasa C++ pula warna hijau untuk memudahkan anda.
  • contoh kod akan menggunakan font Courier New.

Software yang boleh digunakan untuk C dan C++ adalah seperti:

  • Microsoft Visual C++ (versi 6.0 adalah disyorkan)
  • Borland 5.02
  • Devcpp 4.9.9.2 (dalam blog ini penulis menggunakan software ini. Software ni open source, boleh download kat bloodshed.net kalau link kat sebelah ni rosak, search sendiri kat google taip devcpp nanti kelua la)
  • Dan macam-macam lagi.

Software yang pensyarah korang guna mungkin lain dengan apa yang direkomenkan dalam blog ini contoh macam Borland, tapi takpe, Borland pun boleh je nak guna untuk executekan contoh kod dalam blog nih ok? Jadi jom kita lihat contoh asas program C:

1
2
3
4
5
6
7
8
9
//Rujuk: 2.1,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")
int main()
{
printf("Assalamualaikum\n");
system("pause");
return 0;
}

dan juga contoh program C++:

1
2
3
4
5
6
7
8
9
10
11
12
//Rujuk: 2.2,bahasa-c.blogspot.com
#include<iostream>
#include<stdlib.h>    // untuk gunakan command system("pause")

using namespace std;  // masukkan statement ni kalau guna devcpp

int main()
{
cout<<"Assalamualaikum"<<endl;
system("pause");
return 0;
}

Cuba copy dan pastekan kod tu sama ada kod C ataupun C++ dari rajah kat atas ke dalam software C++ korang dan executekan (copy kod je. jangan copy nombor yang dalam kotak kelabu). Tak tau nak buat? Kepada yang tak tau nak buat, ini dia caranya:

  • Dev-C++
    1. Buka DevC++. Tutup window tips of the Day jika ada.
    2. Tekan Ctrl+N, atau Pergi kat Menu Bar, klik File > New > Source File. Tab baru Untitled1 akan muncul, jadi copy dan pastekan kod kat atas ke ruang putih kat situ.
    3. Tekan Ctrl+F9 dan window Save as akan muncul (ikut suka korang nak save file nama apa). pastu window Compile Progress akan muncul. Tunggu sampai Done muncul kat bahagian status. Pastu klik butang Close.
    4. Tekan Ctrl+F10 dan korang sepatutnya akan mendapat hasil yang diharapkan kalau korang buat benda ni ikut step-by-step.
  • Borland
    1. Buka Borland.
    2. Copy dan pastekan mana-mana kod kat atas kat dalam window kosong yang disediakan, kalau window tu ada isi, padamkan dulu segala isi-isi tu.
    3. Tekan butang yang ada ikon rupa macam kilat dekat toolbar.
    4. Korang akan dapat hasilnya.
  • Microsoft Visual C++ 6.0
    1. Buka MV C++ 6.0.
    2. Tekan ikon betul-betul bawah butang File dekat Toolbar, Pergi kat menu bar, Klik File > Save As > ( ikut suka nama apa tapi mesti *.cpp suffix dia ).
    3. Copy dan pastekan mana-mana kod kat atas kat dalam ruang putih kosong yang disediakan.

Ok, jadi korang sepatutnya dapat Command Prompt window macam gambar kat bawah:

Jadi sekarang kita akan tengok struktur asas pada kod kita tadi, Struktur-struktur asas:

  • Preprocessor directive
    • Dalam kedua-dua kod C dan C++ adanya statement seperti #include<stdio.h> , dan #include<iostream> dimana statement ini dinamakan preprocessor directive dan statement ini dimulai dengan tanda hash (#). Buat masa sekarang ,senang kata kalau kod C, semua kod mesti bubuh statement #include<stdio.h> pada awal kod. Bagi C++ pula mesti bubuh statement #include<iostream> pada awal kod.
  • Main function (Fungsi Utama)
    • Semua kod C dan C++ mesti ada main function, main function adalah bahagian kod yang diexecutekan untuk menghasilkan hasil yang dapat dilihat pada output kita pada kotak hitam tadi. Dibawah adalah bahagian yang dimaksudkan bagi main function.
1
2
3
4
5
int main()     //  Ini adalah bahagian main function
{              //  yang mempunyai header bertulis "int main()"
          //  dan body dimulai dengan "{" dan diakhiri
return 0;   //  dengan "}"
}              // 
    • Main function yang mempunyai header int main() mestilah diakhiri dengan statement return 0; sebelum }.
  • Statement (pernyataan)
    • Jika dilihat semula didalam main function terdapat kod-kod seperti printf("Assalamualaikum\n");, cout<<"Assalamualaikum"<<endl;, dan system("pause");, kod-kod ini adalah arahan untuk komputer melaksanakan apa yang telah diaturcarakan oleh programmer. Contoh:
      1. Statement printf("...."); akan mencetakkan ayat yang ada diantara double qoute("). ke output.
      2. Statement system("pause"); akan membekukan seketika program sebelum program diteruskan dengan menekan mana-mana kekunci.
  • Comment (komentar)
    • Komen boleh diletakkan pada kod sebagai nota untuk menjelaskan sesuatu statement atau program. Komen tidak akan diproses oleh compiler (pengkompil) untuk diexecutekan. Komen boleh diletakkan dengan dua cara:
    • Cara pertama: Memulakan komen dengan tanda /* dan diakhiri */. komen ini boleh merentasi barisan. Contoh:
1
2
3
4
/*   ini adalah komen. ia tidak akan diproses
  oleh pengkompil   */  ini bukan komen
ini bukan komen;
/*  ini juga adalah komen  */
    • Cara kedua: Memulakan komen dengan tanda //. komen dianggap akhir pada barisan itu sahaja. Ia tidak merentasi barisan. Contoh:
1
2
3
4
printf("Hello!!");  // ini adalah komen.
K += r;
printf("Gila");   // statement ini akan cetakkan Gila pada skrin

Ok setakat ini dahulu, teruskan ikuti blog ini jiak ingin mendalami ilmu C dan C++. Kalau ada apa-apa yang tak faham, sila komenkan kat bawah, tolong reply ok sebab aku pun nak tau sama ada post ni membantu ke tidak. Ok wasalam.

22 Disember 2008

Software C/C++ Alternatif

Ada macam-macam software yang orang guna untuk C++, free pun ada, bayar pun ada, yang selalu orang guna kat univ Borland la. Aku suka guna Devcpp, atau pun Microsoft Visual C++ 6.0 sebab software ni stabil skit. Kalo nak compare dengan borland tu slalu hang. sk8-sk8 hang, kalo devcpp tak la hang. kalo korang nak guna devcpp software ni free je boleh dpt kt bloodshed.net kalo link kat sebelah ni rosak, search sendiri kat google taip devcpp nanti kelua la.

Devcpp ni pun ringan je. tak lebih 10MB pun. Tapi ada beberapa kelemahan la pada software ni. kepada yang first time guna mesti tataw nak guna. jadi aku bagi tips bagi yg nak guna software nih:

  1. Nak bukak file baru tkn Ctrl+N (mmg la hahaha).
  2. Dah siap taip source code, Nk Compile sorce code tekan Ctrl+F9, lepas tu tekan Ctrl+F10 untuk execute.

Perkara yg korang kena tau pasal devcpp:

  1. Header main function tak boleh guna void, mesti guna int. Contoh: int main(). Untuk main function je. Kalau kat subfunction apa-apa pun boleh.
  2. Statement include macam #include <math.h>, amalkan bubuh *.h kat setiap library file sebab sesetangah file yang tak bubuh *.h belakang tak boleh run guna devcpp. tak mcm borland yang mmg boleh omittkan suffix *.h kt hujung library file. Kalau borland mmg tak payah bubuh tapi devcpp ni lain skit.
  3. Kepada yang guna C++, statement macam cin, cout, endl, tak boleh run kalo tak bubuh statament ni sebelum main function:
    using namespace std;
    Contoh:
1
2
3
4
5
6
7
8
9
10
11
12
//Rujuk: 1.1,bahasa-c.blogspot.com
#include<iostream>
#include<stdlib.h>    // untuk gunakan command system("pause")

using namespace std;  // masukkan statement ni kalau guna devcpp

int main()
{
    cout<<"hello!!"<<endl;
    system("pause");
    return 0;
}
  1. Kepada yang guna untuk C programming, devcpp tak ada masalah. Tak ada beza guna borland dengan devcpp cuma kena pastikan header main function adalah int main()ok?
    Contoh:
1
2
3
4
5
6
7
8
9
10
11
//Rujuk: 1.2,bahasa-c.blogspot.com

#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
    printf("hello!!\n");
    system("pause");
    return 0;
}

Kalau rasa susah sangat sebab byk rule guna je Microsoft Visual C++, mana-mana versi pun boleh, aku guna masa belajar dulu versi 6.0,ok je. Jadi kalau nak guna guna la yang versi 6.0 k? sebab versi-versi yang terbaru lagi susah korang nak pakai.