FAQ |
Calendar |
![]() |
|
Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman. |
![]() |
|
Thread Tools |
#1
|
|||
|
|||
![]()
para mastah.. mohon bantuannya.. saya newbie ![]() 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 ![]() Terkait:
|
![]() |
|
|