Custom Search

05 Januari 2009

cout :Bhg 1

Untuk pengaturcaraan C++, antara command yang paling asas yang korang selalu guna salah satunya ialah cout. 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 cout. Ayat Tulis kat skrin tu mesti diapit dengan double quote sign (").Caranya? Ni haa:

cout<<"Tulis kat skrin";

Contoh mudah:

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

using namespace std;  // dalam borland tak perlu command nih

int main()
{
 cout<<"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
11
12
//Rujuk: 6.2,bahasa-c.blogspot.com
#include<iostream>
#include<stdlib.h>    // untuk gunakan command system("pause")

using namespace std;  // dalam borland tak perlu command nih

int main()
{
 cout<<"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

cout<<"Tulis kat skrin\n";

sama dengan command ni:

6
7
8

cout<<"Tulis "<<"kat sk"<<"rin\n";

dan sama juga dengan command nih:

6
7
8
9
10

cout<<"Tulis";
cout<<" kat";
cout<<" skrin\n";

dan sama juga dengan command nih:

6
7
8
9
10

cout<<"Tulis"
   " kat"
   " skrin\n";

Selain tu, ganti bagi tanda \n tu boleh kita gunakan endl. Contohnya, statement bagi cout<<"Tulis kat sini \n"; boleh ditulis cout<<"Tulis kat sini "<<endl; Tengok kat bwh:

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

using namespace std;

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

Tapi aku tak syorkan korang gunakan endl tu sebab nak taip \n lagi senang dari nak taip >>endl betul tak? Tambah pulak kalau korang nak selangkan 5 baris, contoh:

cout<<"aku nak makan nasi \n\n\n\n\n"; lagi senang nak taipm daripada cout<<"aku nak makan nasi"<<endl<<endl<<endl<<endl<<endl; Tak ke susah?

Ha jadi endl tu hanya setakat tahu cukupla. Jangan tak tahu pulak. Jadi untuk setiap contoh yang dinyatakan kat atas cuba perhatikan betul-betul penggunaannya sebab semuanya akan mengeluarkan output yang sama. Cuma cara tulis programming saja yang lain-lain.

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

  • cout<<"Tulis kat skrin karekter ni \ "; supaya keluar kat skrin Tulis kat skrin karekter ni \ ataupun
  • cout<<"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 cetakkkan 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, cout<<"Tulis kat skrin karekter ni \\ ";
  • Ahmad kata,"Blah aa kau!" kena buat begini, cout<<"Ahmad kata,\"Blah aa kau!\" ";
  • This book worth £ 25.99 kena buat begini, cout<<"This book worth \x9C 25.99";
  • Anda gagal kerana mendapat skor 23% kena buat begini, cout<<"Anda gagal kerana mendapat skor 23%%";

Ok, setakat tu dulu, kalau ada tak paham apa2, tak tahu ke, komen kat bawah ok?

Ok setakat ini dulu, bersambung ke pos cout :Bhg 2

Wasallam.


03 Januari 2009

printf() :Bhg 3

Pos ni adalah sambungan dari printf() :Bhg 2


Pada bahagian kedua yang lepas, menunjukkan fungsi command printf() boleh mengawal format output sama ada perkataan ataupun nombor. Namun, apakah kegunaannya? Mungkin korang tak nampak lagi penggunaannya dan bila nak guna kawalan output pada fungsi printf(). Jadi sekarang kita akan lihat antara kegunaan kawalan format output bagi nombor perkataan dan nombor.

Kawalan jumlah titik perpuluhan

Korang pun dah tau contoh paling mudah ialah untuk kawal nilai output bagi nilai matawang. Contoh kalau korang reka program kira gaji pekerja, Ringgit Malaysia mestilah ada dua titik perpuluhan.

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

int main()
{
int hari;
double gaji, kadar;

kadar = 80.0;

printf("Masukkan bilangan hari bekerja dalam sebulan\n");
scanf("%d",&hari);
    gaji = hari * kadar;
    printf("\nJumlah gaji adalah RM%.2lf \n", gaji);  //perhatikan kod ni

system("pause");
return 0;
}

Output:

Kawalan ruang nombor

so macamana pulak dengan kawalan ruang untuk nombor atau perkataan dicetak? Ok, ruang diset untuk tujuan program kita nampak kemas. Selalunya yang melibatkan penyampaian dalam jadual. Contoh kalau program suruh kira nilai Y bagi setiap pertambahan 0.2 nilai X bagi persamaan Y = 9X4 + 5X - 7 bagi julat nilai 0.0 < X < 4.0 :

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
//Rujuk: 5.2,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
double X, Y;

X = 0.0;

printf("   X         Y\n"
 "====================\n");

do
{
Y = 9*X*X*X*X + 5*X - 7;
printf(" %lf  %lf \n",X , Y); // perhatikan command ni
X = X + 0.2;
}
while( X < 4.0 );

printf("====================\n");

system("pause");
return 0;
}

Output:

Cuba perhatikan senarai nilai Y, nampak tak kemas kan? sebab tak straight. Macamana kalau nilai tu bertambah lagi drastik yang melibatkan jadual yang ada lagi banyak field contoh macam dalam gambar kat bawah nih:

Jadi untuk atasikan masalah nih kita setkan ruang untuk nombor secara tetap dan tidak akan mencacatkan jadual walaupun nilai nombor boleh bertambah digit demi digit:

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
//Rujuk: 5.3,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
double X, Y;

X = 0.0;

printf("   X         Y\n"
 "====================\n");

do
{
Y = 9*X*X*X*X + 5*X - 7;
printf(" %8.2lf  %8.2lf \n",X , Y); // perhatikan commannd ni
X = X + 0.2;
}
while( X < 4.0 );

printf("====================\n");

system("pause");
return 0;
}

Output:

Jadi kita boleh nampak hasil yang lebih kemas dan sedap mata memandang. Apa yang berbeza pada antara kod Rujuk 5.2 dengan Rujuk 5.3 ialah dalam statement printf() pada line ke-17 pada kedua-dua kod. Ungkapan %8.2lf bermaksud kita setkan ruang kotak sebanyak 8 dan nombor ada 2 titik perpuluhan. Dan bukan nombor je sebenarnya, untuk perkataan pun boleh dibuat benda yang sama. Try la sendiri.

Cetakkan nombor dalam format nombor piawai

Dah selesai satu masalah melibatkan pertambahan nombor bagi nombor yang dipapar secara jadual. Yeke? Are you sure? Sebenarnya tak. Tak semestinya. Benda ni bergantung pada program juga. Kelemahan yang ada pada kawalan ruang ialah kalau nombor yang hendak dioutput bilangan digitnya (termasuk titik perpuluhan) adalah melebihi ruang yang kita setkan. Contoh korang boleh tengok sendiri:

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

int main()
{
printf("|%6.2lf| \n", 8.123);
printf("|%6.2lf| \n", 80.123);
printf("|%6.2lf| \n", 800.123);
printf("|%6.2lf| \n", 8000.123);
printf("|%6.2lf| \n", 80000.123);

system("pause");
return 0;
}

Output:

Korang nampakkan? So, sekarang ni macamana pulak? Kawalan ruang tu memang untuk nombor yang bertambah, tapi taklah nombor tu bertambah secara ekstrim. Contohnya kalau program melibatkan kira nilai Y bagi setiap pertambahan 0.2 nilai X bagi persamaan Y = 3 7X + 5X bagi julat nilai 0.0 < X < 4.0 . Kalau kita guna kaedah kawalan ruang untuk present jadual:

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
//Rujuk: 5.5,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")
#include<math.h>      // untuk gunakan command pow()

int main()
{
double X, Y;

X = 0.0;

printf("   X         Y\n"
 "====================\n");

do
{
Y = pow( 3.0, 7*X) + 5*X - 7;
printf(" %8.2lf  %8.2lf \n",X , Y); // perhatikan commannd ni
X = X + 0.2;
}
while( X < 4.0 );

printf("====================\n");

system("pause");
return 0;
}

Output:

Memang kita boleh besarkan lagi kotak untuk nilai Y sampai nombor terakhir tu muat untuk fit dalam jadual tapi katakan la, kalau nombor tu besarnya makan ruang lebih dari 80 digit. Sebabnya default lebar output window adalah 80 digit. ( ini dah memang dasyat! tapi perkara nih memang kena consider! contoh orang yang selalu handle dengan nombor ekstrim adalah ahli fizik, astronomi, geologi, bla,bla..,sebab diorang pun guna programming dalam research diorang.).

Oleh itu, datanglah penyelesaian untuk mengendalikan nombor-nombor macam nih dengan formatkan nombor yamg keluar adalah nombor piawai. Contohnya:

  • 0.000000003245 ==> 3.245 x 10^(-9)
  • 0.0043 ==> 4.300 x 10^(-3)
  • 235.345 ==> 2.353 x 10^(2)
  • 12 400 000 000 000 ==> 1.240 x 10^(13)

Jadi mudahkan? sebab kalau kita tengok kelebihan jika nombor dipersembahkan secara nombor piawai, semua nombor mempunyai lebar ruang yang sama panjang. Dan jika variable yang digunakan bersifat double, nombor tersebut boleh menampung sehingga 1....x 10^(308). Dan cara C/C++ setkan nombor piawai pada output contohnya:

  • 3.234 x 10^4, menggunakan ungkapan %e, outputnya 3.234000e+004
  • 3.234 x 10^4, menggunakan ungkapan %.2e, outputnya 3.23e+004
  • 3.234 x 10^4, menggunakan ungkapan %.5E, outputnya 3.23400E+004
  • 2.650 x 10^( -7 ), menggunakan ungkapan %.8e, outputnya 2.65000000e-007
  • -3.45 x 10^( 12), menggunakan ungkapan %.2e, outputnya -3.45e+012

Simbol tambah (+) selepas e menunjukkan nilai positif bagi kuasa. Jadi penyelesaian bagi kod Rujuk 5.5 alah pada Rujuk 5.6:

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
//Rujuk: 5.6,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")
#include<math.h>      // untuk gunakan command pow()

int main()
{
double X, Y;

X = 0.0;

printf("       X              Y\n"
 "=============================\n");

do
{
Y = pow( 3.0, 7*X) + 5*X - 7;
printf(" %13.3e  %13.3e \n",X , Y); // perhatikan commannd ni
X = X + 0.2;
}
while( X < 4.0 );

printf("=============================\n");

system("pause");
return 0;
}

Output:

Kemunculan tanda positif pada nombor positif

Kita perhatikan kalau nombor positif memang tak ditunjukkan tanda positif pun, termasuk dalam kehidupan seharian, cuma nombor negatif je. Jadi apa yang bagusnya nombor positif ditunjukkan tanda positifnya? Ha.... memang ada kegunaannya, kalau tidak buat apa orang reka kan? Jadi kita amik contoh program yang boleh menambah hasil dua nombor kompleks:

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
//Rujuk: 5.7,bahasa-c.blogspot.com
#include<stdio.h>
#include<stdlib.h>    // untuk gunakan command system("pause")

int main()
{
double real1, real2, ima1, ima2, real, ima;

printf("Masukkan nilai nyata nombor pertama:");
scanf("%lf",&real1);
printf("Masukkan nilai ilusi nombor pertama:");
scanf("%lf",&ima1);
printf("Masukkan nilai nyata nombor kedua:");
scanf("%lf",&real2);
printf("Masukkan nilai ilusi nombor kedua:");
scanf("%lf",&ima2);

real = real1 + real2;
ima = ima1 + ima2;

printf("Hasil tambah dua nombor adalah:\n\n");
printf("%   .2lf %+.2lfi \n\n", real, ima); //perhatikan command nih

system("pause");
return 0;
}

Output:

Perhatikan statement printf() pada line 22, ada %+.2lf kan? jadi kegunaannya kalau nilai bagi ima tu negatif akan ditunjukkan tanda negatif (ni memang lah) dan kalau nilai positif pun akan ditunjukkan tanda positif. Kan? try la copy dan run kan pada software C/C++ korang. Dan ini salah satunye lah, mungkin ada lagi kegunaanya saya pun tak tahu. Kepada yang tahu tu , ataupun ada apa-apa nak tambah lagi dalam petikan ni haaa. bolehla komenkan kat bawah kita share sama-sama.OK?


Pos ni adalah sambungan dari printf() :Bhg 2

Topik berkaitan: printf() :Bhg 1

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: