Senin, 02 Maret 2009

program pointer

#include <>

#define FALSE 0
#define TRUE 1


void tukar(int * pX, int * pY);
void kuadrat(int * pX, int * pY);
void reset(int * pX, int * pY);


void main()
{
int keluar = FALSE;
int inrange = TRUE;
int var1;
int var2;
int pilihan;

void (*ptr_func) (int * , int *);

while (keluar != TRUE)
{
if (keluar == TRUE)
break;

printf("variabel pertama : ");
scanf("%d", &var1);
printf("variabel pertama : ");
scanf("%d", &var2);
printf("Ketikkan fungsi yang anda pilih (1-3) ");
scanf("%d", &pilihan);
switch(pilihan)
{
case 1:
ptr_func = tukar ;
inrange = TRUE;
break;
case 2:
ptr_func = kuadrat;
inrange = TRUE;
break;
case 3:
ptr_func = reset;
inrange = TRUE;
break;
default:
printf("Fungsi yang anda pilih tidak didefinisikan\n");
inrange = FALSE;
break;
}

if(inrange)
{
printf("Variabel 1 dan 2 sebelum fungsi di panggil: \n");
printf("Variabel 1: %d ; variabel 2: %d \n\n", var1, var2);

ptr_func(&var1, &var2);
printf("Variabel 1 dan 2 setelah fungsi di panggil: \n");
printf("Variabel 1: %d ; variabel 2: %d \n\n", var1, var2);
}

printf("Apakah anda ingin mengakhiri program (1 = ya, 0 = tidak) ");
scanf("%d",&keluar);
}
}

void tukar(int * pX, int * pY)
{
int temp;
printf("tukar function called \n");
printf("Menukar variabel 1 dan variabel 2\n");

temp = *pX;
*pX = *pY;
*pY = temp;

}


void kuadrat(int * pX, int * pY)
{
printf("kuadrat function called \n");
*pX = (*pX)*(*pX);
*pY = (*pY)*(*pY);
}

void reset(int * pX, int * pY)
{
printf("reset function called \n");
*pX = 0;
*pY = 0;
}

Tidak ada komentar:

Posting Komentar