Kamis, 19 Juli 2012

Contoh Program Single List Non Circular


Contoh Program Pertama.
#include <iostream.h>
#include <conio.h>
#include <process.h>
#define null 0


typedef struct tnode
{
    int data;
    tnode*next;
};
tnode *head;
/*void init()
{
    head=null;
};*/
int isempty()
{
    if(head==null)return 1;
    else return 0;
};
void insertdepan(int databaru)
{
    tnode *baru;
    baru=new tnode;
    baru->data=databaru;
    baru->next=null;
    if(isempty()==1)
    {
head=baru;
head->next=null;
    }
    else
    {
baru->next=head;
head=baru;
    }
    cout<<"data masuk\n";
    getch();
}
void insertbelakang(int databaru)
{
    tnode *baru,*bantu;
    baru=new tnode;
    baru->data=databaru;
    baru->next=null;
    if(isempty()==1)
    {
head=baru;
head->next=null;
    }
    else
    {
bantu=head;
while(bantu->next!=null)
{
   bantu=bantu->next;
}
bantu->next=baru;
    }
cout<<"data masuk\n";
getch();
}
void tampil()
{
    tnode *bantu;
    bantu=head;
    if(isempty()==0)
    {
while(bantu!=null)
{
  cout<<bantu->data<<" ";
  bantu=bantu->next;
}
cout<<endl;
    }
    else
    {
cout<<"masih kosong";
    }
    getch();
}

void main()
{
    int pil,bil;
    pil=0;
    while(pil!=3)
    {
clrscr();
cout<<"1. Insertdepan\n";
cout<<"2. Insertbelakang\n";
cout<<"3. tampil\n";
cout<<"Masukkan pilihan anda: ";cin>>pil;

switch(pil)
{
case 1:
cout<<"Masukkan bilangan: ";cin>>bil;
insertdepan(bil);
 break;
case 2:
cout<<"Masukkan bilangan: ";cin>>bil;
insertbelakang(bil);
 break;
case 3:tampil();
 break;
default:cout<<"salah pilih";
}
     }
}

Contoh Program Kedua

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<dos.h>

class list
{
struct data
{
int kode;
char nama[30];
long harga;
struct data *next;
};

public:

typedef struct data node;
typedef node * pnode;

pnode isi();
int  menu(void);
void tambah(pnode *awal,pnode baru);
void hapus(pnode *awal);
void cari(pnode awal,int cari);
void tampil(pnode awal);
void load();
void burung();
};

int list::menu()
{
textcolor(WHITE);
int pilihan;
clrscr();

gotoxy(27,6);
cout<<"----------------------\n";delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,7);
cout<<"     Menu List\n";delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,8);
cout<<"----------------------\n";delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,9);
cout<<"1. Menambah Barang\n";delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,10);
cout<<"2. Menghapus Barang\n";delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,11);
cout<<"3. Mencari Barang\n";delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,12);
cout<<"4. Menampilkan Barang\n";delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,13);
cout<<"5. Keluar Program\n"; delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,14);
cout<<"----------------------\n";delay(75);
sound(2500);delay(10);nosound();
gotoxy(27,15);
cout<<"Pilihan [1-5] : ";delay(75);
cin>>pilihan;
sound(2500);delay(10);nosound();

return(pilihan);
}

void main()
{
nosound();
clrscr();
list elemen;
int pilih=1;
int cari;

pnode awal=NULL;
pnode baru;

elemen.burung();
elemen.load();
nosound();

while(pilih!=5)
{
pilih=elemen.menu();
clrscr();

switch(pilih)
{
case 1 :
{
baru=elemen.isi();
elemen.tambah(&awal,baru);
break;
}
case 2 :
{
elemen.hapus(&awal);
break;
}
case 3 :
{
cout<<"masukan Kode : ";
cin>>cari;
elemen.cari(awal,cari);
break;
}
case 4 :
{
elemen.tampil(awal);
break;
}
case 5 :
{
break;
}
default :
cout<<"The Wrong Choice!";
cout<<"\n\nPress anykey to continue!!!";
getch();
}
}
}

void list::tambah (pnode *awal,pnode baru)
{
if (*awal==NULL)
*awal=baru;
else
{
baru->next=*awal;
*awal=baru;
}
}


void list::hapus(pnode *awal)
{
pnode ph,predph;
ph = *awal;

if(*awal==NULL)
{
cout<<"List Kosong";
}
else
{
if(ph -> next==NULL)
{
*awal=NULL;
free(ph);
}
else
{
while(ph -> next!=NULL)
{
predph = ph;
ph = ph->next;
}
predph -> next=NULL;
free(ph);
}
cout<<"Deleting Data...\n";
}
cout<<"\n\nPress anykey to continue!!!";
getch();
}


void list::cari(pnode awal, int cari)
{
pnode posisi;
posisi=awal;

if(posisi==NULL)
cout<<"List Kosong";
else
{
cout<<"    Data Barang\n";
cout<<"---------------------\n";
cout<<"Kode  "<<"\tNama  "<<"\tHarga \n";
while(posisi!=NULL && posisi -> kode!=cari)
{
posisi=posisi->next;
}
if(posisi!=NULL)
{
cout<<"---------------------\n";
cout<<posisi->kode<<"\t"<<posisi->nama<<"\t"<<posisi->harga<<endl;
cout<<"---------------------\n";
}
else
{
clrscr();
cout<<"Kode Barang Tidak Ada !!";
}
}
cout<<"\n\nPress anykey to continue!!!";
getch();
}

void list::tampil(pnode awal)
{
pnode posisi;
posisi=awal;

if(posisi==NULL)
cout<<"List Kosong";
else
{
cout<<"    Data Barang\n";
cout<<"---------------------\n";
cout<<"Kode  "<<"\tNama  "<<"\tHarga \n";

while(posisi!=NULL)
{
cout<<"---------------------\n";
cout<<posisi->kode<<"\t"<<posisi->nama<<"\t"<<posisi->harga<<endl;
posisi=posisi->next;
}
cout<<"---------------------\n";
}
cout<<"\n\nPress anykey to continue!!!";
getch();
}

pnode list::isi(void)
{
pnode baru;

baru=(node*)malloc(sizeof(node));
cout<<"Masukkan data barang!\n\n";
cout<<"Kode : "; cin>>baru->kode;
cout<<"Nama : "; cin>>baru->nama;
cout<<"Harga: "; cin>>baru->harga;

baru->next=NULL;
cout<<"\nPress anykey to continue!!!";
getch();
return (baru);
}

void list::load()
{
int i, z;
clrscr();

textbackground(BLACK);
textcolor(WHITE);
gotoxy(32,10);
cprintf("Please wait");
gotoxy(29,11);
cprintf("Loading");

for(z=0;z<=100;z++)
{
textcolor(GREEN);
gotoxy(37,11);
cprintf("[ %d %% ]",z);
sound(100+z+z+z+z);
delay(50);

}
nosound();
clrscr();
}

void list::burung()
{
int i;

clrscr();

for(i=1500;i<2000;i++)
{
sound(i);
delay(1);
}

for(i=1500;i<2000;i++)
{
sound(i);
delay(1);
}

for(i=2000;i>1500;i--)
{
sound(i);
delay(1);
}
nosound();
}

Tidak ada komentar:

Posting Komentar