Login to Website

Login dengan Facebook

 

Post Reply
Thread Tools
  #1  
Old 20th November 2011
Darkc0der
Ceriwiser
 
Join Date: Nov 2011
Posts: 598
Rep Power: 14
Darkc0der mempunyai hidup yang Normal
Default [tanya] adt mahasiswa menggunakan C

para mastah.. mohon bantuannya..

saya newbie , ini program yang saya utak atik dari tadi, niatnya akan ditampilkan seperti ini :



1. [nim] [namamhs] [nilai]

2. [nim] [namamhs] [nilai]

3. dst



dan berikut source kodenya


Spoiler for code:





Code:

#include
#include
#include

typedef struct Pointer
{
int nim, nilai;
char nama;
Pointer *next;
Pointer *prev;
} Pointer;

Pointer *head, *tail;

void init()
{
head = NULL;
tail = NULL;
}

int isEmpty()
{
if(tail == NULL) return 1;
else return 0;
}

void tambahDepan (int nimbaru, char namabaru, int nilaibaru)
{
Pointer *baru;
baru = new Pointer;
baru->nim = nimbaru;
baru->nilai = nilaibaru;
baru->nama = namabaru;
baru->next = NULL;
baru->prev = NULL;
if(isEmpty()==1)
{
head=baru;
tail=head;
head->next = NULL;
head->prev = NULL;
tail->prev = NULL;
tail->next = NULL;
}
else
{
baru->next = head;
head->prev = baru;
head = baru;
}
printf("data sudah masuk\n");
}

void tambahBelakang(int nimbaru, char namabaru, int nilaibaru)
{
Pointer *baru;
baru = new Pointer;
baru->nim = nimbaru;
baru->nilai = nilaibaru;
baru->nama = namabaru;
baru->next = NULL;
baru->prev = NULL;
if(isEmpty()==1)
{
head=baru;
tail=head;
head->next = NULL;
head->prev = NULL;
tail->prev = NULL;
tail->next = NULL;
}
else
{
tail->next = baru;
baru->prev = tail;
tail = baru;
tail->next = NULL;
}
printf("data sudah masuk\n");
}

void tampil()
{
Pointer *bantu;
int n = 1;
bantu = head;
if(isEmpty()==0)
{
printf("List seluruh data = \n");
while(bantu!=tail->next)
{
printf("%d. %d %s %d\n", n, bantu->nim, bantu->nama, bantu->nilai);
bantu=bantu->next;
n=n+1;
}
printf("\n");
}
printf("data kosong\n");
}

void hapusDepan()
{
Pointer *hapus;
int d, e;
char f;
if (isEmpty()==0)
{
if(head->next != NULL)
{
hapus = head;
d = hapus->nim;
e = hapus->nilai;
f = hapus->nama;
head = head->next;
head->prev = NULL;
delete hapus;
}
else
{
d = head->nim;
e = head->nilai;
f = head->nama;
head = NULL;
tail = NULL;
}
printf("data sudah terhapus\n");
}
else printf("data kosong\n");
}

void hapusBelakang()
{
Pointer *hapus;
char f;
int d, e;
if (isEmpty()==0)
{
if(head->next != NULL)
{
hapus = tail;
d = tail->nim;
e = tail->nilai;
f = tail->nama;
tail = tail->prev;
tail->next = NULL;
delete hapus;
}
else
{
d = head->nim;
e = head->nilai;
f = head->nama;
head = NULL;
tail = NULL;
}
printf("data sudah terhapus\n");
}
else printf("data kosong\n");
}

void clear()
{
Pointer *bantu,*hapus;
bantu = head;
while(bantu!=NULL)
{
hapus = bantu;
bantu = bantu->next;
delete hapus;
}
head = NULL;
tail = NULL;
}

int main()
{
int nim, nilai;
char nama;
int pilihan;
do
{
printf("-------------------------\n");
printf("---------- Menu ---------\n");
printf("-------------------------\n");
printf("1. Tambah Depan\n");
printf("2. Tambah Belakang\n");
printf("3. Hapus Depan\n");
printf("4. Hapus Belakang\n");
printf("5. Tampilkan semua data\n");
printf("6. Clear\n");
printf("7. Keluar\n");
printf("-------------------------\n\n");
printf("Masukkan pilihan : ");scanf("%d",&pilihan);
switch(pilihan)
{
case 1: printf("NIM: ");scanf("%d",&nim);
printf("\nNama: ");scanf("%s",&nama);
printf("\nNilai: ");scanf("%d",&nilai);
tambahDepan(nim,nama,nilai);
break;

case 2: printf("NIM: ");scanf("%d",&nim);
printf("\nNama: ");scanf("%s",&nama);
printf("\nNilai: ");scanf("%d",&nilai);
tambahBelakang(nim,nama,nilai);
break;

case 3: printf("Elemen yang dihapus : ");"%d",hapusDepan();
break;

case 4: printf("Elemen yang dihapus : ");"%d",hapusBelakang();
break;

case 5: tampil();
break;

case 6: clear();
printf("Data sudah di delete!\n");
break;
}
getch();
}
while(pilihan!=7);
}











semua berjalan normal, cuman bagian fungsi tampil() ada yang error, yang ane warnain merah yang menurut ane penyebabnya..



klo dicompile ga ada yang error, tpi ketika di run dan memanggil fungsi tampil(), jadinya error



mohon petunjuk mastah



Sponsored Links
Space available
Post Reply

Thread Tools



Switch to Mobile Mode

no new posts