MỤC TIÊU ĐỀ TÀI Xây dựng một chương trình quản lý sinh viên bằng ngôn ngữ C++, dễ sử dụng cho người quản lý 3.. kiểu_đã_có_1:danh sách các trường cùng kiểu; kiểu_đã_có_2:danh sách các t
Trang 1TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI
ĐỒ ÁN
ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN
BẰNG NGÔN NGỮ LẬP TRÌNH C++
SVTH : NGUYỄN VĂN KHÔI LỚP : TH27.60
MSV: 2722235057
Trang 2MỤC LỤC Chương 1 : Giới thiệu về ngôn ngữ C++
1.1 Giới thiệu về ngôn ngữ C++:………2
1.2 Một số kiến thức sử dụng trong đề tài:…….2
Chương 2 : Xây dựng ứng dụng quản lý sinh viên 2.1 Giới thiệu bài toán:……… 4
2.2 Các modul chính của chương trình:……… 5
Chương 3 : Cài đặt chương trình 3.1 Tổng thể chương trình cài đặt:……….12
3.2 Các chức năng chính của chương trình:… 12
4 Kết luận:……… 16
4.1 Ưu điểm:……… 16
4.2 Nhược điểm:……….16
4.3 Kết quả thực hiện đề tài:……… 16
Trang 3
PHẦN MỞ ĐẦU:
1.LÝ DO CHỌN ĐỀ TÀI
Trong những năm gần đây chúng ta cũng có thể thấy được sự phát triển nhanh chóng của công nghệ thông tin Với sự phát triển của xã hội thì công nghệ thông tin được ứng dụng rộng rãi trong mọi lĩnh vực và ngày càng đóng vai trò quan trọng, và trở thành phần thiết yếu của đời sống Công nghệ thông tin đòi hỏi người học có kiến thức nền tảng và sự tư duy logic cao, hiểu biết sâu rộng luôn tìm tòi trên nhiều lĩnh vực Hiện tại em đang là sinh viên công nghệ thông tin không ngừng tìm tòi ,học hỏi Do đó để củng cố kiến thức
đã học, đề tài mà em chọn là: Bài toán quản lý sinh viên bằng ngôn ngữ C++
2 MỤC TIÊU ĐỀ TÀI
Xây dựng một chương trình quản lý sinh viên bằng ngôn ngữ C++, dễ sử dụng cho người quản lý
3 PHẠM VI NGHIÊN CỨU
Nghiên cứu, phân tích và xây dựng hệ thống quản lý sinh viên
4 PHƯƠNG PHÁP NGHIÊN CỨU
Thực hiện đề tài này, em đã ứng dụng các kiến thức đã học về lập trình , tham khảo một số tài liệu nói về C++
Tham khảo nghiên cứu quản lý nhân viên trong quán hang để xây dựng phần mềm thích hợp
Trang 4CHƯƠNG I : GIỚI THIỆU VỀ NGÔN NGỮ C++ 1.1 GIỚI THIỆU VỀ NGÔN NGỮ C++
C++ là ngôn ngữ lập trình bậc cao, được áp dụng và sử dụng nhiều để lập trình
hệ thống cùng với Assembler và phát triển các ứng dụng khác
Ngôn ngữ C++ rất tiện dụng trong việc viết các phần mềm hệ thống (hệ điều hành, chương trình dịch, soạn văn bản, cơ sở dữ liệu, …)
Ngôn C++ là ngôn ngữ lập trình hệ thống rất mạnh , có một thư viện gồm rất nhiều các hàm (function) đã được tạo sẵn Người lập trình có thể tận dụng nó các hàm này để giải các vấn đề khó khăn mà không cần tạo mới Bên cạnh đó nó còn
hỗ trợ rất nhiều phép toán phù hợp cho các việc giải quyết các bài toán kỹ thuật có nhiều công sức phức tạp C++ còn cho người lập trình tự định nghĩa thêm các dữ liệu khác Tuy nhiên , đối với những người mới học lập trình C++ thường gặp khó khăn đó là hơi định nghĩa và hiểu do sự uyển chuyển của C++ Dù vậy , C++ được phổ biến khá rộng rãi và đã trở thành một công cụ lập trình khá mạnh
1.2 MỘT SỐ KIẾN THỨC VỀ C++ SỬ DỤNG TRONG ĐỀ TÀI 1.2.1 Kiểu dữ liệu
String ( kiểu ký tự )
Int ( kiểu số nguyên có miền giá trị -2 15→ 215-1
Float ( kiểu số thực có miền giá trị 2*10-38→ 3.4*1038
1.2.2 Câu lệnh, vòng lặp
Lệnh if
- Cú pháp (biểu thức)if
[lệnh];
Lệnh switch
- Cú pháp switch(biểu thức nguyên)
{
case hằng_1: [lệnh_1]
case hằng_2: [lệnh_2]
case hằng_n: [lệnh_n]
[default: lệnh _n+1;] }
Trang 5Lệnh break
Lệnh break dung để kết thúc vòng lặp khi chương trình gặp lệnh này
thì chương trình sẽ dừng ngay lập tức vòng lặp trong nhất nó chứa
Vòng lặp for
Cú pháp for([bt1;[bt2];[bt3])
[lệnh];
Vòng lặp while
Cú pháp while(biểu thức)
[lệnh];
Vòng lặp do…while
Cú pháp Do{
[lệnh;]
}while(bt);
1.2.3 Hàm
- Cú pháp
[kiểu trả về/void]<tên hàm([danh_sách_tham_số_hình_thức])> <{[khai báo biến cục bố]
[các câu lệnh]
[return giá_trị_trả_về;]
[các câu lệnh]
[return giá_trị_trả_về;]
}>
1.2.4 Kiểu dữ liệu struct
Định nghĩa kiểu struct
Struct kiểu_struct{
Trang 6kiểu_đã_có_1:danh sách các trường cùng kiểu;
kiểu_đã_có_2:danh sách các trường cùng kiểu; kiểu_đã_có_n:danh sách các trường cùng kiểu; };
1.2.5.Khai báo thư viện, hằng mặc định
#include <iostream.h>
#include <math.h>
#include <string.h>
#include <conio.h>
Using namespace std;
1.2.6.Xóa bộ nhớ đệm
Cin.ignore();
Fflush(stdin);
CHƯƠNG II : XÂY DỰNG ỨNG DỤNG QUẢN LÝ SINH
VIÊN 2.1 Giới thiệu bài toán
2.1.1 Mô tả các bước thực hiện để xây dựng trình quản lý sinh viên
Trang 7- Để quản lý sinh viên thì trước hết ta phải có một danh sách sinh viên và có thể thực hiện các thao tác với danh sách sinh viên đó Cụ thể yêu cầu quản lý sinh viên như sau: Xây dựng lớp sinh viên, lớp này gồm các thành phần: -Các thông tin về sinh viên : lớp học , họ tên , địa chỉ , giới tính , năm sinh , mã sinh viên, điểm tin1, tin2, anh1, anh2…
- Xây dựng hàm nhập dữ liệu cho sinh viên theo từng lớp.
- Hàm hiển thị dữ liệu sinh viên theo từng lớp.
- Xây dựng lớp Quanlysv “ kế thừa ” từ lớp sinh viên và bổ sung thêm các thành phần điểm trung bình các môn học, xếp loại.
Chương trình quản lý sinh viên đáp ứng những yêu cầu sau:
- Xây dựng các lớp chức năng kế thừa
- Xây dựng các phương thức nhập xuất sinh viên
- Đưa ra danh sách sinh viên xếp loại
- Sắp xếp danh sách sinh viên theo điểm trung bình giảm dần
- Tìm kiếm sinh viên có điểm trung bình cao nhất
- Tìm sinh viên bằng mã sinh viên
2.2 Các modul chính của chương trình
2.2.1.Nhập danh sách sinh viên
Trang 8
đúng
2.2.2.Xuất thông tin sinh viên
Bắt đầu
Gọi đến phương thức written của quanlysv
Nhập lựa chọn nhập danh sách sinh viên
Nhập n số lượng sinh viên
Kiêm tra nhập đúng số lượng sinh viên chưa
Gọi phương thức nhập ở sinh viên trên
Nhập thông tin cho từng sinh viên
Trang 9
2.2.3.Xếp loại học lực
Bắt đầu
Nhập lựa chọn hiển thị thông tin sinh viên
Gọi đến phương thức show của quanlysv
Gọi đến phương thức hienthi của sinhvein
Hiển thị thông tin tất cả các sinh viên
Bắt đầu
Nhập lựa chọn xếp loại học lực
Trang 102.2.4.Danh sách sinh viên có điểm trung bình giảm dần
Gọi đến phương thức xeploaiHL
của quanlysv
Điểm trung bình
=(tin+anh+toán)/3
Sv[i].DT B>=8
Xếp loại giỏi
Sv[i].DTB<8
&& Sv[i]>=7
Xếp loại khá
Sv[i].DTB<7
&& Sv[i]>=5 Xếp loại TB
Sv[i].DT B<5 Xếp loại Yếu
Đúng
sai
Đúng
Đúng
Đúng
sai
sai
Bắt đầu
Trang 112.2.5 Sinh viên có điểm trung bình cao nhất
Nhập lựa chọn danh
sách sinh viên có điểm
trung bình giảm dần
Gọi đến phương thức dsDTBgd của
quanlysv
Sắp sếp (sort) các sinh viên có
điểm trung binh từ lớn đến bé
Gọi đến phương thức hienthi
của sinhvien
Hiển thị thông tin
tất cả các sinh viên
Bắt đầu
Trang 122.2.6 Tìm kiếm sinh viên bằng mã sinh viên
Nhập lựa chọn sinh viên
có điểm trung bình cao
nhất
Sv[i].DTB>=Max , lưu biến i
của sinh viên đó
Hiển thị thông tin
sinh viên có điển
trung bình cao nhất
Gọi đến phương thức hienthi
của sinhvien
Bắt đầu Gọi đến phương thức
timsvDTBMAX của quanlySV
Trang 13CHƯƠNG III : CÀI ĐẶT CHƯƠNG TRÌNH
Gọi đến phương thức
timkiem của quanlySV
Nhập lựa chọn tìm
kiếm sv bằng mã sv
Nhập mã sinh viên
Kiểm tra mã sinh
viên đang tìm
kiếm có tồn tại
không
Đúng
sai
Gọi đến phương thức hienthi
của sinhvien
Hiển thị thông tin
sinh viên đang tìm
kiếm msv
Mã sinh viên không tồn tại
Trang 143.1 Tổng thể chương trình cài đặt
Chương trình được viết bằng ngôn ngữ C++, sử dụng Dev C++ trên nền Window gồm các thành phần chính
Menu chính : gồm có các dòng để người dùng thực hiện như:
+ Nhập thông tin sinh viên
+ Hiển thị thông tin sinh viên vừa nhập
+ Xếp loại học lực sinh viên
+Danh sách sinh viên có điểm trung bình giảm dần
+Sinh viên có điểm trung bình cao nhất
+Tìm sinh viên bằng mã sinh viên
3.2 Các chức năng chính của chương trình
3.2.1 Nhập danh sách sinh viên
Trang 163.2.2 Hiển thị danh sách sinh viên
3.2.3 Xếp loại học lực sinh viên
3.2.4 Danh sách sinh viên có điểm trung bình giảm dần
Trang 173.2.5 Tìm sinh viên có điểm trung bình cao nhất
3.2.6 Tìm sinh viên bằng mã sinh viên
Trang 184 Kết luận
4.1- Ưu điểm
- Sau khi học xong em đã được hiểu biết thêm về lập trình và bắt đầu thấy thích thú trong bộ môn này.
- Em đã có những kinh nghiệm bước đầu cho việc làm quản lý bằng lập trình Đó là em biết xử lý , tạo ra các hoạt động cho chương trình, những chức năng cho chương trình
- Ngoài ra em cũng hiểu hơn về khái niệm danh sách, vòng lặp, đối tượng
4.2 Nhược điểm
- Chương trình code vẫn chưa được tối ưu
4.3 Kết quả thực hiện đề tài
-Chương trình đã thực hiện đầy đủ các chức năng ban đầu đề ra xong còn chưa thật sự hoàn chỉnh Vì vậy, nếu có điều kiện về thời gian em định hướng sẽ mở rộng đề tài thêm một số chức năng về kết xuất thông tin… để chương trình được hoàn thiện hơn.
-Chương trình đã được hoàn thiện xong nhưng không thể tránh khỏi những thiếu sót, em rất mong quí thầy cô và các bạn đóng góp thêm ý kiến để chương trình ngày một hoàn thiện và có thể ứng dụng rộng rãi.
Em xin chân thành cảm ơn!