Diktat_ProgKecilBhsC

I n i printf d mytabi printf n return

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ilihan menjadi Indeks tabel, dan dipakai untuk mengaktifkan fungsi yang */ /* sesuai */ void (*tab[4]) () = {f1, f2, f3, f4}; printf ("Pointer to function \n"); /* Menu * */ do { printf ("Pilih salah satu :\n"); printf ("1. Buka File hanya untuk baca \n"); printf ("2. Tutup file \n"); printf ("3. Edit File \n"); printf ("4. Quit\n"); tab[getchar () - '1'] (); getchar ();/* membuang return */ } while (!quit); return 0; } /* BODY FUNGSI */ void f1 () { printf ("Ini Fungsi F1 \n"); } void f2 () { printf ("Ini Fungsi F2 \n"); } void f3 () { printf ("Ini Fungsi F3 \n"); } void f4 () { quit = true; printf ("Quit... \n"); } /* /* /* /* /* /* File : pointf2.c */ Pointer ke function */ function sebagai parameter */ Melakukan offset terhadap tabel tergantung fungsi f */ KAMUS GLOBAL */ prototype */ typedef struct { int T[10]; int N; } TabInt; /* isi tabel */ /* ukuran efektif */ /* fungsi yang diberikan sebagai parameter aktual */ int succ (int i); /* suksesor */ int pred (int i); /* predesesor */ /* prosedur dengan parameter sebuah fungsi */ void geser (TabInt * TT, int (*f) (int)); /* PROGRAM UTAMA */ int main () { /* KAMUS LOKAL */ TabInt MyTab; int i; MyTab.N = 10; for (i = 0; i < MyTab.N; i++) { MyTab.T[i] = i; } printf ("Nilai asal tabel dalam main \n"); for (i = 0; i < MyTab.N; i++) { printf (" %d ", MyTab.T[i]); } printf ("\n"); /* Pakai geser dengan parameter succ */ printf ("Geser dengan succ \n"); geser (&MyTab, succ); printf ("dalam main \n"); for (i = 0; i < MyTab.N; i++) { printf (" %d ", MyTab.T[i]); } printf ("\n"); printf ("Nilai tabel dalam main setelah aplikasi succ \n"); for (i = 0; i < MyTab.N; i++) { printf (" %d ", MyTab.T[i]); } printf ("\n"); /* Pakai geser dengan parameter pred */ printf ("Geser dengan pred \n"); geser (&MyTab, pred); printf ("dalam main setelah aplikasi pred \n"); for (i = 0; i < MyTab.N; i++) { printf (" %d ", MyTab.T[i]); } printf ("\n"); return 0; } /* BODY FUNGSI */ int succ (int i) { return (i + 1); } int pred (int i) { return (i - 1); } void geser (TabInt * TT,...
View Full Document

Ask a homework question - tutors are online