Đồ án giải thuật và lập trình quản lý sinh viên

     
luận văn giỏi nghiệp report thực tập lịch trình quản lí sv tạo ra chương trình cai quản làm chủ điểm ngữ điệu lập trình C

Bạn đang xem: Đồ án giải thuật và lập trình quản lý sinh viên

*
pdf

bài bác giảng ngôn ngữ lập trình C/C++: Phần 2


*
pdf

bài giảng loài kiến trúc máy tính (Phần 2): Chương 1 - Nguyễn Văn Huy


Xem thêm: Hướng Dẫn Cách Pha Nước Muối Sinh Lý Rửa Mặt, Cách Pha Nước Muối Sinh Lý Để Rửa Mặt

*
ppt

bài xích giảng ngôn ngữ lập trình - Chương 12: Tập tin (file)


Nội dung

Đề tài: làm chủ sinh viên bởi danh sách links đơncNguyễn Ngọc Quang0 Đề tài: thống trị sinh viên bằng danh sách liên kết đơnPhần Mở đầu1. Nguyên nhân chọn đề tài:Công nghệ thông tin là trong những ngành cải cách và phát triển vượt bậctrong trong thời gian gần đây. Thời buổi này với sự phân phát triển mau lẹ của xãhội thì technology thông tin được ứng dụng rộng thoải mái ở số đông tất cả những lĩnhvực và càng ngày đóng vai trò quan trọng, trở thành 1 phần thiết yếu trong đờisống hằng ngày. Technology thông tin là một trong những ngành đòi hỏi ở tín đồ học một nềntảng kỹ năng vững chắc, sự tứ duy xúc tích và ngắn gọn cao, gọi biết sâu rộng trên nhiềulĩnh vực. Với bọn chúng em hiện giờ đang là gần như sinh viên công nghệ thông tincần phải gồm sự đầu tư, không kết thúc học hỏi để cải thiện kiến thức. Bởi đóđể củng cố lại kỹ năng và kiến thức đã học, vấn đề mà em lựa chọn để thực hiện đồ án là: bài toánQuản lý sinh viên bởi danh sách links đơn..2. Kim chỉ nam của đề tài.- Củng vắt lại kỹ năng và kiến thức đã học về danh sách links nói tầm thường và danhsách link đơn nói riêng.- Rèn luyện kỹ năng lập trình trên ngôn ngữ C++.- Ứng dụng kim chỉ nan đã học xử lý bài toán ứng dụng cụ thể3. Phạm vi nghiên cứu.- định hướng về danh sách link đơn-Bài toán thống trị sinh viên4. Ph ương ph áp ng hi ên c ứu .-Nghiên cứu giúp tài liệu cấu trúc dữ liệu và giải thuật trên sách.-Tìm tìm và nghiên cứu và phân tích trên mạng Internet.Nguyễn Ngọc Quang1 Đề tài: làm chủ sinh viên bởi danh sách links đơnCHƯƠNG 1: CƠ SỞ LÝTHUYẾT1. Tổng quan liêu về list liên kết1.1. Định nghĩaDanh sách liên kết là danh sách mà các thành phần ( Node) liên kết với nhau nhờvào vùng links của chúng. Mỗi node bao gồm 2 phần: Phần Data dùng làm chứa dữliệu phải xử lý cùng phần liên kết dùng để liên kết tới các node khác.1.2 .Phân loại.Tùy cách links giữa các phần tử, danh sách liên kết gồm có nhiều loại khácnhau:- Danh sách links đơn: mỗi bộ phận liên kết với thành phần đứng sau nó vào danhsách.- Danh sách link đôi/kép: mỗi bộ phận liên kết với các thành phần đứng trước vàsau nó trong danh sách.- Danh sách links vòng: bộ phận cuối danh sách link với phần tử đầu danhsách.1.3. Danh sách link đơn.1.3.1. Khái niệm.Danh sách liên kết đơn là một cấu tạo lưu trữ trong những số đó các bộ phận của danh sáchkhông cầm định, các bộ phận trong danh sách không thể truy cập trực tiếp. Hy vọng truycập bất kỳ phần tử nào đó trong danh sách phải xuất xứ từ phần tử đầu tiên. MỗiNode trong danh sách hoàn toàn có thể được màn biểu diễn như sau.DataNextTrong đó:- Data: trường chưa nội dung thông tin của phần tử- Next: chứa add của Node tiếp theo sau hay còn gọi là vùng liên kết.Nguyễn Ngọc Quang2 Đề tài: làm chủ sinh viên bằng danh sách link đơnCú pháp:Stuct Node Kiểu_dữ_liệu Data;Node*next;Có thể hình dung danh sách liên kết đơn qua hình vẽ sau:Hình 1.1: Danh sách link đơn1.3.2.Thao tác bên trên 1 node.- Khai báo biến bé trỏ phường là biến con trỏ kiểu dáng Node: Node *p.- cung cấp phát bộ lưu trữ cho Node bắt đầu – được trỏ vì chưng p: p=new Node.- truy vấn vào ngôi trường info: p->info.- truy vấn vào ngôi trường next : p->next.- bỏ Node được trỏ vì p: delete (p).1.3.3. Các thao tác làm việc trên danh sách liên kết đơnThao tác trên danh sách link khác với thao tác làm việc trên mảng, khi yêu cầu thêm Nodevào danh sách liên kết thì ta xin cấp cho phát bộ lưu trữ cho Node cùng nối Node kia vào danhsách và lúc không sử dụng thì ta giải phóng nó khỏi danh sách. Truy vấn trên danh sáchcũng khác so với bên trên mảng. Ví như ở mảng ta truy vấn trực tiếp thông qua chỉ số mảng(thông qua add ô nhớ) thì sinh sống danh sách links ta phải truy vấn một cách tuần tự. Khilàm vấn đề trên danh sách liên kết đơn cũng giống như như vậy bắt buộc ta cần chú ý nhữngđiểm sau:- Danh sách luôn luôn có nhỏ trỏ đầu danh sách: nhỏ trỏ L- Danh sách luôn luôn có quý giá báo kết thúc danh sách: NULL.Nguyễn Ngọc Quang3 Đề tài: thống trị sinh viên bằng danh sách link đơn- trường next của từng Node chỉ chứa địa chỉ cửa hàng của Node sau nó, trừ Node cuối.- trường next của Node sau cuối chứa cực hiếm NULL.- Không tách bóc danh sách thành 2 danh sách con nếu list phần sauchưa có con trỏ tới.- Khởi tạo danh sách rỗng: L = NULL1.3.3.1. Xem xét danh sách link đơnDuyệt theo lần lượt qua từng Node của danh sách.Mục_đích(Node *L)Node *p=L; //cho nhỏ trỏ p trỏ vào đầu list L.while(!điều kiện dừng)info>;//xuất tin tức ra màn hình, thực hiện các phép toán…p= p->Next; //cho nhỏ trỏ phường trỏ cho tới Node kế tiếp.1.3.3.2. Chèn một phần tử vào danh sáchĐể chèn một phần tử X vào list ta cung cấp phát bộ nhớ cho 1 Nodemới được trỏ vày q và gán quý giá X cho trường infoNode *q;q=new Node;q->info=X;Chèn một Node bắt đầu vào list có 4 trường hợp:- Trường thích hợp 1: Chèn Node được trỏ do q vào đầu sáchBước 1: mang đến vùng link của q chứa showroom Node đầu danh sách.q->next=L;(1)Bước 2: đến L trỏ cho tới q : cập nhập lại nhỏ trỏ đầu danh sách.L = q; (2)Nguyễn Ngọc Quang4 Đề tài: làm chủ sinh viên bởi danh sách link đơnHình 1.2: ….- Trường thích hợp 2: Chèn Node được trỏ vì q vào sau Node trỏ bởi p. Trong danhsáchBước 1: cho vùng liên kết của Node được trỏ bởi q chứa add Node ngaysau Node được trỏ vì chưng p.q->next=p->next; (1)Bước 2: cho vùng liên kết của Node được trỏ bởi q chứa địa chỉ củaNode được trỏ vày p.p->next=q; (2)Hình 1.3: …- Trường hợp 3: Chèn Node được trỏ vì chưng q vào thời gian cuối danh sáchBước 1: Nếu danh sách rỗng thì danh sách lúc này có một trong những phần tử thiết yếu làq vừa mới chèn vào, return.Bước 2: trái lại nếu list không rỗng Cho con trỏ p. Chứa add Node đầu danh sách:Nguyễn Ngọc Quang5 Đề tài: cai quản sinh viên bằng danh sách links đơnNode *p=L; Duyệt list từ đầu cho tới Node cuối cùngwhile(p->next!=NULL) p=p->next; đến phần links của Node được trỏ bởi phường chứa add của qp->next=q; Cập nhập lại Node cuối cùng hiện thời chính là Node q vừa bắt đầu tạo ra.q->next=NULL;- Trường đúng theo 4: Chèn Node được trỏ vì q vào trước Node được trỏ vì pBước 1: Nếu phường trỏ đầu danh sách, tiến hành chèn đầu danh sách(trườnghợp1), return.Bước 2: ngược lại cho con trỏ t chứa showroom Node trước Node được trỏ bởip trong danh sách: Node *t;t->next=p;Chèn Node được trỏ do q vào sau cùng Node được trỏ vì t (trường hợp 2).1.3.3.3. Xóa một phần tử ra khỏi danh sách: bao gồm 2 trường hợp xảy ra- Trường đúng theo 1: thực hiện xóa đầu danh sách nếu p chứa địa chỉNode đầudanh sách (L)Bước 1: Cho bé trỏ đầu list L trỏ vào Node sau nó.L=L->next; (1)Bước 2: hóa giải Node phường ra khỏi danh sách.Delete(p);Nguyễn Ngọc Quang6 Đề tài: cai quản sinh viên bởi danh sách liên kết đơnHình 1.4: …- Trường thích hợp 2: bé trỏ p. Chứa showroom Node bất kỳ nhưng khôngphải Node đầuBước 1: Cho con trỏ q trỏ đầu list L , sử dụng vòng lặp đến nó trỏ tới địa chỉNode trước Node được trỏ bởi phường trong danh sách.q=L; while(q->next!=p) q=q->next; (1)Bước 2: Gán add của Node tức thì sau Node được trỏ bởi phường vào ô lưu giữ next củaNode được trỏ vì qq->Next=p->next; (2)Bước 3: giải hòa Node được trỏ vì chưng pdelete(p);(3)Hình 1.5: …Nguyễn Ngọc Quang7 Đề tài: quản lý sinh viên bằng danh sách liên kết đơn1.3.4.4. Tra cứu kiếm bộ phận trong danh sáchBước 1: Cho p trỏ vào đầu danh sách L cùng khởi tạo phát triển thành found=0Node *p=L; int found=0;Bước 2: tiến hành vòng lặp để duyệt phường chạy từ trên đầu danh sách tới cuối danh sách,tại từng Node ví như trường info của Node được trỏ bởi p. =X thì mang đến found=1 nhằm dừngvòng lặp. Ngược lại nếup!=X thì cho phường trỏ tới địa điểm Node ngay lập tức sau Nodeđược trỏ bởi p.while(p!=NULL&&found= =0)if(p->info=X)found=1;elsep=p->next; (*)Bước 3: Return pHình 1.6: ....1.3.3.5. Đảo các thành phần trong danh sáchBước 1: Khởi sinh sản 3 biến con trỏ p, t, q. Trong đó p trỏ vào đầu list L, t=NULL (không trỏ vào add nào cả), q trỏ vào địa chỉ Node được trỏ vày p.Node *p=L,*t=NULL,*q=p ;Bước 2: dùng vòng lặp duyệt p. Chạy từ trên đầu tới cuối danh sách. Trongkhi triển khai vòng lặp đến vùng links của Node được trỏ bởi vì q chứa địa chỉ cửa hàng của tNguyễn Ngọc Quang8 Đề tài: cai quản sinh viên bởi danh sách links đơnq->next=t; mang đến t trỏ mang lại vị trí Node được trỏ vì q (cập nhập lại t).t=q;Cụ thể như sau:While(p!=NULL)q=p; p=p->next; (1)q->next=t ; (2)t=q; (3) B cầu 3 :Cho L trỏ cho vị trí Node được trỏ bởi vì t (cập nhập lại L)L=tHình 1.7: ...Nguyễn Ngọc Quang9 Đề tài: làm chủ sinh viên bởi danh sách link đơnCHƯƠNG 2: ỨNG D ỤNG DANH SÁCH LIÊN K ẾTĐ Ơ N V À O Q U Ả N LÝ SINH VIÊN.2.1. Đặc tả bài bác toán.Quản lý sv là quá trình hằng ngày của phòng làm chủ học sinh- sinh viên.Công việc quản lý sinh viên yên cầu tính tỉ mỉ, cẩn thận trong từng khâu biên chép cácthông tin cá thể của sinh viên: mã số sinh viên, tên sinh viên, tháng ngày năm sinh,khóa, lớp….cũng như công việc thống kê công dụng học tập cần ví dụ và chính xác.Trước đây technology thông tin chưa phát triển mạnh mẽ, các các bước được cách xử lý thủcông,chủ yếu hèn là ghi chép bởi bút, sổ sách chính vì vậy hết sức tốn sức lực lao động và hơi nhiềuthời gian. Thời nay khi nhưng khoa học tập kỹ thuật vạc triển, nhất là sự bùng nổ côngnghệ thông tin thì việc quản lý sinh viên sẽ dễ dàng hơn nhiều. Phát xuất từ nhu cầu đómà bài xích toán quản lý sinh viên ra đời. Yêu ước của vấn đề là tạo nên chương trình cóthể thực hiện các thao tác quản lý sinh viên một cách dễ dàng, tiện nghi dựa trên sự trợgiúp của sản phẩm tính. Mọi quá trình phải được thao tác trên một vùng dữ liệu chung đểđảm bảo việc đồng nhất với nhau vào khâu quản lí lý.2.2. Yêu cầu hệ thống.Quản lý điểm sv là chương trình quản lý hồ sơ, điểm học tập của sinh viêntrong quy trình theo học tại trường. Chương trình hoàn toàn có thể thực hiện tại các các bước thêmmới sinh viên, search kiếm sinh viên theo một điều kiện nào đó, xóa sinh viên, liệt kêdanh sách sinh viên….Chương trình được viết bằng ngôn ngữ C++ với dựa trên kết cấu lưu trữ của danhsách liên kết đơn .2.3. Phân tích thi công chương trình.2.3.1. Cấu trúc dữ liệu chương trình.Để giúp cho việc thống trị được chặt chẽ, dễ dàng dàng, chương trình quản lý điểm sinhviên sẽ sở hữu được các trường thích hợp sau:Nguyễn Ngọc Quang10 Đề tài: thống trị sinh viên bằng danh sách links đơn-Masv (mã sinh viên) gồm kiểu dữ liệu char, với độ dài đôi mươi ký tự, từng sinh viên cómột mã số riêng, không trùng lặp.-Hoten (họ tên) tất cả kiểu tài liệu nvarchar, với độ lâu năm 40 ký tự, họ tên sinh viêncó thể trùng nhau.-Lop (lớp) bao gồm kiểu dữ liệu char, cùng với độ lâu năm 15 ký kết tự, một sv chỉ được xếpvào một tờ với một mã lớp tương ứng.-Diemtoan (điểm môn toán) tất cả kiểu tài liệu int, đây là kết quả học tập môn toáncủa sv được cập nhập từ những giảng viên dạy.-Diemly (điểm môn lý) bao gồm kiểu tài liệu int, phía trên là hiệu quả học tập môn lý của sinhviên được cập nhập từ các giảng viên dạy.-Diemhoa (điểm môn hoá) gồm kiểu tài liệu int, kết quả học tập môn hóa của sinhviên được cập nhập từ những giảng viên dạy.-Diemtb (điểm trung bình) bao gồm kiểu dữ liệu float, điểm trung bình được xem bằngcách đem trung bình cộng điểm thi các môn học tập của sinh viên.Struct SinhVienChar Masv<20>;Char Hoten<40>;Char Lop <15>;Int Diemtoan;Int Diemly;Int Diemhoa;Int Diemtb;SinhVien *Next;Nguyễn Ngọc Quang11 Đề tài: cai quản sinh viên bởi danh sách liên kết đơn;2.3.2. Các chức năng của chương trình.2.3.2.1. Nhập list sinh viên.- Nhập vào mã số sinh viên.- Nhập thông tin chi tiết cho từng sinh viên.2.3.2.2. Hiển thị list sinh viên.- để mắt tới qua list sinh viên.- In tin tức sinh viên ra màn hình.2.3.2.3. Search kiếm sinh viên theo mã sinh viên.- duyệt qua danh sách.- tra cứu kiếm theo mã sinh viên mà người tiêu dùng yêu cầu.- Hiển thị sv vừa đưa ra màn hình.2.3.2.4.Xóa sinh viên theo mã số sinh viên.- lưu ý qua danh sách.- kiếm tìm kiếm sinh viên theo mã sinh viên mà người tiêu dùng yêu cầu- Xóa sinh viên vừa search được.2.3.2.5. Bổ sung cập nhật sinh viên mới vào danh sách.- Nhập sinh viên cần bổ sung vào danh sách.- Cập nhập sinh viên vào trong danh sách.Nguyễn Ngọc Quang12 Đề tài: thống trị sinh viên bởi danh sách links đơn- Tăng số lượng sinh viên trong danh sách lên.2.3.2.6. Hiển thị sinh viên bao gồm điểm vừa phải cao nhất.- Nhập điểm từng môn của từng sv vào danh sách.- Tính điểm vừa đủ của từng sinh viên.- search kiếm sinh viên gồm điểm vừa đủ cao nhất.- Hiển thị sinh viên tất cả điểm trung bình cao nhất ra màn hình.2.3.2.7. Bố trí danh sách sinh viên tăng dần theo ngôi trường điểm trung bình- thông qua qua danh sách điểm mức độ vừa phải của từng sinh viên.- sắp xếp sinh viên tăng mạnh theo điểm vừa phải của từng sinh viên.- Hiển thị list sinh viên vừa thu xếp ra màn hình.2.4. Thiết lập chương trình2.4.1. Định nghĩa cấu tạo cho chương trình cai quản sinh viên-Void insert(string ma,string ten,string l,floattoan,float ly,float hoa,float dtb,node&first)-Void nhap(node&first)-Void xuat(node first)-Void tim_ma(node first)-Voidxoa(node&first)-Voidthemsv(node&first)-Void dtb_max(node first)-Void hoanvi(float&a,float&b)-void Write(char *s,int x,int y, int color)-void Ve_menu(int x0,int y0,int chon,int n,char *s<>)Nguyễn Ngọc Quang13 Đề tài: làm chủ sinh viên bằng danh sách link đơn-void menuchinh(char ch,char* st<>,int x0,int y0,intchon,int luuchon,int sodongc,int ok)-Void-Int main()sapxep(node first)2.4.2. Khởi tạo danh sách sinh viênvoidnhap(node&first) // đê mê nhap cua ds donchar ch;first=NULL;string ma,ten,lop;float toan,ly,hoa,dtb;docout>toan;cout>ly;Nguyễn Ngọc Quang14: "; Đề tài: làm chủ sinh viên bằng danh sách links đơncout>hoa;dtb=(toan+ly+hoa)/3;insert(ma,ten,lop,toan,ly,hoa,dtb,first);coutmasv;couthoten;coutlop;couttoan;coutly;Nguyễn Ngọc Quang15; Đề tài: cai quản sinh viên bởi danh sách links đơncouthoa;couttoan;p=p->next;2.4.4. Tra cứu kiếm sinh viên theo mã sinh viênvoidtim_ma(node first)// tim kiem sinh vien theo manode p;p=first;string ma;cout>ma;while(p!=NULL)if(p->masv==ma)coutmasv;coutlop;couttoan;coutly;couthoa;couttoan;: "hoten;Nguyễn Ngọc Quang16 Đề tài: thống trị sinh viên bằng danh sách link đơnbreak;p=p->next;2.4.5. Xóa sinh viên theo mã sinh viên.voidxoa(node&first)// xoa sinh vien theo manode p,q;p=first;q=first;string ma;cout>ma;while(p!=NULL&&p->masv!=ma)p=p->next;if(p==first)first=first->next;elseif(p==NULL)coutnext!=p) q=q->next;q->next=p->next;Nguyễn Ngọc Quang17 Đề tài: cai quản sinh viên bởi danh sách liên kết đơn2.4.6. Bổ sung sinh viên mới vào danh sách.voidthemsv(node&first)char ch;string ma,ten,lop;float toan,ly,hoa,dtb;docout>toan;cout>ly;cout>hoa;Nguyễn Ngọc Quang18: "; Đề tài: thống trị sinh viên bởi danh sách link đơndtb=(toan+ly+hoa)/3;insert(ma,ten,lop,toan,ly,hoa,dtb,first);coutdiemtb;p=p->next;while(p!=NULL)if(p->diemtb>max)max=p->diemtb;q=p;p=p->next;while(l!=NULL)Nguyễn Ngọc Quang19; Đề tài: thống trị sinh viên bằng danh sách links đơnif(l==q)coutlop;couttoan;coutly;couthoa;couttoan;l=l->next;2.4.8. Bố trí tăng dần theo điểm trung bình.sapxep(node first)node p=first,q;while(p!=NULL)q=p->next;while(q!=NULL)Nguyễn Ngọc Quang: "hoten;coutmasv;20 Đề tài: quản lý sinh viên bởi danh sách liên kết đơnif(p->diemtb>q->diemtb)hoanvi1(p->masv,q->masv);hoanvi1(p->hoten,q->hoten);hoanvi1(p->lop,q->lop);hoanvi(p->toan,q->toan);hoanvi(p->ly,q->ly);hoanvi(p->hoa,q->hoa);hoanvi(p->diemtb,q->diemtb);q=q->next;p=p->next;2.5. Chương trình cai quản sinh viên# include # include # include #include#include#include#include "windows.h"#include Nguyễn Ngọc Quang21 Đề tài: thống trị sinh viên bởi danh sách links đơnusing namespace std;//-------------------------------------------------------------#ifdef WIN32void gotoxy(int x, int y)COORD cur = x, y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cur);#elsevoid gotoxy(int x, int y)printf("33<%dG33<%dd", x+1, y+1);#endifint textcolor ( int màu sắc )HANDLE h;h = GetStdHandle(STD_OUTPUT_HANDLE );return SetConsoleTextAttribute(h, color );#define CYAN 10#define YELLOW 14//-------------------------------------------------------------struct nutstring masv;string hoten;Nguyễn Ngọc Quang22 Đề tài: làm chủ sinh viên bằng danh sách link đơnstring lop;float toan;float ly;float hoa;float diemtb;string xeploai;nut *next;;typedef nut* node;nodefirst;voidinsert(string ma,string ten,string l,floattoan,float ly,float hoa,float dtb,node&first)node p,q;p=new(nut);p->masv=ma;p->hoten=ten;p->lop=l;p->toan=toan;p->ly=ly;p->hoa=hoa;p->diemtb=dtb;p->next=NULL;if(first==NULL)first=p;elseq=first;while(q->next!=NULL)q->next=p;Nguyễn Ngọc Quang23q=q->next; Đề tài: quản lý sinh viên bằng danh sách liên kết đơnvoidnhap(node&first) // đam mê nhap cua ds donsystem("cls");char ch;first=NULL;string ma,ten,lop;float toan,ly,hoa,dtb;docout>toan;cout>ly;cout>hoa;dtb=(toan+ly+hoa)/3;insert(ma,ten,lop,toan,ly,hoa,dtb,first);coutmasv;couthoten;coutlop;couttoan;coutly;couthoa;couttoannext;getch();voidtim_ma(node first)// tim kiem sinh vien theo masystem("cls");node p;p=first;string ma;cout>ma;while(p!=NULL)if(p->masv==ma)coutmasv;coutlop;>hoten;Nguyễn Ngọc Quang25 Đề tài: quản lý sinh viên bằng danh sách links đơncouttoan;coutly;couthoa;couttoan;break;p=p->next;getch();voidxoa(node&first)// xoa sinh vien theo masystem("cls");node p,q;p=first;q=first;string ma;cout>ma;while(p!=NULL&&p->masv!=ma)p=p->next;if(p==first)first=first->next;elseif(p==NULL)coutnext!=p)>next;q->next=p->next;Nguyễn Ngọc Quang26q=q- Đề tài: thống trị sinh viên bởi danh sách link đơnsystem("cls");xuat(first);getch();voidthemsv(node&first)danh sach// bo sung sv moi vao{system("cls");char ch;string ma,ten,lop;float toan,ly,hoa,dtb;docout>toan;cout>ly;cout>hoa;dtb=(toan+ly+hoa)/3;insert(ma,ten,lop,toan,ly,hoa,dtb,first);coutdiemtb;p=p->next;while(p!=NULL)if(p->diemtb>max)max=p->diemtb;q=p;p=p->next;while(l!=NULL)if(l==q)>hoten;coutmasv;coutlop;couttoan;coutly;couthoa;couttoan;break;Nguyễn Ngọc Quang28 Đề tài: cai quản sinh viên bằng danh sách liên kết đơnl=l->next;getch();voidhoanvi(float&a,float&b)float c=a; a=b; b=c;voidhoanvi1(string&a,string&b)string c=a; a=b; b=c;voidsapxep(node first)//sx sv tang dan theo dtbsystem("cls");node p=first,q;while(p!=NULL)q=p->next;while(q!=NULL)if(p->diemtb>q->diemtb)hoanvi1(p->masv,q->masv);hoanvi1(p->hoten,q->hoten);hoanvi1(p->lop,q->lop);hoanvi(p->toan,q->toan);hoanvi(p->ly,q->ly);hoanvi(p->hoa,q->hoa);hoanvi(p->diemtb,q->diemtb);Nguyễn Ngọc Quang29 Đề tài: làm chủ sinh viên bởi danh sách liên kết đơnq=q->next;p=p->next;xuat(first);getch();//--------------------------------------------------------------void Write(char *s,int x,int y, int color)textcolor(color);gotoxy(x,y); cout Ket thuc chuong trinh !";int x0=25,y0=10,chon=0,luuchon,sodongc=8,ok=FALSE;menuchinh(ch,st,x0,y0,chon,luuchon,sodongc,ok);Nguyễn Ngọc Quang33 Đề tài: thống trị sinh viên bằng danh sách liên kết đơngetch();//--------------------------------------------------------------intmain()menu_chinh();2.6. Màn hình hiển thị kết quả2.6.1. Menu chủ yếu của chương trình.Nguyễn Ngọc Quang34 Đề tài: thống trị sinh viên bởi danh sách links đơn2.6.2. Tạo danh sách sinh viên2.6.3. Hiển thị list sinh viênNguyễn Ngọc Quang35 Đề tài: làm chủ sinh viên bằng danh sách links đơn2.6.4. Tìm kiếm sinh viên theo mã sinh viênNguyễn Ngọc Quang36 Đề tài: cai quản sinh viên bởi danh sách links đơn2.6.5. Thêm sinh viên mới vào danh sách.2.6.6. Hiển thị sinh viên gồm điểm mức độ vừa phải cao nhất.Nguyễn Ngọc Quang37 Đề tài: thống trị sinh viên bởi danh sách links đơn2.6.7. Xóa sv theo mã sinh viên.Nguyễn Ngọc Quang38 Đề tài: quản lý sinh viên bởi danh sách link đơn2.6.8. Thu xếp danh sách sinh viên tăng vọt theo điểm trung bình.Nguyễn Ngọc Quang39 Đề tài: thống trị sinh viên bởi danh sách link đơnKẾT LUẬN1. Các hiệu quả đạt được.- trình bày khái quát kim chỉ nan về danh sách liên kết đơn- kiến thiết được chương trình làm chủ sinh viên2. Ưu cùng nhược điểm của đề tài- Ưu điểm lịch trình dễ sử dụng, đồ họa thân thiện Chương trình quản lý sinh viên áp dụng danh sách links đơn do vậy cóưu điểm là ….- Nhược điểm: Vẫn chưa chú trọng về vật dụng họa, mới chỉ trở về phần lập trình. Code chường trình còn dài, chưa buổi tối ưu3. Hướng phát triểnXây dựng thêm các tính năng như giao diện, thêm các thuộc tính như năm sinh,địa chỉ, số năng lượng điện thoại…Nguyễn Ngọc Quang40 Đề tài: cai quản sinh viên bằng danh sách liên kết đơnTÀI LIỆU THAM KHẢO<1>. Phạm Anh Phương. Bài xích giảng kết cấu dữ liệu và giải thuật, Đại học Duy Tân,Năm 2012<2>http://tailieu.vn/tag/tailieu/danh%20s%C3%A1ch%20li%C3%AAn%20k%E1%BA%BFt.html<3>. Đỗ Xuân Lôi. Cấu trúc dữ liệu và giải thuật. Công ty xuất bạn dạng Khoa học cùng Kỹ thuật,1998<4> http://www.e-ptit.edu.vn/hoctap/hoclieu/CTDLGT.pdf<5> Nguyễn Xuân Huy. Thuật toán. Bên xuất phiên bản Thống kê, 1988Nguyễn Ngọc Quang41 Đề tài: làm chủ sinh viên bởi danh sách liên kết đơnNHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN..................................................................................................................................Nguyễn Ngọc Quang42 Đề tài: quản lý sinh viên bởi danh sách links đơn..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ContentsPhần Mở đầu11. Lý do chọn đề tài:................................................................................................................12. Phương châm của đề tài...............................................................................................................1Nguyễn Ngọc Quang43 Đề tài: cai quản sinh viên bởi danh sách link đơn3. Phạm vi nghiên cứu.............................................................................................................14 . Phường h ư ơ n g p. H á p n g h i ê n c ứ đọng u . .......................................................................................1CHƯƠNG 1: CƠ SỞ LÝTHUYẾT.............................................................................................21. Tổng quan về list liên kết..........................................................................................21.1. Định nghĩa....................................................................................................................21.2 .Phân loại.......................................................................................................................21.3. Danh sách links đơn.................................................................................................21.3.1. Khái niệm...............................................................................................................21.3.2.Thao tác bên trên 1 node...............................................................................................31.3.3. Các thao tác trên danh sách links đơn...............................................................31.3.3.1. để mắt tới danh sách link đơn..........................................................................41.3.3.2. Chèn một trong những phần tử vào danh sách....................................................................41.3.3.3. Xóa một trong những phần tử ra khỏi danh sách: có 2 trường hòa hợp xảy ra..........................61.3.4.4. Tìm kiếm phần tử trong danh sách.................................................................81.3.3.5. Đảo các thành phần trong danh sách....................................................................8CHƯƠNG 2: ỨNG DỤNG DANH SÁCH LIÊN KẾT ĐƠN VÀOQ U Ả N LÝ SINH VIÊN...........................................................................................................102.1. Đặc tả bài toán................................................................................................................102.2. Yêu cầu hệ thống............................................................................................................102.3. Phân tích xây dựng chương trình.......................................................................................102.3.1. Cấu tạo dữ liệu chương trình..................................................................................102.3.2. Các tác dụng của chương trình.............................................................................122.3.2.1. Nhập danh sách sinh viên.................................................................................122.3.2.2. Hiển thị list sinh viên.............................................................................122.3.2.3. Search kiếm sv theo mã sinh viên..............................................................122.3.2.4.Xóa sinh viên theo mã số sinh viên...................................................................122.3.2.5. Bổ sung cập nhật sinh viên new vào danh sách...............................................................122.3.2.6. Hiển thị sinh viên gồm điểm trung bình cao nhất................................................122.3.2.7. Bố trí danh sách sinh viên tăng dần đều theo trường điểm trung bình................122.4. Thiết lập chương trình.......................................................................................................132.4.1. Định nghĩa kết cấu cho chương trình làm chủ sinh viên.........................................132.4.2. Khởi tạo danh sách sinh viên...................................................................................132.4.3. Hiển thị danh sách sinh viên....................................................................................152.4.4. Kiếm tìm kiếm sv theo mã sinh viên.....................................................................15Nguyễn Ngọc Quang44 Đề tài: làm chủ sinh viên bằng danh sách links đơn2.4.5. Xóa sv theo mã sinh viên..............................................................................162.4.6. Bổ sung cập nhật sinh viên bắt đầu vào danh sách......................................................................172.4.7. In sinh viên tất cả điểm trung bình mập nhất.................................................................182.4.8. Thu xếp tăng dần theo điểm trung bình...................................................................202.5. Chương trình quản lý sinh viên......................................................................................212.6. Màn hình hiển thị kết quả............................................................................................................342.6.1. Menu thiết yếu của chương trình..................................................................................342.6.2. Tạo danh sách sinh viên...........................................................................................342.6.3. Hiển thị list sinh viên....................................................................................352.6.4. Tìm kiếm sv theo mã sinh viên.....................................................................352.6.5. Thêm sinh viên mới vào danh sách.........................................................................362.6.6. Hiển thị sinh viên gồm điểm mức độ vừa phải cao nhất.......................................................362.6.7. Xóa sv theo mã sinh viên..............................................................................372.6.8. Bố trí danh sách sinh viên tăng vọt theo điểm trung bình...................................38KẾT LUẬN...............................................................................................................................391. Các kết quả đạt được...........................................................................................................392. Ưu và nhược điểm của đề tài..............................................................................................39- Ưu điểm..................................................................................................................................393. Hướng phát triển.................................................................................................................39Nguyễn Ngọc Quang45