Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <windows.h>
- using namespace std;
- struct datalink{
- char nama[20];
- char alamat[20];
- char jurusan[20];
- char kelas[6];
- datalink *next;
- };
- datalink *depan, *belakang, *baru, *posisi, *bantu;
- int input,pilih,pilihan,letak;
- char ulang,lihat;
- void mulaiData(){
- baru = new datalink;
- cin.ignore();
- cout<<"Masukan nama mahasiswa = ";cin.getline(baru->nama, 20);
- cout<<"Masukan alamat mahasiswa = ";cin.getline(baru->alamat, 20);
- cout<<"Masukan jurusan mahasiswa = ";cin.getline(baru->jurusan, 20);
- cout<<"Masukan kelas mahasiswa = ";cin.getline(baru->kelas, 20);
- baru->next = NULL;
- depan = baru;
- belakang = baru;
- }
- void tambahData(){
- baru = new datalink;
- baru->next = NULL;
- cin.ignore();
- cout<<"Masukan nama mahasiswa = ";cin.getline(baru->nama, 20);
- cout<<"Masukan alamat mahasiswa = ";cin.getline(baru->alamat, 20);
- cout<<"Masukan jurusan mahasiswa = ";cin.getline(baru->jurusan, 20);
- cout<<"Masukan kelas mahasiswa = ";cin.getline(baru->kelas, 20);
- }
- void tambahDepan(){
- if(depan==NULL){
- belakang = baru;
- }
- else{
- baru->next = depan;
- }
- depan = baru;
- }
- void tambahBelakang(){
- if(belakang==NULL){
- depan = baru;
- }
- else{
- belakang->next = baru;
- }
- belakang = baru;
- }
- void tambahTengah(){
- cout<<"Masukan data ke posisi berapa = ";cin>>input;
- baru->next = NULL;
- letak = input;
- posisi = depan;
- for(int i=1; i<letak; i++){
- bantu = posisi;
- posisi = posisi->next;
- }
- bantu->next=baru;
- baru->next=posisi;
- }
- void hapusDepan(){
- posisi = depan;
- depan = posisi->next;
- posisi = NULL;
- cout<<"\nData Terhapus";
- }
- void hapusTengah(){
- cout<<"Masukan data ke posisi berapa = ";cin>>input;
- posisi = depan;
- letak = input;
- for(int i=1; i<letak; i++){
- bantu = posisi;
- posisi = posisi->next;
- }
- bantu->next=posisi->next;
- posisi = NULL;
- cout<<"\nData Terhapus";
- }
- void hapusBelakang(){
- posisi = depan;
- while(posisi->next->next != NULL){
- posisi = posisi->next;
- }
- belakang = posisi;
- posisi->next = NULL;
- cout<<"\nData Terhapus";
- }
- void tampilData(){
- posisi = depan;
- int lokasi = 1;
- while(posisi!=NULL){
- cout << "\nData ke- " << lokasi << " : \n";
- cout<<"\nMasukan nama mahasiswa = "<<posisi->nama;
- cout<<"\nMasukan alamat mahasiswa = "<<posisi->alamat;
- cout<<"\nMasukan jurusan mahasiswa = "<<posisi->jurusan;
- cout<<"\nMasukan kelas mahasiswa = "<<posisi->kelas;
- cout<<endl;
- cout<<"Lihat Posisi Selanjut nya = (y/t)";cin>>lihat;
- if(lihat=='y'){
- posisi=posisi->next;
- lokasi++;
- }
- else{
- break;
- }
- }
- }
- int main()
- {
- cout<<"Menu\n";
- cout<<"0. Mulai Input Data\n";
- cout<<"1. EXIT\n";
- cout<<"Masukan Pilihan Anda = ";cin>>pilihan;
- switch(pilihan){
- case 0:
- mulaiData();
- do{
- cout<<"Menu\n";
- cout<<"1. Tambah Depan\n";
- cout<<"2. Tambah Belakang\n";
- cout<<"3. Tambah Tengah\n";
- cout<<"4. Hapus depan\n";
- cout<<"5. Hapus belakang\n";
- cout<<"6. Hapus tengah\n";
- cout<<"7. Tampilkan Data\n";
- cout<<"Masukan Pilihan anda = ";cin>>pilih;
- switch(pilih){
- case 1:
- tambahData();
- tambahDepan();
- break;
- case 2:
- tambahData();
- tambahBelakang();
- break;
- case 3:
- tambahData();
- tambahTengah();
- break;
- case 4:
- hapusDepan();
- break;
- case 5:
- hapusBelakang();
- break;
- case 6:
- hapusTengah();
- break;
- case 7:
- tampilData();
- break;
- }
- cout<<endl;
- cout<<"Apakah anda ingin mengulang = ";cin>>ulang;
- system("cls");
- }while(ulang=='y');
- break;
- case 1:
- break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement