Danh Sách Liên Kết Đơn C++ Qua Bài Toán Quản Lý Danh Sách Sinh Viên
admin
1 year ago
Hôm nay mình định viết về phần tiếp theo của opencv xử lý ảnh nhưng còn bài tập môn cấu trúc dữ liệu chưa hoàn thành , sẵn tiện mình vừa làm vừa ra bài này luôn .
I. Đề bài
II. Code
#include"iostream" #include"string" #include"stdlib.h" using namespace std; struct SinhVien { int mssv; string name; string diachi; string ngaysinh; string lop; }; typedef struct SinhVien sinhvien; struct node { sinhvien *data; struct node* link; }; typedef struct node Node; struct list { Node* pHead; Node* pTail; }; typedef struct list List; void KhoiTaoList(List &l) { l.pHead = l.pTail = NULL; } void Input_ThongTin(sinhvien *sv) { cin.ignore(); cout << "Nhap Ten sinh vien: \n"; fflush(stdin); getline(cin,sv->name); cout << "Nhap Ma so sinh vien : "; cin >> sv->mssv; cin.ignore(); cout << "Nhap dia chi sinh vien :\n"; getline(cin,sv->diachi); fflush(stdin); cout << "Nhap ngay sinh cua sinh vien:\n"; getline(cin, sv->ngaysinh); fflush(stdin); cout << "Nhap lop cua sinh vien : "; getline(cin, sv->lop); } Node *KhoiTaoNode() { sinhvien* sv = new sinhvien; Input_ThongTin(sv); Node* p = new Node; if (p == NULL) { cout << "full ram ko thể tao thêm\n"; return 0; } p->data = sv; p->link = NULL; return p; } void ThemVaoDauMotSinhVien(List &l, Node *p) { if (l.pHead == NULL) { l.pHead = l.pTail= p; } else { p->link = l.pHead; l.pHead = p; } } void Show(List l) { for (Node* k = l.pHead; k != NULL; k = k->link) { cout << "MSSV : " << k->data->mssv<<endl; cout << "Ten : " << k->data->name << endl; cout << "Dia Chi : " << k->data->diachi << endl; cout << "Ngay Sinh : " << k->data->ngaysinh << endl; cout << "Lop : " << k->data->lop << endl; cout << "==============================SV================\n"; } } void showNode(Node *k) { cout << "==============================SV================\n"; cout << "MSSV : " << k->data->mssv << endl; cout << "Ten : " << k->data->name << endl; cout << "Dia Chi : " << k->data->diachi << endl; cout << "Ngay Sinh : " << k->data->ngaysinh << endl; cout << "Lop : " << k->data->lop << endl; } void DelSinhVien(List& l) { string del; cin.ignore(); cout << "Nhap Ma So SV hoac Ten SV Can Xoa : \n"; fflush(stdin); getline(cin, del); Node* g = new Node; if (del.compare(l.pHead->data->name) == 0 && l.pHead->link ==NULL) { l.pHead = NULL; } else{ for (Node* k = l.pHead; k != NULL; k = k->link) { if (del.compare(k->data->name) == 0) { g->link = k->link; k = g; } g = k; } } } void search(List l ) { int mssv; cout << "nhap Ma So Sinh Vien Can Tim Kiem : "; cin >> mssv; for (Node* k = l.pHead; k != NULL; k = k->link) { if (k->data->mssv == mssv) { showNode(k); } } } void upgrade(List& l) { int mssv; cout << "Nhap Ma So sinh vien can chinh sua thong tin : "; cin >> mssv; for (Node* k = l.pHead; k != NULL; k = k->link) { if (k->data->mssv == mssv) { cout << "Moi ban sua thong tin sinh vien co ma so : " << mssv << endl; Input_ThongTin(k->data); } } } void DanhSachSinhVienChuaXepLop(List l) { for (Node* k = l.pHead; k != NULL; k = k->link) { if (k->data->lop == "") { cout << "Danh Sach Sinh Vien Chua Xep Lop " << endl; showNode(k); } } } void ChucNang(List &l) { int n; cout << "======Danh Sach Chuc Nang=========\n"; cout << "1 => Nhap 1 sinh vien moi .\n"; cout << "2 => In danh sach sinh vien .\n "; cout << "3 => Tim kiem sinh vien theo ma so .\n"; cout << "4 => Sua thong tin sinh vien\n"; cout << "5 => Xoa sinh vien khoi danh sach\n"; cout << "6 =>Lay danh sach sinh vien chua xep lop\n"; cout << "0 = >Thoat chuong trinh\n"; while (1){ cout << "Nhap chuc nang ban chon : "; cin >> n; if (n == 1) { cout << "Moi Ban nhap thong tin 1 sinh vien : \n"; Node* p = KhoiTaoNode(); ThemVaoDauMotSinhVien(l, p); } if (n == 3) { search(l); } if (n == 2) { cout << "Danh Sach Sinh Vien : \n"; Show(l); } if (n == 4) { upgrade(l); } if (n == 5) { DelSinhVien(l); } if (n == 6) { DanhSachSinhVienChuaXepLop(l); } if (n == 0) { break; } } } //hàm in danh sách sinh vien int main() { List l; KhoiTaoList(l); ChucNang(l); system("pause"); return 0; }Full Code bài danh sách sinh viên , Mình sẽ up giải thích sau !
Categories Lập Trình
Related posts
Bài 4 : Vòng lặp if else qua bài toán giải phương trình bậc 2 với python
by admin
6 years ago
CÁCH LÀM API GỬI MAIL VỚI FASTAPI PYTHON
by son van
3 months ago
Cách Dùng Flask Python Làm Ứng Dụng Web
by admin
11 months ago
Leave a Comment