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

Phân Tích Và Thiết Kế Các Chức Năng Của Chương Trình Quản Lý Sinh Viên.pdf

23 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Phân tích và thiết kế các chức năng của chương trình quản lý sinh viên
Chuyên ngành Lập trình C++
Thể loại tài liệu học tập
Định dạng
Số trang 23
Dung lượng 2,23 MB

Nội dung

Ch ươ ng III: Ch ươ ng Trình Th Nghi m ử ệ1.Giao Di n Và Cách s d ng ệ ử ụ Chương I :Tổng quan về lập trình C++ C++ chính là một ngôn ngữ lập trình phổ biến và mạnh mẽ, nó có kiểu dữ liệ

Trang 1

M c L c ụ ụ Chương I :Tổng quan về lập trình C++

1 Các ki u d li u ể ữ ệ trong C++, khung ch ươ ng trình và cách khai báo

bi n ế

2.Khung ch ươ ng trình và các cách khai báo bi n ế

3.Các câu l nh nh p xu t và c u trúc các câu l nh đi u khi n ệ ậ ấ ấ ệ ề ể

4.L p trình hàm ậ

5.X lý các xâu trong C++ ử

1.Các Ch c Năng C a Ch ứ ủ ươ ng Trình Qu n Lý Sinh Viên ả

1.1Thêm Thông Tin Sinh

1.2 S a Thông Tin Sinh Viên ử

1.3 Xóa Sinh Viên

1.4 Tìm Ki m sinh viên thêo tên ế

1.5s p x p sinh viên theo đi m trung bình ắ ế ể

1.6 s p x p sinh viên theo tên ắ ế

1.7 Hi n Th Danh Sách Sinh Viên ể ị

2.Phân Tích

Trang 2

Ch ươ ng III: Ch ươ ng Trình Th Nghi m ử ệ

1.Giao Di n Và Cách s d ng ệ ử ụ

Chương I :Tổng quan về lập trình C++

C++ chính là một ngôn ngữ lập trình phổ biến và mạnh mẽ, nó có kiểu dữ liệu tĩnh và hỗtrợ gần như tất cả các phương pháp lập trình như: lập trình hướng thủ tục, lập trình hướng module và lập trình hướng đối tượng Vào năm 1990 thì C++ đã trở thành một ngôn ngữ thương mại phổ biến tại thời điểm này

Ngôn ngữ C++ được ra đời vào năm 1983 do Bjarne phát triển dựa trên nguyên tắc cơ bản của ngôn ngữ mẹ C Vì dựa trên C để phát triển nên ngôn ngữ C++ gần như mang những đặc tính của C, có thêm sự nâng cấp và bổ sung cần thiết một vài chức năng riêng biệt

Ưu điểm của lập trình C++

Tính phổ biến: Đầu tiên thì ngôn ngữ C++ là một trong những ngôn ngữ lập

trình phổ biết nhất trên thế giới

Tính thực thi nhanh: Nếu ta đã quen về C++ thì có thể thao tác một cách

nhanh chóng Một trong những mục tiêu chung của lập trình C++ là khả năng thực thi Nếu chúng ta cần thêm các tính năng cho chương trình, thì C++ cho phép chúng ta dùng ngôn ngữ Assembly (là hợp ngữ) – Một ngôn ngữ lập trình bậc thấp nhất để có thể giao tiếp trực tiếp với phần cứng của máy tính

Thư viện đầy đủ: Có rất nhiều tài nguyên cho người lập trình với C++, nó còn

bao gồm cả đồ hoạ: API, 2D, 3D, vật lý các thiết bị âm thanh hỗ trợ giúp cho các lập trình viên dễ dàng thực hành

Đa mô hình: Thêm nữa C++ cho phép chúng ta lập trình theo cấu trúc tuyến

tính, hướng chức năng và hướng đối tượng đa dạng tuỳ vào yêu cầu của mỗi người lập trình

Trang 3

1 Các kiểu dữ liệu trong C++, khung chương trình và cách khai báo biến

Một chương trình C++ cơ bản thường được bắt đầu bởi dòng include khai báo thưviện, sau đó là hàm main Tất cả mọi thứ của chương trình đều sẽ chạy dọc theohàm main từ trên xuống dưới, có nghĩa là nếu bạn viết một hàm ngoài main vàtrong main không gọi đến hàm đấy có nghĩa là hàm đấy sẽ không chạy trongchương trình, một hàm luôn luôn phải kết thúc bởi dấu chấm phẩy (;) Dưới đây là

