tên đề tài: Quản lí khách hàng bằng liên kết đôi, code danh sách liên kết đôi. Các thao tác: thêm khách hàng đầu cuối danh sách , sửa thông itn khách hàng, xóa khách hàng. Tìm kiếm khách hàng theo mã khách hàng
//Bài tập danh sách liên kết đôi (danh sách liên kết kép) //Đề tài : Quản lí khách hàng //SV thực hiện:Trần Thị Thu khoa CNTT Viện ĐH Mở Hà Nội #include #include #include #include #include #include using namespace std; struct khach { char Makh[30]; char Tenkh[30]; char Diachi[30]; int Sdt; }; // khai bao cau truc mot node struct node { khach info; // khai bao du lieu struct node *next; struct node *previous; }; struct list // khai bao mot danh sach { node *head;//nut dau node *tail;// nut cuoi }; //list Q; // node *new_element; // tao mot danh sach rong void khoitao(list &Q) { Q.head=NULL; Q.tail=NULL; } // tao danh sach moi node *getnode(khach x) { node*p; p=new node; if(p==NULL) { coutnext=NULL; p->previous==NULL; } return p; } // Them khach hang vao dau danh sach void Inserthead(list &Q, node *p) { if(Q.head==NULL) { Q.head=p; Q.tail=p; } else { p->next=Q.head; Q.head->previous=p; Q.head=p; } } // Them khach hang vao cuoi danh sach void Inserttail(list &Q, node *p) { if(Q.head==NULL) { Q.head=p; Q.tail=p; } else { Q.tail->next=p; p->previous=Q.tail; Q.tail=p; } } //xoa khach hang o dau danh sach void Removehead(list &Q) { node*p; if(Q.head!=NULL) { p=Q.head; Q.head=Q.head->next; delete p; if(Q.head==NULL) { Q.tail=NULL; } } } // Xoa bo khach hang o cuoi danh sach void Removetail(list &Q) { node*p; if(Q.tail==NULL) { p=Q.tail; Q.tail->next=NULL; delete p; if(Q.head==NULL) { Q.tail=NULL; } if(Q.head==NULL) { Q.tail=NULL; } else { Q.head->previous=NULL; } } } // xoa khach hang theo ma khach hang int xoama(list &Q ) { char x[10]; coutnext; } if(p==0) return 0; if(q!=NULL) { if(p==Q.tail) Q.tail=q; q->next=p->next; free(p); } else { Q.head=p->next; if(Q.head==NULL) Q.tail=NULL; } return 1; } // nhap thong tin cua khach hang void Nhapkh(khach &x) { coutx.Makh; cout