Jump to content
Admin2

Function Dalam C++ (beginer)

Recommended Posts

cuba tgk coding ni

#include<iostream>
using namespace std;
void calc(int*, int*, int*);

int main()
{  int n1, n2, total;
   cout<<"Enter 2 numbers :";
   cin>>n1>>n2;

   calc(&n1,&n2, &total);
   cout<<"The total of "<<&n1<<" + "<<&n2<<" is "<<total<<endl;
   return 0;
}

void calc(int *p1, int *p2, int *tot)   //<-dekat line ni kan dia tulis void bermaksud formula *tot=*p1 +*p2 tak return value kat main kan?
{  *tot = *p1 + *p2; // Kenapa dia boleh return lepas calculate pakai formula ni sedangkan ada perkataan void. void bermaksud dia x leh return kan? pening2.
}

Soalan dekat code: huhu siapa leh tolong explain? lagi satu apa fungsi \r - tgk kat google dia kata carriage return. apakah itu? contoh?

Edited by afat

Share this post


Link to post
Share on other sites

sebab ko guna pointer..

walaupon dlm function tu x return, tapi berlaku perubahan value pada pointer variable.. jadi, nilai pointer tu tetap berubah..

pointer nie cam public variable dalam VB6 dan sesetengah bahasa programming lain...

Share this post


Link to post
Share on other sites

ooo camtu ke. tapi cuba tgk code ni plak:

#include<iostream.h>

void f(int,int&);

int main()
{
    int m =22;
    int n=44;
    cout<<"m= "<<m<<"\n";
    cout<<"n= "<<n<<"\n";

    f(m,n);

    cout<<"m= "<<m<<"\n";
    cout<<"n= "<<n<<"\n";

}

void f(int x, int&y)
{
    x+=1000;
    y+=1000;


}

yang coding ni tak ada pointer tapi address (reference symbol &). kiranya? dia point jugak ke?

ooo bermaksud kalau dia ada pointer, reference (address), walaupun ada void dia leh return value eh? kalau tak ada reference dan pointer, kalau ada void bermaksud tak leh return la eh. camtu?

soalan ni lom terjawab lagi - apa fungsi \r? macam \n tu untuk newline. \r tu untuk apa?

Edited by afat

Share this post


Link to post
Share on other sites

carriage return seingat saya control character yg bermaksud return to beginning of line.. basically untuk formatting laa (i.e dalam text-based program).

please note that bila awak define void anyfunction(args...) function tu tak pulangkan apa2 nilai. bila dia terima suatu argument yg berupa pointer (or reference) kepada suatu objek, bermakna dia modify objek tu directly through pointer/reference argument...tapi still dia tak pulangkan apa2 value. dan akhir sekali pointer dan reference basically adalah benda yang sama, cuma cara penggunaannya berbeza (i.e dengan pointer kena buat indirection, tapi dengan reference bleh terus tulis variable name)..

Share this post


Link to post
Share on other sites

ohh camtu. thanx yerk, semua best ! :D. apa2 soalan tentang function C++ akan ditanya disini :D

Edited by afat

Share this post


Link to post
Share on other sites

carriage return seingat saya control character yg bermaksud return to beginning of line.. basically untuk formatting laa (i.e dalam text-based program).

Nak tambah sket pasal penggunaan carriage return \r sebab aku dah terkena.

CR = Carriage Return (\r)

LF = Line Feed (\n)

Dalam Windows, End Of Line kena guna CRLF (\r\n).

Dalam Linux + Unix and variant guna LF (\n)sahaja

Macintosh up to Versi 9.0 guna CR (\r) sahaja.

Oleh sebab, sistem operasi berlainan guna cara berbeza, lebih selamat utk gunakan C++ endl. Kompiler akan mengubah kepada endl = CR/LF/CRLF.

Contoh:

//Windows:
cout << "Ini adalah satu ayat\r\n";

//Linux/Unix
cout << "Ini adalah satu ayat\n";

//Macintosh up to version 9.0
cout << "Ini adalah satu ayat\r";

// Untuk portability, yang terbaik
cout << "Ini adalah satu ayat" << endl;

Kepentingan isu ni, adalah apabila output merupakan text file. Kalau bukak text file yang dibuat di linux dalam windows notepad, semua ayat dalam fail tu akan menjadi satu ayat yang panjang.

Format Aksara moden seperti UNICODE, UTF8 lebih memeningkan kepala.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...