bộ khung cơ bản của chương trình Hello world bằng C++

double char string, , , về cách biểu diễn và khoảng của mỗi kiểu dữ liệu Sau khi

đã làm các bài tập và hiểu rõ rồi thì có thể tìm hiểu thêm các kiểu dữ liệu khác Dướiđây là một vài ví dụ về cách khai báo biến trong C++

c = 'a'; // gán giá trị cho biến c là ký tự 'a'

string d; // khai báo biến d có kiểu dữ liệu là xâu string

d = "ok" // gán giá trị cho biến d là xâu "ok"

Trang 4

return ;

}

Bảng dưới đây thống kê phạm vi lưu trữ cũng như bộ nhớ tiêu tốn của các kiểu dữ liệu dạng số trong C++ kèm theo modifier

Ngoài ra, C++ cung cấp một số từ khóa để đưa ra giá trị nhỏ nhất

và lớn nhất lưu trữ được của một kiểu dữ liệu, thể hiện trong bảng dưới đây:

Trang 5

Riêng với kiểu dữ liệuchar, kiểu này có thể lưu được cả số lẫn kí

tự Đối với kí tự, kiểucharlưu trữ được toàn bộ 256256 kí tự thuộc bảng mã ASCII - là bảng kí tự và mã kí tự sử dụng trong tin học và một số lĩnh vực khác.

2.Khung chương trình và các cách khai báo biến

Mỗi chương trình C++ cơ bản đều được bắt đầu bởi dòng include khai báo thư viện, tiếptheo sẽ là hàm main Tất cả thành phần của chương trình đều sẽ chạy dọc theo hàm main này từ trên xuống dưới, nghĩa là nếu ta viết một hàm ngoài main và trong main thì có nghĩa là hàm đấy sẽ không chạy trong chương trình, kết thúc mỗi luôn

là dấu chấm phẩy (;)

Trang 6

Trên thực tế có rất nhiều kiểu dữ liệu trong C+, với những người mới bắt đầu muốn làm các bài tập cơ bản thì nên tìm hiểu trước về: int, long, float, double, char, string đồng thời về cách biểu diễn và khoảng của mỗi kiểu dữ liệu Việc tìm hiểu dữ liệu này sẽ giúp các bạn trong quá trình thực hiện dễ dàng hơn

3.Các câu lệnh nhập xuất và cấu trúc các câu lệnh điều khiển

Câu lệnh nhập xuất

Đối với ngôn ngữ C++ các bạn có thể thực hiện một các đơn giản đó là nhập

lệnh cin còn nếu xuất để sử dụng thì dùng lệnh cout

Trang 7

Câu lệnh rẽ nhánh

Đầu tiên bạn có thể sử dụng với lệnh if slse

Cách 2: Bạn có thể sử dụng swith case

Trang 8

4.Lập trình hàm

Trong quá trình viết các chương trình, nếu các thao tác được thực hiện một cách tuần

tự trong hàm main thì sẽ khó để theo dõi Khi viết chương trình, nếu như tất cả mọi thứ đều được viết tuần tự trong hàm main thì rất khó để theo dõi Do đó nếu một hàm được

sử dụng nhiều lần thì nên viết một hàm con ra ngoài Điều này sẽ giúp cho code của bạn trở nên gọn gàng và dễ theo dõi cũng như code đơn giản hơn

Trang 9

5.Xử lý các xâu trong C++

Với ngôn ngữ lập trình C++, các xâu sẽ được biểu diễn bởi kiểu dữ liệu là string Mỗi string là một xâu gồm các ký tự (được biểu diễn bằng kiểu char) nối tiếp nhau Khác với xâu trong C là một mảng các char và được kết thúc mảng bới ký tự NULL Thông thường các phép xử lý trong xâu sẽ khác so với các phép toán xử lý logic Việc sử dụngkiểu string trong C++ làm cho việc xử lý xâu trở nên dễ dàng hơn so với kiểu mảng các

ký tự char khác trong C Bạn có thể sử dụng cách nhập xâu cụ thể như sau:

Trang 10

Ch ươ ng II :Phân tích và thi t k ế ế

1.1Thêm Thông Tin Sinh

- Khi thêm thông tin sinh viên người dùng cũng có thể chọn nhập số sinh viêncần thêm vào danh sách

Hình Minh Họa

1.2 Sửa Thông Tin Sinh Viên

