Tải bản đầy đủ (.doc) (33 trang)

Tài liệu ĐỀ 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++ pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (661.33 KB, 33 trang )

TRƯỜNG ĐẠI HỌC DUY TÂN
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ Á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++

GVHD : TS. PHẠM ANH PHƯƠNG
SVTH : NGUYỄN ĐÌNH HỰU
LỚP : K16TCD1
MSSV : 161135920


Đồ án cơ sở GVHD: Phạm Anh Phương
Đà Nẵng, tháng 11 năm 2012.
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
2
Đồ án cơ sở GVHD: Phạm Anh Phương
PHẦN MỞ ĐẦU
1. Lí do chọn đề tài
Trong sự phát triển của khoa học cuối thế kỷ 20 đầu thế kỷ 21, công nghệ thông tin
hiện nay là ngành có tốc độ phát triển nhanh nhất. Công nghệ thông tin ở nước ta còn
mới, song tốc độ phát triển của nó rất nhanh và mạnh, chiếm một vị trí quan trọng trong
các ngành khoa học công nghệ. Một trong những lĩnh vực đang được ứng dụng tin học
hóa rất phổ biến ở nước ta là lĩnh vực quản lý. Tin học hóa trong quản lý đã giúp cho
các nhà quản lý điều hành công việc một cách khoa học, chính xác và hiệu quả. Việc
ứng dụng công nghệ thông tin vào công tác quản lý sinh viên là cần thiết. vì vậy tôi
chọn đề tài “xây dựng chương trình quản lý điểm của sinh viên bằng ngôn ngữ lập
trình C++” làm đề tài nghiên cứu của tôi.
2. Mục tiêu của đề 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++.


3. Phạm vi nghiên cứu
Phân tích thiết kế hệ thống quản lí sinh viên bằng ngôn ngữ lập trình C++.
4. Phương pháp nghiên cứu
- Đọc tham khảo một số tài liệu về phương pháp lập trình C++, trên cơ sở đó tiến
hành phân tích thiết kế hệ thống quản lí sinh viên.
- Tham khảo, quan sát các phần mềm quản lí sinh viên trong thực tế.
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
3
Đồ án cơ sở GVHD: Phạm Anh Phương
CHƯƠNG I: GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH C++
1.1. Ngôn Ngữ Lập Trình C++
-C là ngôn ngữ lập trình cấp cao, được sử dụng rất phổ biến để lập trình hệ thống
cùng với Assembler và phát triển các ứng dụng.
-Ngôn ngữ lập trình C là một ngôn ngữ lập trình hệ thống rất mạnh và rất “mềm
dẻo”, 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 các hàm này để giải quyết các bài toán mà không cần phải tạo mới. Hơn
thế nữa, ngôn ngữ C hỗ trợ rất nhiều phép toán nên phù hợp cho việc giải quyết các bài
toán kỹ thuật có nhiều công thức phức tạp. Ngoài ra, C cũng cho phép người lập trình tự
định nghĩa thêm các kiểu dữ liệu trừu tượng khác. Tuy nhiên, điều mà người mới vừa học
lập trình C thường gặp “rắc rối” là “hơi khó hiểu” do sự “mềm dẻo” 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, được sử dụng
như là một ngôn ngữ lập trình chủ yếu trong việc xây dựng những phần mềm hiện nay.
1. 2. Danh Sách Mảng Một Chiều
1.2.1. Khái niệm mảng
- Mảng là kiểu dữ liệu có cấu trúc bao gồm nhiều phần tử kiểu và được bố trí vùng
nhớ liên tục.
- Kiểu của các phần tử mảng gọi là kiểu cơ sở. Mỗi phần tử mảng là một biến có
kiểu cơ sở.
- Mảng có kích thước là số phần tử trong mảng. Kích thước mảng bắt buộc phải là
biểu thức hằng nguyên để có thể cấp phát vùng nhớ lúc biên dịch.

SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
4
Đồ án cơ sở GVHD: Phạm Anh Phương
1.2.2. Ưu và khuyết điểm của mảng một chiều
Ưu điểm khi dùng mảng
- Ưu điểm của mảng là giúp ta tiết kiệm tài nguyên hệ thống.Ta có thể sử dụng
một mảng có kích thước lớn trong một thời gian nào đó rồi xóa bỏ để trả lại vùng nhớ cho
hệ thống.
- Dễ cài đặt và truy nhập các phần tử dữ liệu.
- Tốc độ truy nhập đến một vị trí bất kỳ trên mảng nhanh,hiệu quả.
Khuyết điểm khi dùng mảng
- Cần phải xác định trước số phần tử mảng trước khi sử dụng => không phù hợp
với các bài toán chưa biết trước số lượng phần tử.
- Khó khăn trong các thao tác chèn và xóa một phần tử bất kỳ trong mảng
- Nếu bài toán mà việc chèn phần tử xóa phần tử diễn ra liên tục thì tốc độ xử lý sẽ
rất chậm.
1.2.3. Các thao tác cơ bản trên mảng 1 chiều
• Nhập giá trị cho các phần tử mảng.
• Xuất giá trị các phần tử mảng (ra màn hình).
• Thêm 1 phần tử vào mảng.
• Xóa một phần tử ra khỏi mảng.
• Tìm kiếm trên mảng.
• Sắp xếp mảng.
- Các thao tác trên thực chất là duyệt mảng và xử lý trên từng phần tử mảng nhờ
vào cấu trúc lặp một cách tổng quát như sau:
+ Hàm nhập giá trị cho các phần tử mảng từ bàn phím :
void Input(int a[], int n)
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
5
Đồ án cơ sở GVHD: Phạm Anh Phương

{
for (int i=0; i<n; i++)
{
cout << “a[” << i << “] = ”; cin >> a[i];
}
}
+ Hàm xuất giá trị cho các phần tử mảng 1 chiều ra màn hình
void Output(const int a[], int n)
{
for (int i=0; i<n; i++)
cout << setw(4) <<a [i];
cout << endl;
}
1.3. Một số kiến thức về lập trình c++sử dụng trong đề tài
1.3.1. Kiểu dữ liệu
String (kiểu ký tự )
int (kiểu số nguyên có miền giá trị -2
15
2
15
-1
float (kiểu số thực có miền giá trị 2*10
-38
3.4*10
38
1.3.2. Câu lệnh, vòng lặp
Lệnh if
- cú pháp if(biểu thức)
[lệnh];
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin

6
Đồ án cơ sở GVHD: Phạm Anh Phương
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;]
}
Lệnh break
Lệnh break dùng để 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 chứa nó.
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);
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
7
Đồ án cơ sở GVHD: Phạm Anh Phương
1.3.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.3.4. Kiểu dữ liệu struct
Định nghĩa kiểu struct
struct kiểu_struct{
kiểu_đã_có_1: danh sách các trường cùng kểu;
kiểu_đã_có_2: danh sách các trường cùng kểu;
kiểu_đã_có_n: danh sách các trường cùng kểu;
};
1.3.5. Khai báo thư viện, hằng mặc định
#include<conio.h>
#include<iostream.h>
#include<math.h>
#include<string.h>
Using namespase std;
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
8
Đồ án cơ sở GVHD: Phạm Anh Phương
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
- Để 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 của quản lý
sinh viên như sau:
- Trước tiên phải tạo 1 mảng sinh viên có thể chứa 100 người (SV[100]), số
người cần nhập n. Sau đó thực hiện:
+ Nhập (thêm) một sinh viên vào danh sách (mảng).

+ Tìm một sinh viên.
+ Xóa một sinh viên khỏi danh sách(mảng).
+ Sửa sinh viên trong danh sách ( mảng).
2.1.2. Sơ đồ các chức năng chính
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
9
Quản lý sinh viên
Sửa họ tên
Sửa lớp
Tìm kiếm theo masv
xóaXuất
Sửa masv
Nhập Sửa Thêm
Sửa điểm hóa
Sửa điểm toán
Sửa điểm lý
Tìm kiếm
Tìm kiếm theo tên
Sắp xếp
Sắp xếp tên
Sắp xếp
masv
Sắp xếp
ĐTB
Đồ án cơ sở GVHD: Phạm Anh Phương
2.2. Các modul chính của chương trình
2.2.1. Hàm nhập danh sách sinh viên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
10
S

S
S
Giỏi
END
ĐTB<
8
Ch!=27
Khá
ĐTB<
6
ĐTB=(toán+lý+hóa)/3
ĐTB<
5
i++, n++
Nhập mãsv, tên, lớp,điểm
toán, điểm hóa, điểm lý.
Begin
i=0, n=0
Yếu
Trung
bình
Đ
Đ
Đ
Đ
S
S
S
S
Đồ án cơ sở GVHD: Phạm Anh Phương

