Quản lý điểm sinh viên Với số lượng lớn sinh viên với sinh viên lại có số lượng mơn học số lượng điểm thành phần cho môn học lớn, nhu cầu quản lý điểm sinh viên trường Đại học đặt ra, từ xuất chương trình Quản lý điểm sinh viên Đối tượng sử dụng chương trình : sinh viên, giáo viên, sử dụng để xem thông tin quản lý điểm , thông tin từngsinh viên Ý nghĩa thực tế chương trình : Giúp hệ thống thông tin cá nhân, điểm thành phần, điểm rèn luyện sinh viên, dễ kiểm soát điểm cách dễ dàng, thao tác liệu dễ dàng thuận tiện II Ý TƯỞNG THIẾT KẾ CHƯƠNG TRÌNH : Mơ tả nghiệp vụ : Chương trình quản lý điểm sinh viên cung cấp cho người dùng lựa chọn khác cho đối tượng sử dụng có mối liên hệ chặt chẽ chức chương trình Các chức chương trình : quyền sinh viên, quyền giáo viên, quyền giáo vụ Các chức năng,lựa chọn chương trình : Quyền sinh viên : Dùng MSSV riêng để xem thơng tin điểm thành phần môn ( điểm kỳ, tập lớn, cuối kì, điểm trung bình) có đạt chuẩn đầu mơn hay khơng; điểm rèn luyện; có khả nhận học bổng hay khơng, tương úng với lớp mà sinh viên học Xuất thông tin điểm sinh viên sau sinh viên nhập MSSV , gồm điểm nhiều mơn khác , mơn có nhiều điểm thành phần : kì, tập lớn, cuối kì; điểm trung bình mơn học, Quyền giáo vụ : Tạo danh sách lớp, thêm sinh viên vào danh sách
Trang 1Đề tài : QUẢN LÝ ĐIỂM SINH VIÊN
Trang 22
PHÂN CÔNG CÔNG VIỆC
(% đóng góp của mỗi thành viên )
Đề xuất ý tưởng thiết kế chương trình
Nguyễn Hoài Sơn 1512840 30% Viết giaovien.c, giaovien.h
Trang 33
MỤC LỤC Trang
I GIỚI THIỆU ĐỀ TÀI : ……… 4
II Ý TƯỞNG THIẾT KẾ CHƯƠNG TRÌNH : ……… 4
1 Mô tả nghiệp vụ : ……… 4
2 Ý tưởng thiết kế : ……… 5
III TỔ CHỨC CHƯƠNG TRÌNH : ………6
Project sẽ có các file : 1 main.c :……….6
2 giaovu.c :……… 6
3 useforgiaovu.c :………8
4 quyengiaovu.c :………9
5 giaovien.c :……… 9
6 sinhvien.c :………9
7 giaovu.h :……….10
8 giaovien.h :……… 10
9 sinhvien.h :……… 10
IV HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH :………10
V KẾT QUẢ CHẠY CHƯƠNG TRÌNH :……….11
1 Giao diện Menu chính :……… 11
2 Mục 3 : Giáo vụ :……….11
3 Mục 2 : Giáo viên :……… 22
4 Mục 1 : Sinh viên :……… 25
VI PHẦN TÂM ĐẮC NHẤT :……… 26
VII KẾT LUẬN :……….27
VIII PHẦN THU LẠI ĐƯỢC :………28
IX TÀI LIỆU THAM KHẢO :……… 28
Trang 44
Đề tài : QUẢN LÝ ĐIỂM SINH VIÊN
I GIỚI THIỆU ĐỀ TÀI :
Đề tài : Quản lý điểm sinh viên
Với một số lượng lớn sinh viên cùng với đó mỗi sinh viên lại có số lượng môn học
và số lượng điểm thành phần cho từng môn học cũng rất lớn, nhu cầu quản lý điểm sinh viên trong các trường Đại học được đặt ra, từ đó xuất hiện các chương trình
Quản lý điểm sinh viên
Đối tượng sử dụng trong chương trình : sinh viên, giáo viên, sử dụng để xem thông tin và quản lý điểm , thông tin của từngsinh viên
Ý nghĩa thực tế của chương trình : Giúp hệ thống thông tin cá nhân, điểm thành phần, điểm rèn luyện của từng sinh viên, dễ kiểm soát điểm một cách dễ dàng, và thao tác trên dữ liệu dễ dàng và thuận tiện hơn
II Ý TƯỞNG THIẾT KẾ CHƯƠNG TRÌNH :
1 Mô tả nghiệp vụ :
Chương trình quản lý điểm sinh viên cung cấp cho người dùng các lựa chọn khác nhau cho từng đối tượng sử dụng nhưng có mối liên hệ chặt chẽ giữa các chức năng của chương trình Các chức năng của chương trình : quyền sinh viên, quyền giáo viên, quyền giáo vụ
Các chức năng,lựa chọn trong chương trình :
Quyền sinh viên :
Dùng MSSV riêng của mình để xem thông tin về điểm thành phần của từng môn ( điểm giữa kỳ, bài tập lớn, cuối kì, điểm trung bình) có đạt chuẩn đầu ra của môn hay không; điểm rèn luyện; có khả năng nhận học bổng hay không, tương úng với lớp mà sinh viên đang học
Xuất ra thông tin điểm của mỗi sinh viên sau khi sinh viên đó nhập MSSV của mình , gồm điểm nhiều môn khác nhau , mỗi môn có nhiều điểm thành phần : giữa kì, bài tập lớn, cuối kì; điểm trung bình môn học,
Quyền giáo vụ :
Tạo danh sách lớp, thêm sinh viên mới vào danh sách ( không trùng với sinh viên đã có sẵn trước đó), sửa tên sinh viên đã có, xóa tên sinh viên ra khỏi danh sách của lớp tương ứng, xem toàn bộ danh sách sinh viên của một lớp,
Tính toán điểm rèn luyện của sinh viên cho từng lớp tương ứng bao gồm : nhập điểm rèn luyện cho từng sinh viên, sửa điểm rèn luyện, xem điểm rèn luyện, điểm trung bình học kì, trung bình của tất cả sinh viên trong cùng một lớp,
Quyền giáo viên :
Trang 55
Nhập điểm cho từng sinh viên tương ứng với mỗi lớp, mỗi sinh viên sẽ được nhập điểm của nhiều môn học khác nhau, tương ứng với mỗi môn học sẽ có các điểm thành phần : giữa kì, bài tập lớn, cuối kì, sẽ có hàm tính điểm trung bình cho từng sinh viên,
Sửa điểm cho từng sinh viên, in danh sách tên sinh cùng với điểm sau khi
đã sửa,
2 Ý tưởng thiết kế
a Tạo các biến toàn cục thuộc kiểu cấu trúc:
struct sv{
unsigned int stt;// số thứ tự sinh viên
unsigned int mssv;// mã số sinh viên
char ten[size];//tên sinh viên
char lop[size];// lớp sinh viên
unsigned int dr;// điểm rèn luyện của sinh viên
float tbhk;// điểm trung bình học kì của sinh viên
float tb;// điểm trung bình (80%tbhk+2%drl)
int check;//ghi chú kết quả của sinh viên sau mỗi học kì
+ check = 0// không có ghi chú
int a,b;//a là số thứ tự môn, b là số thứ tự sinh viên
char tenmon[size];// tên môn học
int sotinchi;// số tín chỉ
float gk;//điểm giữa kì
float btl;//điểm bài tập lớn
float ck;//điểm cuối kì
Trang 66
float tbm;//điểm trung bình môn học = 30%gk+30%btl+40%ck };
b Tạo các file ghi và xuất dữ liệu tương ứng
sinhvien.dat, sinhvien1.dat// ghi và xuất dữ liệu vào struct sv
diem.dat, diem1.dat//ghi và xuất dữ liệu vào struct mon
mon.dat, mon.dat//ghi và xuất dữ liệu vào struct monhoc
temp.dat // chép dữ liệu tạm ra ngoài, hỗ trợ hàm delname1, delnme2
Các file trên hoàn toàn độc lập với nhau, để liên kết dữ liệu của chúng, thêm các biến số thứ tự (được tô màu xanh lá) vào các biến struct, trong đó sv.stt đồng thời là mon.b, mon.a đồng thời là monhoc.a (do cùng cách qui ước)
Các biến này giúp giải quyết hầu hết các vấn đề của quá trình quản lý, vd:
Nhập MSSV, tìm điểm của sinh viên đó: trong khi tìm MSSV trong file sinhvien.dat, ta tìm được sv.stt = n; tìm kiếm mon.b == n trong file diem.dat
ta tìm được các điểm số tương ứng
Xuất bảng thống kê điểm của 1 môn học của tất cả sinh viên: từ số thứ tự môn học monhoc.a = n trong file mon.dat, tìm kiếm mon.a == n trong file diem.dat
ta tìm được các điểm số tương ứng và giá trị mon.b == m, tìm kiếm sv.stt ==
m ta tìm được sinh viên tương ứng với từng điểm số vừa tìm đươc
c Các file gốc hỗ trợ chương trình
mssv, mssv1: chứa mssv của CK15KSCD & CK15KSCK
ten, ten1: chứa tên của CK15KSCD & CK15KSCK
lop, lop1: chứa lớp của CK15KSCD & CK15KSCK
III TỔ CHỨC CHƯƠNG TRÌNH :
Project sẽ có các file :
1 main.c: chương trình chính
2 giaovu.c: chứa các hàm con xử lý các chức năng của quyền giáo vụ :
a void resetsv(FILE *fptr,FILE *id,FILE *name,FILE *lop,int n): hàm tạo file
sinhvien.dat chứa tên, lớp, mssv, điểm RL, điểm TBHK, điểm TB, số thứ tự, của
biến struct sv, trong đó cho các biến: gk, btl, ck, check bằng 0
fptr: ghi dữ liệu file sinhvien.dat chế độ “wb”
id: xuất dữ liệu từ file mssv ra sv.mssv chế độ “r”
name: xuất dữ liệu từ file ten ra sv.ten chế độ “r”
lop: xuất dữ liệu từ file lop ra sv.lop chế độ “r”
n: tổng số sinh viên trong lớp
* Ý tường tạo hàm: giúp rút ngắn quá trình nhập thông tin sinh viên bằng cách tạo trước 3 file chứa tên, mssv, lớp từ danh sách lớp có sẳn và ghi vào file
sinhvien.dat thông qua struct sv
Trang 77
b void nhapsv(FILE *fptr,char s[],unsigned int x,unsigned int z): hàm thêm sinh
viên vào file sinhvien, đồng thời cũng tạo ra các điểm ban đầu có giá trị 0
fptr: ghi dữ liệu vào sinhvien.dat chế độ “ab”
s: tên lớp sinh viên được thêm vào
x: tổng số sinh viên lớp hiên có
z: mssv của sinh viên cuối danh sách lớp (mặc định là sinh viên có mssv cao nhất)
*Ý tưởng tạo hàm: dùng n(đồng thời là số thứ tự của sinh viên cuối danh sách)
để đánh số thứ tự cho các sinh viên được thêm vào bằng vòng lặp for, kết hợp tạo
tự động mssv cho sinh viên mới bằng cách cộng 1 vào mssv trước đó
c void xemsv(FILE *fptr) :hàm xuất danh sách lớp gồm số thứ tụ, tên và MSSV
fptr: xuất dữ liệu từ file sinhvien.dat chế độ “rb”
d void xemdiemsv(FILE *fptr) :hàm xuất tất cả các thông tin sinh viên trong struct
sv{} , cho biết tình trạng sinh viên (có học bổng, bị dừng học kì kế tiếp) thông qua
sv.check
fptr: xuất dữ liệu từ file sinhvien.dat chế độ “rb”
e void modifyname(FILE *fptr) : hàm thay đổi tên sinh viên
fptr: xuất và ghi dữ liệu vào file sinhvien.dat chế độ “rb+”
*Ý tưởng tạo hàm: hàm yêu cầu nhập mssv, từ đó tìm kiếm thông tin sinh viên
tương ứng, dùng sv.stt để xác định vị trí sinh viên cần thay đổi tên và ghi lại vào file sinhvien.dat
f int delname1(FILE *fptr) và void delname2(FILE *fptr) : kết hợp 2 hàm để xóa
tên sinh viên khỏi danh sách, số thứ tự sinh viên cũng được dồn lên vào vị trí sinh viên đã bị xóa
delname1: fptr xuất dữ liệu từ file sinhvien.dat chế độ “rb”
delname2:fptr ghi dữ liệu vào file sinhvien.dat chế độ “wb”
*Ý tưởng tạo hàm:
delname1: mở file temp.dat chế độ “wb” ghi dữ liệu vào đó từ file
sinhvien.dat (trừ dữ liệu của sinh viên bị xóa), đặt lại số thứ tự cho các sinh
viên, xác định sinh viên cần xóa bằng cách yêu cầu nhập mssv, trả về 1 nếu tìm thấy sinh viên cần xóa, trả về 0 nếu không tìm thấy
delname 2: kết hợp với delname1 bằng lệnh if, thực hiện nếu delname1 trả
vế 1, mở file temp.dat chế độ “rb” chép dữ liệu từ đây vào sinhvien.dat
g void nhaprl(FILE *fptr) : hàm nhập điểm rèn luyện cho tất cả sinh viện trong một
lớp
fptr: mở file sinhvien.dat chế độ “rb+”
*Ý tưởng tạo hàm: dùng fread đọc hàm kết hợp vòng lặp while, để trỏ từ đầu tới
cuối file, dùng sv.stt để xác định vị trí chép điểm rèn luyện vào cho sinh viên
Trang 8i void xemrl(FILE *svien) : hàm xuất số thứ tự, tện, lớp và điểm rèn luện của các
sinh viên trong lớp
fptr: xuất dữ liệu từ file sinhvien.dat chế độ “rb”
j void caltb(FILE *svien,FILE *diem) : hàm tính điểm trung bình học kì và điểm
trung bình của tất cả sinh viên
svien: gọi file sinhvien.dat chế độ “rb+”
diem: gọi file diem.dat chế độ “rb”
*Ý tưởng tạo hàm: đọc svien trong vòng lặp while1, đọc diem trong while2 (lồng trong while 1), while1 xuất lần lượt số thứ tự (sv.stt) while2 tìm các giá trị
mon.b == sv.stt (tương ứng từng sinhvien), và tính toán sv.tbhk, sv.tb, sv.check
theo công thức cho trước và ghi lại vào sinhvien.dat (dùng sv.stt để xác định vị
trí cần ghi)
k void resetdiem(FILE *di,FILE *mo,int n): yêu cầu nhập số môn, số tín chỉ, tên
môn và tạo ra các điểm thành phần của từng môn của từng sinh viên bằng 0
di: gọi file diem.dat chế độ “wb”
mo: goi file mon.dat chế độ “wb”
*Ý tưởng tạo hàm: dùng 2 vòng lặp for trong đó vòng lặp ngoài yêu cầu nhập tên môn, đồng tời đánh số thứ tự cho từng môn (mon.a) với giá trị tăng dần, vòng lặp trong yêu cầu nhập điểm thành phần (diểm từng môn của mỗi sinh viên) đánh số thứ tự tăng dần (mon.b) cho mỗi lần lặp, cách gán giá trị này tương
tự mảng 2 chiều: mỗi nhóm điểm thành phần có mon.a và mon.b khác nhau đại diện cho
3 useforgiaovu.c:chứa các hàm hỗ trợ cho việc nhập xuất dữ liệu được tốt hơn trong quyền giáo vụ:
a chuanhoaten(char s[size]): hàm chuẩn hóa tên, bao gồn xóa dấu cách dư, in hoa
chữ đầu và viết thường các chữ còn lại.Ý tưởng: kết hợp hàm chuẩn hóa chuổi đã
học với tolower, toupper trong thư viên ctype.h
b xoakt(char s[size],int i): hàm xóa kí tự s[i] trong chuỗi s dùng kết hợp với hàm
chuanhoaten
c chon() : hàm tạo menu lựa chọn giữa 2 lớp: CK15KSCD và CK15KSCK
( 2 file danh sách lớp đã được tạo từ việc nhập thông tin của quyền giáo vụ )
d chonmon(FILE *mo): in ra danh sách các môn học (đã được tạo ra từ hàm
resetdiem ), gọi file mon.dat chế độ “rb”
Trang 99
e unsigned int tong(FILE *fptr) : hàm trả về tồng số sinh viên trong một lớp (tìm
số thứ tự của sinh viên cuối danh sách), gọi file sinhvien.dat chế độ “rb”
f unsigned int mssv(FILE *fptr) : hàm trả về MSSV cao nhất lớp (mặc định là sinh
viên xếp cuối danh sách), gọi file sinhvien.dat chế độ “rb”
4 quyengiaovu.c:
a void giaovumodifysv(): hàm chứa các case thực hiện quyền giáo vụ thay đổi
thông tin sinh viên
b void giaovumodifydiem(): hàm chứa các case thực hiện quyền giáo vụ về điểm
sinh viên
c void quyengiaovu(): hàm chứa 2 case gọi ra hàm giaovumodifysv() và
giaovumodifydiem()
5 giaovien.c: chứa các hàm xử lý các chức năng của quyền giáo viên :
a void nhapdiem(FILE *fptr,FILE *f,const int n,const int k):nhập điểm cho tất
cả sinh viên của lớp, mỗi khi nhập xong 1 cột điểm sẽ có lựa chọn tiếp tục nhập hoặc dừng lại
fptr: gọi file sinhvien.dat “rb”
di: hàm gọi file diem.dat “rb+”
n: là monhoc.a (số thứ tự môn học)
k: tổng số sinh viên của lớp
*Ý tưởng tạo hàm: tương tự hàm nhaprl, trong đó gọi k để kết hợp cùng với mon.a và mon.b để xác đinh vị trí ghi dữ liệu vào diem.dat, mỗi khi nhập vào một cột điểm thành phần thì cũng tính lại điểm trung bình môn và ghi vào diem.dat
b void modifydiem(FILE *fptr,FILE *f,const int n); sửa điểm cho 1 sinh viên
fptr: gọi file sinhvien.dat “rb”
di: hàm gọi file diem.dat “rb+”
n: là monhoc.a (số thứ tự môn học)
k: tổng số sinh viên của lớp
*Ý tưởng tạo hàm: tương tự hàm void nhapdiem nhưng yêu cầu nhập mssv của sinh viên cần thay đổi điểm, dùng sv.stt truy xuất được từ sinhvien.dat kết hợp
mon.a để tìm đúng điểm của môn học của sinh viên cần sửa, kế hợp thêm k để
xác định vị trí cần ghi vào file diem.dat
c void thongkediem(FILE *svien,FILE *diem,int n); xuất bảng thống kê điểm
của lớp của môn học
fptr: gọi file sinhvien.dat “rb”
diem: gọi file diem.dat “rb”
d void quyengiaovien(int n) : gọi ra các case thực hiện các quyền của giáo viên
n: số thứ tự môn học
6 sinhvien.c : chứa các hàm xử lý các chức năng của quyền sinh viên :
Trang 1010
a void loaderanim(): hàm tăng tính nghệ thuật cho chương trình, thể hiện như
máy đang kiểm tra mật khẩu
b int findname(FILE *fptr,FILE *di): xuất thông tin sinh viên, tất cả các cột
điểm thành phần, tình trạng sinh viên ( được học bổng hay bị dừng học kì kế tiếp)
fptr: gọi file sinhvien.dat “rb”
di: gọi file diem.dat ”rb”
c void SV(): hàm gọi các case chứa quyền của sinh viên
7 giaovu.h : chứa tên các hàm của quyền giáo vụ đã có trong giaovu.c, useforgiaovu.c, quyengiaovu.c
8 giaovien.h: chứa tên các hàm của quyền giáo viên đã có trong giaovien.c
9 sinhvien.h: chứa tên các hàm của quyền giáo vụ đã có trong sinhvien.c
Ghi chú : #define size 100
Chương trình được viết mô phỏng lại hệ thống MyBK, theo đó có 3 đối tượng sử dụng
là giáo viên, sinh viên và phòng giáo vụ, tuy nhiên chương trình này hiện tại chỉ được
sử dụng bởi 1 cá nhân duy nhất nên nếu lần đầu đăng nhập vào hệ thống cần tuân theo các bước sau để đảm bảo hệ thống phát huy được hết các tính năng và rút ngắn thời gian nhập dữ liệu:
1 Ở cửa sồ “HE THONG QUAN LY ĐIEM SINH VIEN” nhập 3( giaovu)
2 Ở cửa sổ “QUYEN GIAO VU” nhập 1(thay doi thong tin sinh vien), nhập tiếp 1(reset danh sach lop), nhập tiếp 1(CO), lần lượt reset cả 2 lớp CK15KSCD và CK15KSCK
3 Sau khi thoát khỏi “reset danh sach lop”, có thể chọn các lựa chọn còn lại hoặc không tùy theo nhu cầu
4 Exit khỏi “QUYEN GIAO VU” và trở về cửa sổ “QUYEN GIAO VU” đầu tiên, nhập 2(thay doi diem sinh vien)-> nhập 1(tao bang diem)->nhập 1(CO)->tạo bảng điểm cho cả 2 lớp(nhập số môn và số tín chỉ) bảng điểm giống hệt nhau (hoặc ít nhất cũng có cùng số môn)
5 Trở về cửa sồ “HE THONG QUAN LY ĐIEM SINH VIEN”, chọn 2(giao vien), chọn môn học muốn nhập điểm->nhập 1(nhap diem) hoặc 2(nhap mssv ) để nhập điểm cho sinh viên (có thể nhập điểm cho tất cả hoặc chỉ cho 1 sinh viên), lựa chọn thứ 3(thong ke bang diem) có thể được chọn hặc không tùy theo nhu cầu
6 Trở về cửa sồ “HE THONG QUAN LY ĐIEM SINH VIEN”, chọn 3(giao vu), chon 2(thay doi diem sinh vien), chọn tiếp 2(nhap diem ren luyen) hoặc 3(sửa điểm rèn luyện) để nhập điểm rèn luyện cho sinh viên
7 Đến đây có thể thực hiện tất cả các chức năng còn lại mà không gặp trở ngại gì
Nguyên nhân vì sao phải tuân thủ các bước trên:
1 Reset danh sách sinh viên buộc phải thực hiện đầu tiên vì nó tạo ra danh sách sinh viên phục vụ các lựa chọn sau Các lựa chọn còn lại như thêm sinh viên, xóa sinh viên, nếu được thực hiện cũng phải thực hiện ngay sau bước reset vì chúng làm
Trang 113 Nhập hoặc sửa bảng điểm rèn luyện, phải thực hiện sau khi việc nhập điểm của giáo viên đã hoàn thành, vì nó bao hàm luôn cả hàm tính điểm trung bình của sinh viên
Nhận xét: Các bước trên không phải hạn chế của hệ thống mà thực tế quá trình quản
lý điểm là như vậy:
1 Đầu học kì, phòng giáo vụ tạo danh sách lớp (reset danh sach lop)
2 Trong thởi gian học, nếu có thay đổi thông tin sinh viên, phòng giáo vụ sẽ cập nhật lại danh sách (
3 Phòng giáo vụ tạo bảng điểm khi đã biết được số sinh viên và số môn học (tạo bảng điểm)
4 Cuối học kì(khi bảng điểm đã dược tạo và không có thay đổi gì nữa), các giáo viên đăng nhập vào hệ thống để nhập điểm cho môn học của mình
5 Sau khi các giáo viên hoàn tất nhập điểm, phòng giáo vụ sẽ nhập điểm rèn luyện, đồng thời tính điểm TBHK, TB cho sinh viên
6 Bây giờ các sinh viên có thể xem điểm của mình 1 cách chính xác nhất
1) Giao diện Menu chương trình :
2) Mục 3 : Giáo vụ : ( giáo vụ có chức năng quản lý các chức năng về truy cập thông
tin của sinh viên và giáo viên )
Mục này có các chức năng :
Trang 1212
Thay đổi thông tin sinh viên
Thay đổi điểm sinh viên
Thêm sinh viên vào danh sách
Update ten sinh vien
Xóa sinh viên khỏi danh sách
Xem danh sách lớp
Exit
2.1.1) Mục : Reset danh sách lớp :
Trang 13 Sau khi chọn “CÓ” sẽ có các lựa chọn để reset danh sách lớp :
Lớp CK15KSCD
Lớp CK15KSCK
Exit
Danh sách lớp CK15KSCD , CK15KSCK sau khi reset :
2.1.2 ) Mục : Thêm sinh viên vào danh sách :
Trang 1414
Cũng có 2 lớp để lựa chọn, giả sử chọn lớp CK15KSCD
Nhập vào số sinh thêm : giả sử chọn số lượng là 2 sinh viên
Nhập tên 2 sinh viên mới cần thêm : ví dụ Nguyễn Minh, Phạm Hương ( có thể nhập không đúng theo qui tắc đặt tên trong tiếng việt hoặc có nhiều dấu cách ) chương trình vẫn có thể tự động chuẩn hóa theo qui tắc đặt tên và bỏ đi những dấu cách thứa
Danh sách lớp CK15KSCD sau khi thêm 2 sinh viên mới ( sau khi đã chuẩn hóa tên )
2.1.3 ) Mục : Update ten sinh vien :
Sửa tên sinh viên đã có trong danh sách của một trong 2 lớp CK15KSCD, CK15KSCK
Cũng có 2 lớp để lựa chọn, giả sử chọn lớp CK15KSCD