Thêm Thông Tin Sinh Viên

Nhập Tên Nhập Giới

Tính Nhập Tuổi

Nhập Điểm Toán Nhập Điểm Lý

Nhập Điểm Hóa

Trang 11

Nhập Điểm HóaNhập ID

Xóa Sinh Viên

Nhập ID Sinh Viên Cần Xóa Xóa Sinh Viên Có ID

Vừa Nhập Trong Danh Sách Hệ Thống

Trang 12

Hình Minh Họa

1.4 Tìm Kiếm sinh viên thêo tên

Trang 13

Hình Minh Họa

1.5 sắp xếp sinh viên theo điểm trung bình

- sắp xếp sinh viên theo điểm trung bình Được Sắp Xếp Theo Thứ

Tự Tăng Dần Từ thấp đến cao

Viên Theo Tên

Hiển Thị Danh Sách Tên Vừa Nhập gồm

Nhập Tên Cần Tìm

Trang 14

Hình Minh Họa

1.6 sắp xếp sinh viên theo tên

- Khi chọn sắp xếp sinh viên theo tên hệ thống sẽ sắp xếp thứ tự tên của sinh viên theo bảng chữ cái abc

Hình Minh Họa

1.7 Hi n Th Danh Sách Sinh Viên ể ị

-Hi n Th danh sách sinh viên là ch c năng sẽ giúp ngể ị ứ ườ ử ụi s d ng xem đượ ấ ảc t t c danh sách sinh viên đã l u trong h th ng bao g m đi m và h c l c c a sinh viên ư ệ ố ồ ể ọ ự ủ

1.8 L u danh sách sinh viên ư

-Ch c năng L u danh sách sinh viên giúp ngứ ư ười dùng l u t t c sinh viên mình v a ư ấ ả ừ

nh p vào m t file tên là sinhvien.txt do đó nó sẽ l u ch t t c d li u đ tránh b ậ ộ ư ữ ấ ả ữ ệ ể ị

m tấ

2 Phân Tích

Chúng ta sẽ t o m t c u trúc sinh viên nh sau,ạ ộ ấ ư :diemTB:sẽ được tính b ng trung bình c aằ ủcác môn toán, lý và hóa.:hocluc:sẽ được tính toán d a vàoự :diemTB:nh yêu c u c a bàiư ầ ủtoán

struct SinhVien {

int id;

char ten[30];

Trang 15

void nhapThongTinSV(SV &sv, int id);

void capNhatThongTinSV(SV &sv);

void tinhDTB(SV &sv);

void xeploai(SV &sv);

Hàm idLonNhat(SV a[], int n)

Yêu c u c a bài toán là id c a sinh viên t đ ng tăng.ầ ủ ủ ự ộ

ạ ể ấ ớ ấ ủ

Trang 16

Tham s :ố

 a[]: là danh sách sinh viên

 n: là s lố ượng sinh viên có trong danh sách

Hàm nh p thông tin sinh viênậ

Hàm này đượ ử ục s d ng đ thêm m i sinh viên vào danh sách sinh viên V i hàm này chúng taể ớ ớ

sẽ tách ra thành 2 hàm sau:

 void nhapThongTinSV(SV &sv, int id)

 void nhapSV(SV a[], int id, int n)

Tham s :ố

 &sv: nh p thông tin sinh viên sv S d ng tham chi u &, t c là thông tin sẽ đậ ử ụ ế ứ ược thay

đ i c bên trong và bên ngoài hàm.ổ ả

 a[]: là danh sách sinh viên

 id: là id (t đ ng tăng) c a sinh viên.ự ộ ủ

