Anda di halaman 1dari 5

NAMA: ARKAN ZAHIR

PRODI: S1 TEKNIK INFORMATIKA


NIM: 02032111021
UAS

#include <stdio.h>
#include <stdlib.h>

struct NODE
{
int number;
struct NODE *next;
};

void append_node(struct NODE *llist, int num);


int search_value(struct NODE *llist, int num);
void display_list(struct NODE *llist);

int main(void) {
int num = 0;
int input = 5;
int retval = 0;
struct NODE *llist;
llist = (struct NODE *)malloc(sizeof(struct NODE));
llist->number = 0;
llist->next = NULL;

while(input != 0) {
printf("\nAdam firdaus\n");
printf("\n===== Pilihan Menu =====\n");
printf("0: Keluar\n");
printf("1: Masukkan Nilai\n");
printf("2: Cari Nilai\n");
printf("3: Tampilkan\n");
printf("\nPilihan: ");scanf("%d", &input);

if(input==0){
printf("...Terimakasih...\n");
}
else if(input==1){
printf("Anda Memilih: 'No 1'\n");
printf("Masukkan Nilai : ");
scanf("%d", &num);
append_node(llist, num);
}
else if(input==2){
printf("Anda Memilih: 'No 2'\n");
printf("Masukkan Nilai Yang Akan di Cari : ");
scanf("%d", &num);
if((retval = search_value(llist, num)) == -1)
printf(" `%d' Tidak ada Nilai\n", num);
else
printf(" `%d' Nilai yang dicari `%d'\n", num, retval);
}
else if(input==3){
printf("Anda Memilih: 'No 3'\n");
display_list(llist);
}}

free(llist);
return(0);
}

void append_node(struct NODE *llist, int num) {


while(llist->next != NULL)
llist = llist->next;

llist->next = (struct NODE *)malloc(sizeof(struct NODE));


llist->next->number = num;
llist->next->next = NULL;
}

int search_value(struct NODE *llist, int num) {


int retval = -1;
int i = 1;
while(llist->next != NULL) {
if(llist->next->number == num)
return i;
else
i++;

llist = llist->next;
}

return retval;
}

void display_list(struct NODE *llist) {


while(llist->next != NULL) {
printf("%d ", llist->number);
llist = llist->next;
}

printf("%d", llist->number);
}

Anda mungkin juga menyukai