Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <vector>
- using namespace std;
- struct Student
- {
- char _hoTen[30];
- int _tuoi;
- };
- // hàm nhập thông tin sinh viên
- //trả về thông tin sinh viên
- Student EnterStudent()
- {
- Student sv;
- fflush(stdin);
- cout << "Nhap ten sinh vien: ";
- gets_s(sv._hoTen);
- fflush(stdin);
- cout << "Nhap tuoi: ";
- cin >> sv._tuoi;
- return sv;
- }
- //cấu trúc 1 node là 1 sinh viên
- //và đường dẫn tới sinh viên tiếp theo
- struct NODE
- {
- Student _sinhVien;
- NODE* pNext;
- //hàm khởi tạo ban đầu cho NODE
- //khi vừa khai báo NODE thì pNext = NULL;
- NODE()
- {
- pNext = NULL;
- }
- };
- //Hàm tạo 1 NDOE có dữ liệu là thông tin 1 sv.
- NODE* CreateNode( Student sv )
- {
- NODE * Data = new NODE;
- if ( Data == NULL )
- return NULL;
- Data->_sinhVien = sv;
- Data ->pNext = NULL;
- return Data;
- }
- //Cấu trúc lưu trữ danh sách sinh viên.
- struct ListStudent
- {
- NODE* _sinhVienDau;
- NODE* _sinhVienCuoi;
- //đây là hàm khởi tạo ban đầu cho list
- //tức là khi vừa khai báo list thì có svdau,svcuoi = NULL
- ListStudent()
- {
- _sinhVienDau = NULL;
- _sinhVienCuoi = NULL;
- }
- };
- //Hàm thêm 1 sinh viên vào ListStudent;
- bool AddTailList (ListStudent & List, Student sv )
- {
- NODE* Data = CreateNode(sv);
- if ( Data == NULL )
- return false; //hết bộ nhớ thêm vào thất bại
- //list chưa có sinh viên nào
- //thêm NODE Data có thông tin của sv vừa tạo vào
- // và nó chính là thằng đầu cũng là thằng cuối
- if ( List._sinhVienCuoi == NULL)
- {
- List._sinhVienDau = Data;
- List._sinhVienCuoi = Data;
- return true; //thêm vào thành công
- }
- List._sinhVienCuoi->pNext = Data;//thêm nó vào làm thằng cuối cùng
- List._sinhVienCuoi = Data;
- return true; //thêm thành công
- }
- void PrintList(ListStudent List)
- {
- NODE *pNode = List._sinhVienDau;
- cout << endl;
- int i = 1;
- while (pNode != NULL)
- {
- cout << "Sinh Vien thu " << i++ << endl;
- cout << "\tTen: " << pNode->_sinhVien._hoTen << endl;
- cout << "\tTuoi: " << pNode->_sinhVien._tuoi << endl;
- pNode = pNode->pNext;//di chuyển tới sv tiếp theo
- }
- }
- void main()
- {
- Student sv;
- ListStudent DanhSachSinhVien;
- for ( int i = 0; i < 3 ; i++)
- {
- sv = EnterStudent();//khai báo và bắt nhập thông tin sinh viên
- //thêm sinh viên vào danh sách
- if (!AddTailList(DanhSachSinhVien,sv))
- {
- cout <<endl<< "Thieu Bo Nho";
- break;
- }
- }
- PrintList(DanhSachSinhVien);//xuất danh sách
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement