1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án Quản Lý Sinh Viên viết bằng ngôn ngữ lập trình C++

31 4K 15

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 806,28 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu đồ án C++ với các nội dung : - Giới thiệu ngôn ngữ lập trình C++ (Thời gian, lịch sử hình thành ngôn ngữ C++, Các kiểu dữ liệu cơ sở, Cấu trúc điều khiển (if, else), Mảng , ...) - Chi tiết đồ án QUẢN LÝ SINH VIÊN bằng ngôn ngữ C++ : + Bối cảnh bài toán, Phân tích bài toán, Sơ đồ tổng quát. + Thuật toán sử dụng trong bài toán quản lý sinh viên + Sơ đồ khối của thuật toán + Toàn bộ Code của chương trình Quản lý sinh viên + Chức năng của phần mềm: Chương trình cho phép Nhập danh sách sinh viên, In danh sách sinh viên vừa nhập, Tìm kiếm và Xóa sinh viên ra khỏi danh sách + Giao diện khi chạy chương trình + Kết luận (Ưu/ nhược của phần mềm, kết quả đạt được và hướng phát triển của phần mềm) *Cảm ơn các bạn rất nhiều vì đã xem và tải tài liệu của mình*

Trang 1

ĐỒ ÁN CƠ SỞ NGÀNH KHOA HỌC MÁY TÍNH

ĐỀ TÀI: QUẢN LÝ SINH VIÊN

Giảng viên hướng dẫn: PHẠM KHÁNH LINH Sinh viên thực hiện: Nguyễn Văn Th???

Mã sinh viên: 1921123???

Đà Nẵng, tháng 04/2016

Trang 2

MỤC LỤC

PHẦN MỞ ĐẦU: 3

1 LÝ DO CHỌN ĐỀ TÀI 3

2 MỤC TIÊU ĐỀ TÀI 3

3 PHẠM VI NGHIÊN CỨU 3

4 PHƯƠNG PHÁP NGHIÊN CỨU 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4

1.1 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C/C++ 4

1.2 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ C++ 4

1.2.1 CÁC KIỂU DỮ LIỆU CƠ SỞ 4

1.2.2 CÁC CẤU TRÚC ĐIỀU KHIỂN 6

1.2.3 HÀM 9

1.2.4 MẢNG 9

1.2.5 KIỂU DỮ LIỆU TỰ ĐỊNH NGHĨA STRUCT 10

1.2.6 KIỂU DỮ LIỆU TỆP (FILE) 10

1.2.7 CÁC PHÉP TOÁN TRÊN DANH SÁCH ĐẶC 10

1.3 MÔ TẢ BÀI TOÁN QUẢN LÍ SINH VIÊN: 11

CHƯƠNG 2: PHÂN TÍCH XÂY DỰNG CHƯƠNG TRÌNH 13

2.1 GIỚI THIỆU THUẬT TOÁN 13

2.2 CÁC MODUL CHÍNH TRONG CHƯƠNG TRÌNH 13

2.2.1 SƠ ĐỒ TỔNG QUÁT 13

2.2.2 CÁC THUẬT TOÁN 13

2.2.3 MỘT SỐ MODUL CHÍNH CỦA CHƯƠNG TRÌNH 15

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH 19

2.1 TỔNG THỂ CHƯƠNG TRÌNH 19

2.1.1 CÁC HÀM KHAI BÁO 19

2.1.2 HÀM MAIN 20

2.1.3 MỘT SỐ HÀM CHÍNH 22

2.2 MỘT SỐ HÌNH ẢNH KHI CHẠY CHƯƠNG TRÌNH (demo) 27

3.2.1 GIAO DIỆN CHÍNH 27

3.2.2 GIAO DIỆN NHẬP DANH SÁCH 27

3.2.3 GIAO DIỆN IN DANH SÁCH 28

3.2.4 GIAO DIỆN TÌM KIẾM SINH VIÊN 28

3.2.5 GIAO DIỆN XÓA SINH VIÊN 29

TÀI LIỆU THAM KHẢO 31

Trang 3

PHẦN MỞ ĐẦU:

1 LÝ DO CHỌN ĐỀ TÀI

Công nghệ thông tin là một trong những ngành phát triển vượt bậc trong những năm gầnđây Ngày nay với sự phát triển nhanh chóng của xã hội thì công nghệ thông tin được ứngdụng rộng rãi ở hầu hết tất cả các lĩnh vực và ngày càng đóng vai trò quan trọng, trở thành mộtphần thiết yếu trong đời sống hằng ngày Công nghệ thông tin là một ngành đòi hỏi ở ngườihọc một nền tảng kiến thức vững chắc, sự tư duy logic cao, hiểu biết sâu rộng trên nhiều lĩnhvực Với em hiện đang là sinh viên công nghệ phần mềm cần có sự đầu tư, không ngừng họchỏi để nâng cao kiến thức Do đó để củng cố kiến thức đã học, đề tài mà em chọn là: Bài toánquản lý sinh viên bằng ngôn ngữ C/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ữ lập trình C/C++ đơn giản,

dễ sử dụng cho người quản lý

Giải quyết các vấn đề: quản lý sinh viên trong một năm học, số tính chỉ đăng ký, số điểmđạt được, môn học, nhập liệu, tìm kiếm và sửa thông tin…

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 về ngôn ngữ C/C++

Tham khảo, nghiên cứu việc quản lý sinh trong cửa hàng để xây dựng phần mềm thíchhợp

Trang 4

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C/C++

Ngôn ngữ lập trình C do Brain W.Kernighan và Dennis Ritchie phát minh vào năm

1972 tại phòng thí nghiệm Bell Telephone với mục đích tạo ngôn ngữ để viết hệ điều hànhUNIX, nhưng do tính ưu việt cũng như tính mềm dẻo của nó, cho nên giới tin học nhanh chóngchấp nhận như một ngôn ngữ nhà nghề

Năm 1978, bản in đầu tiên được in thành sách, đó là cuốn “The C ProgrammingLanguage” do chính hai tác giả của ngôn ngữ biên soạn Viện chuẩn quốc gia Mỹ ANSI(American National Standard Institute) công bố chuẩn ngôn ngữ C vào năm 1983 với tên

 Nhóm một là các kiểu dữ liệu mới, các dòng dữ liệu mới, các hàm mới làm chongôn ngữ mạnh mẽ hơn va dễ lập trình hơn

 Nhóm hai là các khái niệm lớp, đối tượng va những khái niệm liên quan tạo cơ

sở cho lập trình hướng đối tượng và làm cho C++ trở thành ngôn ngữ lập trìnhhướng đối tượng

Trang 5

Một ký tự chiếm 1 byte, biểu diễn 1 ký tự trong bảng mã ASCII (American StandardCode for Information Interchangre) và nằm cặp nháy đơn.

Bảng mã của một số ký tự biễu diễn được:

Một số dữ liệu kiểu số nguyên:

Trang 6

1.2.2 CÁC CẤU TRÚC ĐIỀU KHIỂN

1.2.2.1 Cấu trúc rẽ nhánh

 Cấu trúc if

Trang 7

1.2.2.2 Các lệnh vòng lặp

 Vòng lặp for

Cú pháp:

 Lệnh while

Biểu thức

Lệnh

TRUE FALSE

Lệnh

Biểu thức

TRUE

FALSE

Trang 8

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 phần tử của mảng nằm trong các ô nhớ liên tục nhau, địa chỉ thấp nhất của ô nhớtương ứng với phần tử thú nhất và địa chỉ cao nhất của ô nhớ tương ứng với phần tử cuối cùng

Số phần tử của mảng được xác định ngay khi khai báo mảng Mỗi phần tử của mảng được truycập trực tiếp thông qua tên mảng và chỉ số của nó

Có nhiều loại mảng, mảng một chiều (vecto), mảng 2 chiều (ma trận), mảng nhiềuchiều

Trang 9

1.2.5 KIỂU DỮ LIỆU TỰ ĐỊNH NGHĨA 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;

Tệp nhị phân là tệp mà các phần tử của nó chỉ biểu diễn một kiểu dữ liệu Một tệp tin

dù được xây dựng bằng cách nào thì bản chất của nó cũng chỉ là dãy các byte (0 255) ghi trenđĩa, với cách quan niệm này người ta gọi là tệp nhị phân

Một số thao tác trên tệp:

 Khai báo con trỏ file: fstream f;

 Mở file để ghi: f.open(tên_tệp, ios::out | ios::binary);

Ghi file: f.write((char*) & x, sizeof(x));

 Mở file để đọc: f.open(ten_tệp, ios::in | ios::binary);

Muốn chèn một phần tử X vào mảng A tại vị trí k trong mảng có n phẩn tử (0<k<n) thì

ta theo giải thuật như sau:

Bước 1: Dời các phần tử của mảng A ra sau một vị trí kể từ vị trí k

for (int i=n;i>k;i ) a[i+1] = a[i];

Bước 2: Đưa giá trị X vào vị trí số k

Trang 10

a[k-1] = X;

Bước 3: Tăng kích thước mảng lên 1 đơn vị

n++;

Bước 4: Duyệt mảng từ đầu đến cuối và in ra giá trị của mỗi phần tử của mảng ra màn hình

for (i=1; i<n;i++) cout<<””<<a[i];

getch();

Bước 5: Kết thúc thuật toán

Mô tả giải thuật bằng ngôn ngữ C:

void in(int a[], int n)

1.2.7.3 Xóa 1 phần tử ra khỏi danh sách (mô tả bằng giải thuật C)

void in(int a[], int n)

1.3 MÔ TẢ BÀI TOÁN QUẢN LÍ SINH VIÊN:

Trong quá trình quản lý sinh viên sẽ có nhiều sinh viên với tên, tuổi, quên quángiống nhau, để tránh nhầm lẫn chúng ta gán mã sinh viên cho từng sinh viên (mã sinhviên không trùng nhau) Chương trình sẽ quản lý hồ sơ, điểm học tập của sinh viêntrong quá trình theo học tại trưởng Chương trình có thể thực hiện các công việc thêmmới sinh viên, tìm sinh viên theo điều kiện nào đó, xóa sinh viên…

Trang 11

CHƯƠNG 2: PHÂN TÍCH XÂY DỰNG CHƯƠNG TRÌNH

2.1GIỚI THIỆU THUẬT TOÁN

Chương trình quản lý sinh viên quản lý các vấn đề:

 Masv (mã sinh viên) có kiểu dữ liệu char, độ dài 20 ký tự, mỗi sinh viên có một mã sốriêng, không trùng lặp

 Hoten (họ tên) kiểu dữ liệu char, độ dài 20 ký tự, họ tên sinh viên có thể trùng nhau

 Lop (lớp) có kiểu dữ liệu char, độ dài 15 ký tự, một sinh viên chỉ được xếp vào mộtlớp với một mã lớp tương ứng

 Gt (giới tính), quequan (quê quán), diachi (địa chỉ) có kiểu dữ liệu char, độ dài 20 kýtự

2.2CÁC MODUL CHÍNH TRONG CHƯƠNG TRÌNH

2.2.1 SƠ ĐỒ TỔNG QUÁT

CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN

B4: Kết thúc

2.2.2.2Hàm in thông tin sinh viên

B1: Khởi tạo gán cho i=0,n B2: Kiểm tra i<n , nếu i<n thì sang B3,ngược lại sang B4

B3: In thông tin sinh viênB4: Kết thúc

2.2.2.3Hàm tìm kiếm sinh viên( theo mã sinh viên)

B1: Nhập mã sinh viênB2: Khởi tạo gán cho i=0,n

Trang 12

B3: Kiểm tra i<n thì sang B4, ngược lại sang B5B4: In thông tin khách hàng