2.2.2. Hàm xuất sinh viên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
11
Begin
i=1
i<=n
Xuất masv, tênsv, lớp,
điểm toán, điểm hóa,
điểm lý
i++
End
Đ
S
Đồ án cơ sở GVHD: Phạm Anh Phương
2.2.3. Hàm tìm kiếm sinh viên
a. Tìm kiếm theo số báo danh
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
12
Xuất a[i]
a[i].masv=masv
END
BEGIN
i = 1
i <=
n
Nhập masv
S
Đ
Đ
Đồ án cơ sở GVHD: Phạm Anh Phương

b. Tìm kiếm theo tên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
13
Xuất a[i]
Kt(a[i].hoten,tên)==
1
END
BEGIN
i = 1
i <=
n
Nhập tên
S
Đ
Đ
Đồ án cơ sở GVHD: Phạm Anh Phương
2.2.4. Sắp xếp sinh viên
a. Sắp xếp theo số báo danh
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
14
Đ
S
S
END
Hoán vị(a[i], a[j])
a[i].sbd >
a[j].sbd
BEGIN
i < = 1
i < = n-

1
j = i + 1
J < =
n
i ++
j ++
Đ
Đ
Đồ án cơ sở GVHD: Phạm Anh Phương
b. Sắp xếp theo tên sinh viên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
15
Đ
S
Đ
END
Hoán vị(a[i], a[j])
a[i].tên < a[j].tên
j = i + 1
J < =
n
i ++
j ++
S
BEGIN
i < = 1
i < = n-
1
Đ
Đồ án cơ sở GVHD: Phạm Anh Phương

c. Sắp xếp theo điểm trung bình
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
16
S
Đ
END
Hoán vị(a[i].masv, a[j].masv)
a[i].đtb < a[j].đtb
S
BEGIN
i < = 1
i < = n-
1
j = i + 1
J < =
n
i ++
j ++
Đ
Đ
Đồ án cơ sở GVHD: Phạm Anh Phương
2.2.5. Xóa sinh viên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
17
BEGIN
i = 1
a[i].masv!
=masv
j = i
j <= n-

1
i + +
j + +
n - -
a[j] = a[j+1]
END
Đ
S
S
Đ
Đồ án cơ sở GVHD: Phạm Anh Phương
2.2.6. Hàm sửa sinh viên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
18
Kt=1
Kt=2
Kt=5
END
Nhập a[i].mã
Nhập a[i].tên
Nhập
a[i].điêmhóa
a[i].masv==mas
vv
Xuất a[i]
Nhập kt
BIGIN
Nhập mã sinh viên
i = 1, kt
i < =

n
i + +
S
S
Đ
S
S
Đ
Đ
Đ
Đồ án cơ sở GVHD: Phạm Anh Phương
CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH
3.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 sinh viên vào danh sách.
+ In danh sách sinh viên cần xem.
+ Tìm sinh viên trong danh sách.
• Tìm theo tên.
• Tìm theo số báo danh.
+ Sửa sinh viên trong danh sách.
+ Xóa sinh viên trong danh sách.
+ Sắp xếp sinh viên.
• Sắp xếp theo tên.
• Sắp xếp theo số báo danh.
• Sắp xếp theo điểm trung bình.

SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
19

Đồ án cơ sở GVHD: Phạm Anh Phương
3.2. Các modun chính của chương trình
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
20
Đồ án cơ sở GVHD: Phạm Anh Phương
3.2.1. Nhập danh sách sinh viên

3.2.2. In danh sách sinh viên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
21
Đồ án cơ sở GVHD: Phạm Anh Phương
3.2.3. Hàm sửa sinh viên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
22
Đồ án cơ sở GVHD: Phạm Anh Phương
3.2.4. Tìm kiếm sinh viên
a. Tìm kiếm theo số báo danh
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
23
Đồ án cơ sở GVHD: Phạm Anh Phương
b. Tìm kiếm theo tên sinh viên
SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
24
Đồ án cơ sở GVHD: Phạm Anh Phương

SVTH: Nguyễn Đình Hựu Khoa Công Nghệ Thông Tin
25

×