08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

void set_elem_random(Element *ptr)<br />

{<br />

switch (rand() % 4) {<br />

case CHAR : ptr->type = CHAR; ptr->data.ch = rand() % 26 + 'A';<br />

break;<br />

case INT : ptr->type = INT; ptr->data.i = rand(); break;<br />

case DOUBLE : ptr->type = DOUBLE;<br />

ptr->data.d = (double)rand() / RAND_MAX + rand() % 10;<br />

break;<br />

case COMPLEX: ptr->type = COMPLEX; set_cr(&ptr->data.c);<br />

}<br />

}<br />

Şimdi de Element türünden bir nesnenin değerini ekrana yazdıran bir işlev tanımlayalım:<br />

void display_elem(const Element *ptr)<br />

{<br />

switch (ptr->type) {<br />

case CHAR : printf("(%c)", ptr->data.ch); break;<br />

case INT : printf("(%d)", ptr->data.i); break;<br />

case DOUBLE : printf("(%.2lf)", ptr->data.d); break;<br />

case COMPLEX : display_c(&ptr->data.c);<br />

}<br />

}<br />

Şimdi de Element türünden bir diziyi rastgele değerlerle set edecek ve dizinin<br />

elemanlarını ekrana yazdıracak işlevler yazalım:<br />

void display_array(const Element *ptr, int size)<br />

{<br />

int k;<br />

}<br />

for (k = 0; k < size; ++k) {<br />

if (k && k % 5 == 0)<br />

printf("\n");<br />

display_elem(ptr + k);<br />

}<br />

void set_array(Element *ptr, int size)<br />

{<br />

int k;<br />

}<br />

for (k = 0; k < size; ++k)<br />

set_elem_random(ptr + k);<br />

Şimdi aşağıdaki main işlevini inceleyin:<br />

419

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!