 n: là s lố ượng sinh viên có trong danh sách

Thân hàm nhapThongTinSV():

void nhapThongTinSV(SV &sv, int id) {

cout << "\n Nhap ten: "; fflush(stdin); gets(sv.ten);

cout << " Nhap gioi tinh: "; gets(sv.gioiTinh);

cout << " Nhap tuoi: "; cin >> sv.tuoi;

cout << " Nhap diem Toan: "; cin >> sv.diemToan;

cout << " Nhap diem Ly: "; cin >> sv.diemLy;

cout << " Nhap diem Hoa: "; cin >> sv.diemHoa;

Trang 17

Hàm c p nh t thông tin sinh viênậ ậ

Hàm này đượ ử ục s d ng đ c p nh t thông tin sinh viên theo ID V i hàm này chúng ta sẽ táchể ậ ậ ớ

ra thành 2 hàm sau:

 void capNhatThongTinSV(SV &sv)

 void capNhatSV(SV a[], int id, int n)

Tham s :ố

 &sv: nh p thông tin sinh viên sv S d ng tham chi u &, t c là thông tin sẽ đậ ử ụ ế ứ ược thay

đ i c bên trong và bên ngoài hàm.ổ ả

 a[]: là danh sách sinh viên

 id: là id (t đ ng tăng) c a sinh viên.ự ộ ủ

 n: là s lố ượng sinh viên có trong danh sách

Thân hàm capNhatThongTinSV():

void capNhatThongTinSV(SV &sv) {

cout << "\n Nhap ten: "; fflush(stdin); gets(sv.ten);

cout << " Nhap gioi tinh: "; gets(sv.gioiTinh);

cout << " Nhap tuoi: "; cin >> sv.tuoi;

cout << " Nhap diem Toan: "; cin >> sv.diemToan;

cout << " Nhap diem Ly: "; cin >> sv.diemLy;

cout << " Nhap diem Hoa: "; cin >> sv.diemHoa;

Hàm xóa sinh viên theo ID

Hàm này đượ ử ục s d ng đ xóa sinh viên kh i danh sách theo ID Tình sinh viên có ID đã choể ỏtrong danh sách, n u t n t i thì th c hi n xóa sinh viên.ế ồ ạ ự ệ

Trang 18

 id: là id c a sinh viên sẽ b xóa.ủ ị

 n: là s lố ượng sinh viên có trong danh sách

Hàm tìm ki m sinh viên theo tênế

Hàm này đượ ử ục s d ng đ tìm ki m sinh viên trong danh sách theo tên Không phân bi t chể ế ệ ữhoa, ch thữ ường

Tham s :ố

 a[]: là danh sách sinh viên

 ten[]: là t khóa đ so sánh v i tên sinh viên.ừ ể ớ

 n: là s lố ượng sinh viên có trong danh sách

Trang 19

void tinhDTB(SV &sv) {

sv.diemTB = (sv.diemToan + sv.diemLy + sv.diemHoa) / 3;

}

Thân hàm xeploai():

void xeploai(SV &sv) {

if(sv.diemTB >= 8) strcpy(sv.hocluc, "Gioi");

else if(sv.diemTB >= 6.5) strcpy(sv.hocluc, "Kha");

else if(sv.diemTB >= 5) strcpy(sv.hocluc, "Trung binh");

else strcpy(sv.hocluc, "Yeu");

}

Hàm s p x p danh sách sinh viên theo đi m trung bìnhắ ế ể

Hàm này đượ ử ục s d ng đ s p x p sinh viên theo đi m trung bình theo th t tăng d n.ể ắ ế ể ứ ự ầTham s :ố

 a[]: là danh sách sinh viên

 n: là s lố ượng sinh viên có trong danh sách

Thân hàm sapxepTheoDTB():

//Sap xep theo DTB tang dan

Hàm s p x p danh sách sinh viên theo tênắ ế

Hàm này đượ ử ục s d ng đ s p x p sinh viên theo tên theo th t tăng d n và không phân bi tể ắ ế ứ ự ầ ệ

ch hoa, ch thữ ữ ường

Tham s :ố

 a[]: là danh sách sinh viên

 n: là s lố ượng sinh viên có trong danh sách

Thân hàm sapXepTheoTen():

//Sap xep sinh vien theo ten theo thu tu tang dan

SV tmp;

char tenSV1[30];

Trang 20

for(int i = 0;i < n; i++) {

Hàm hi n th danh sách sinh viên ra màn hìnhệ ị

Hàm này đượ ử ục s d ng đ hi n th danh sách sinh viên ra màn hình.ể ệ ị

Tham s :ố

 a[]: là danh sách sinh viên

 n: là s lố ượng sinh viên có trong danh sách

Hàm đ c danh sách sinh viên t fileọ ừ

Hàm này đượ ử ục s d ng đ đ c danh sách sinh viên t file.ể ọ ừ

Tham s :ố

 a[]: là danh sách sinh viên sẽ đượ ọc đ c ra t file.ừ

 fileName[]: là tên c a file l u tr danh sách sinh viên.ủ ư ữ

Giá tr tr v c a hàm là s lị ả ề ủ ố ượng sinh viên có trong file và danh sách sinh viên

Trang 21

int docFile(SV a[], char fileName[]) {

FILE * fp;

int i = 0;

fp = fopen (fileName, "r");

cout << "Chuan bi doc file: "; puts(fileName);

// doc thong tin sinh vien

while (fscanf(fp, "%5d%30s%5s%5d%10f%10f%10f%10f%10s\n", &a[i].id,

Hàm ghi danh sách sinh viên t fileừ

Hàm này đượ ử ục s d ng đ đ c danh sách sinh viên t file.ể ọ ừ

Tham s :ố

 a[]: là danh sách sinh viên sẽ được ghi vào file

 n: là s lố ượng sinh viên

 fileName[]: là tên c a file l u tr danh sách sinh viên.ủ ư ữ

Giá tr tr v c a hàm là s lị ả ề ủ ố ượng sinh viên có trong file và danh sách sinh viên

a[i].tuoi, a[i].diemToan, a[i].diemLy, a[i].diemHoa,

a[i].diemTB, a[i].hocluc);

}

fclose (fp);

}

Hàm main c a chủ ương trình qu n lý sinh vien trong C++ả

Hàm main c a chúng ta đủ ượ ử ục s d ng đ kh i t o menu và đi u khi n chể ở ạ ề ể ương trình qu n lýảsinh viên

Gi i thích ý nghĩa c a các bi n:ả ủ ế

 key: là giá tr b n nh p đ ch n tùy ch n trong menu.ị ạ ậ ể ọ ọ

ủ ư ữ

Trang 22

 arraySV[]: l u tr m t m ng các struct sinh viên.ư ữ ộ ả

 soluongSV: s lố ượng sinh viên hi n t i c a m ng arraySV.ệ ạ ủ ả

 idCount: là bi n đ m id t đ ng tăng c a sinh viên.ế ế ự ộ ủ

Khi kh i t o chở ạ ương trình chúng ta sẽ đ c danh sách sinh viên có s n trong fileọ ẵ :sinhvien.txt,

đ ng th i l y ra đồ ờ ấ ượ ố ược s l ng sinh viên và id l n nh t hi n t i c a danh sách sinh viên.ớ ấ ệ ạ ủ

1-Giao Di n Và Cách s d ng ệ ử ụ

Khi Ch y ch ạ ươ ng Trình Ta sẽ có giao di n nh sau: ệ ư

Trong giao di n ta sẽ có s l ệ ố ượ ng sinh viên có trong danh sách h th ng ệ ố

Trang 23

ti p t c và quay l i giao di n đ ch n các ch c năng khác , khi ta mu n ế ụ ạ ệ ể ọ ứ ố thoát ch ươ ng trình ch c n nh n phím 0 ỉ ầ ấ

Các ch c năng tứ ương ng có th xem dõ h n chứ ể ơ ở ương II

Ngày đăng: 16/07/2024, 17:14

HÌNH ẢNH LIÊN QUAN

Bảng dưới đây thống kê phạm vi lưu trữ cũng như bộ nhớ tiêu tốn  của các kiểu dữ liệu dạng số trong C++ kèm theo modifier - Phân Tích Và Thiết Kế Các Chức Năng Của Chương Trình Quản Lý Sinh Viên.pdf
Bảng d ưới đây thống kê phạm vi lưu trữ cũng như bộ nhớ tiêu tốn của các kiểu dữ liệu dạng số trong C++ kèm theo modifier (Trang 4)
Hình Minh Họa - Phân Tích Và Thiết Kế Các Chức Năng Của Chương Trình Quản Lý Sinh Viên.pdf
nh Minh Họa (Trang 10)
Hình Minh Họa - Phân Tích Và Thiết Kế Các Chức Năng Của Chương Trình Quản Lý Sinh Viên.pdf
nh Minh Họa (Trang 11)
Hình Minh Họa - Phân Tích Và Thiết Kế Các Chức Năng Của Chương Trình Quản Lý Sinh Viên.pdf
nh Minh Họa (Trang 12)
Hình Minh Họa - Phân Tích Và Thiết Kế Các Chức Năng Của Chương Trình Quản Lý Sinh Viên.pdf
nh Minh Họa (Trang 13)
Hình Minh Họa - Phân Tích Và Thiết Kế Các Chức Năng Của Chương Trình Quản Lý Sinh Viên.pdf
nh Minh Họa (Trang 14)
Hình Minh Họa - Phân Tích Và Thiết Kế Các Chức Năng Của Chương Trình Quản Lý Sinh Viên.pdf
nh Minh Họa (Trang 14)

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w