B5: Kết thúc2.2.2.4Hàm xóa sinh viên (theo mã sinh viên)

B1: Nhập mã sinh viênB2: Khởi tạo i=0,j=0;

B3: Kiểm tra i<n,j<nB4: Xóa sinh viênB5: Kết thúc

Trang 13

2.2.3 MỘT SỐ MODUL CHÍNH CỦA CHƯƠNG TRÌNH

i++

END

S Đ

Trang 14

2.2.3.2 Hàm in thông tin sinh viên

Trang 15

2.2.3.3 Hàm tìm kiếm sinh viên (theo mã sinh viên)BEGIN

NHẬP MÃ SINH VIÊN

i=0, n, d

i<n

a[i].MSV==MSV

IN SINH VIÊN

i++

END

S Đ

Đ

d++

d==n

MSSV không tồn tại

S

S Đ

Trang 16

2.2.3.4 Hàm xóa sinh viên

BEGIN

d=0, k, i=0, s[20]

END

S

Đ

Trang 17

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH

Trang 18

cout<<"\n \t2 Xuat danh sach";

cout<<"\n \t3 Tim kiem";

cout<<"\n \t4 Xoa";

cout<<"\nChon 1 trong 4 chuc nang: "; cin>>ch;

switch(ch)

{

case 1 : Nhap(a,n); break;

case 2 : Xuat(a,n); break;

Trang 19

break;

}default: cout<<"Khong co chuc nang nay \n";

Trang 20

cout<<"Ho ten: "; gets(a[i].Hoten);

cout<<"Gioi tinh: "; gets(a[i].GT);

cout<<"Ngay sinh: "; gets(a[i].Ngaysinh);

cout<<"Que quan: "; gets(a[i].Quequan);

cout<<"Dia chi: "; gets(a[i].Diachi);

cout<<"Email: "; gets(a[i].email);

Trang 21

cout<<"So dien thoai: "; gets(a[i].SDT);

Trang 22

+Nhập in danh sách sinh viên:

Trang 23

}i ;

Trang 24

printf("6s 16s 9s 14s 11s 11s 20d",a[i].MSSV,a[i].Hoten,a[i].Ngaysinh,a[i].Quequan,a[i].Diachi,a[i].email,a[i].SDT);

%-cout<<endl;

}else d++;

Trang 25

3.2.2 GIAO DIỆN NHẬP DANH SÁCH

3.2.3 GIAO DIỆN IN DANH SÁCH

Trang 26

3.2.4 GIAO DIỆN TÌM KIẾM SINH VIÊN

Trang 27

3.2.5 GIAO DIỆN XÓA SINH VIÊN

Trang 28

PHẦN KẾT LUẬN

1 CÁC KẾT QUẢ ĐẠT ĐƯỢC

Đã hoàn thiện được yêu cầu cơ bản của chương trình quản lý sinh viên

2 ƯU VÀ NHƯỢC ĐIỂM CỦA ĐỀ TÀI

+Ưu điểm:

- Giao diện dễ sử dụng, dễ thao tác

- Giải quyết được vấn đề quản lý sinh viên

- Hỗ trợ các nhiệm vụ chính trong quản lý sinh viên: nhập, in, xóa, tìm kiếm

+Nhược điểm:

Chương trình còn thiếu sót như:

-Tìm kiếm theo tên, sắp xếp sinh viên theo tên và theo mã sinh viên

- Giao diện chưa được bắt mắt

Trang 29

TÀI LIỆU THAM KHẢO

[1] Ths Nguyễn Thị Bảo Trang, Bài giảng Lập trình cơ sở - Lưu hành nội bộ

[2] TS Phạm Anh Phương, Lập trình cơ sở- Nhà xuất bản Thông Tin

[3] GS Phạm Văn Ất, Kỹ thuật lập trình C cơ sở và nâng cao, NXB KH&KT- 1999

Trang 30

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

Trang 31

Ngày đăng: 29/06/2016, 16:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w