thực hành lập trình hướng đối tượng đề tài quản lý sinh viên

35 0 0
Tài liệu đã được kiểm tra trùng lặp
thực hành lập trình hướng đối tượng đề tài quản lý sinh viên

Đ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

I:PHÂN TÍCH CHỨC NĂNG1.Mô tả hệ thốnga.Giới thiệu Trong bài này,chúng 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++b.Các lớp đối tượng* Lớp SinhVien-Mô t

Trang 1

Lớp : DHTI15A2HN

Trang 2

- Lựa chọn 1:Nhập xuất sinh viên 7

- Lựa chọn 2:Thêm một sinh viên vào vị trí k 8

- Lựa chọn 3:Xóa một sinh viên theo mã sinh viên 10

- Lựa chọn 4:Sắp xếp theo thứ tự giảm dần của điểm trung bình 11

- Lựa chọn 5:Sắp xếp theo thứ tự giảm dần của tuổi 13

- Lựa chọn 6:Tìm sinh viên có tuổi lớn hơn 20 15

- Lựa chọn 7:Tìm sinh viên có tuổi lớn nhất 16

- Lựa chọn 8:Tìm sinh viên theo mã sinh viên 17

IV.LẬP TRÌNH 19

4.Bài Code Hoàn Chỉnh 34

Trang 3

I:PHÂN TÍCH CHỨC NĂNG1.Mô tả hệ thống

a.Giới thiệu

Trong bài này,chúng 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++

b.Các lớp đối tượng* Lớp SinhVien

-Mô tả: các thuộc tính mã, tên, ngày, tháng, năm sinh

-Mô tả:Lớp DiemSo kế thừa từ lớp SinhVien và bổ sung thêm các thuộc tính điểm

toán, điểm kinh tế chính trị, điểm cơ sở dữ liệu

-Phương thức: + Hàm khởi tạo

+ Hàm hủy + Hàm toán tử nhập + Hàm tính điểm trung bình + Hàm tính tuổi

+ Hàm tính sinh viên nào có điểm trung bình >= 8 thì xếp loại giỏi, điểm trung bình >=5 và < 8 thì xếp loại khá, còn lại thì xếp loại trung bình

+ Hàm toán tử xuất

+ Hàm nhập danh sách sinh viên + Hàm in danh sách sinh viên

Trang 4

+ Hàm thêm 1 sinh viên vào vị trí k + Hàm xóa 1 sinh viên theo mã sinh viên

+ Hàm sắp xếp sinh viên theo thứ tự giảm dần của điểm trung bình + Hàm sắp xếp sinh viên theo thứ tự giảm dần của tuổi

+ Hàm tìm sinh viên có tuổi lớn hơn 20 + Hàm tìm sinh viên có tuổi lớn nhất + Hàm tìm sinh viên theo mã sinh viên

Trang 5

II.THUỘC TÍNH CỦA CHƯƠNG TRÌNH

2.KHAI BÁO -class SinhVien

Trang 6

III.THIẾT KẾ FORM3.Thiết Kế

Trang 7

Lựa chọn 1:Nhập xuất thông tinh sinh viên

cout <<"\t" << "\t" << "Nhap Thong Tin Sinh Vien Thu " << i+1 << " :" << endl;

cout <<"\t" << "\t" << " -" << endl;cin >> a[i];

-" << endl;

Trang 8

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

cout << a[i];}

cout <<

-" << endl;

Trang 9

cin>>x;int k;

cout<<"-Nhap vi tri can them:";cin>>k;

cout << "\t" << "\t" << "\t" << "\t" << "\t" << "Thong Tin Sinh Vien Sau KhiThem" << endl;

cout << endl;cout <<

-" << endl;

" -tieude();for(int i=n;i>k;i ){

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

cout <<

-" << endl;

Trang 10

-" << endl;

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

Trang 11

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

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

cout <<

-" << endl;

Lựa chọn 4:Sắp xếp điểm tb giảm

Trang 12

void sxdiemgiam(DiemSo a[],int &n){

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

for(int j=i+1;j<n;j++){

DiemSo tg=a[i];a[i]=a[j];a[j]=tg;}

cout << endl;

cout << "\t" << "\t" << "\t" << "Danh Sach Sinh Vien Sau Khi Sap Xep Theo Thu Tu Giam Dan Diem Trung Binh" << endl;

cout << endl;

Trang 13

cout <<

-" << endl;

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

cout << a[i];}

cout <<

-" << endl;

for(int j=i+1;j<n;j++){

Trang 14

DiemSo tg=a[i];a[i]=a[j];a[j]=tg;}

cout << endl;

cout << "\t" << "\t" << "\t" << "Danh Sach Sinh Vien Sau Khi Sap Xep Theo Thu Tu Giam Dan Tuoi" << endl;

cout << endl;cout <<

-" << endl;

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

cout << a[i];}

cout <<

-" << endl;

" -}

Trang 15

Lựa chọn 6:Tìm sinh viên có tuổi > 20

-" << endl;

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

cout << a[i];}

Trang 16

}cout <<

-" << endl;

-" << endl;

int max=a[0].tuoi();int k=0;

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

if(max < a[i].tuoi())

Trang 17

cout << a[k];cout <<

-" << endl;

Trang 18

cout << "\t" << "\t" << "\t" << "\t" << "\t" << "Thong Tin Sinh Vien Sau KhiTim Kiem" << endl;

cout << endl;cout <<

-" << endl;

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

}cout <<

-" << endl;

cout<<"-Khong co sinh vien can tim: " << endl;}

}

Trang 19

IV.LẬP TRÌNHSau Đây Là Bài Code Hoàn Chỉnh

#include<iostream>#include<cstring>#include<iomanip>using namespace std;struct NS

int ngay,thang,nam;};

class SinhVien{

protected:string ma;char ten[20];NS ngaysinh;

Trang 20

SinhVien(int ma=0,char ten[]=" "){

strcpy(this -> ten,ten);this -> ma=ma;

~SinhVien(){}void nhap(){

cout <<"\t" << "\t" << "\t" << "Nhap Ma Sinh Vien: ";fflush(stdin);

Trang 21

cout << left << "|" << setw(10) << ma << "|" << setw(20) <<ten << "|" << setw(5) << ngaysinh.ngay << "|" << setw(5) << ngaysinh.thang << "|" << setw(5) << ngaysinh.nam << "|";

class DiemSo:public SinhVien{

private:float dt;float ktct;float csdl;public:

DiemSo(int ma=0,char ten[]=" ",float tuoi=0,float dt=0,float ktct=0,float csdl=0):SinhVien(ma,ten)

this -> dt=dt;this -> ktct=ktct;this -> csdl=csdl;}

Trang 22

is >> a.ktct;

cout <<"\t" << "\t" << "\t" << "Nhap Diem Co So Du Lieu:";

is >> a.csdl;return is;}

int tuoi(){

return (2023-ngaysinh.nam);}

string masv(){

return ma;}

float diemtb(){

return (dt + ktct + csdl) / 3;}

const char*xeploai(){

if( diemtb() >= 8){

return "GIOI";}

if( diemtb() >= 5 && diemtb() < 8)

Trang 23

return "KHA";}

return "TRUNG BINH";}

return os;}

void tieude(){

cout << left << "|" << setw(10) << "MA" << "|" << setw(20) << "HO TEN" << "|" << setw(5) << "NGAY" <<"|" << setw(5) << "THANG" <<"|" << setw(5) << "NAM" << "|" << setw(5) << "TUOI" << "|" << setw(10) << "DIEM TOAN" << "|" << setw(10) << "DIEM KTCT" << "|" << setw(10) <<"DIEM CSDL" << "|" << setw(10) << "DIEM TB" << "|" << setw(15) << "XEP LOAI" << "|" << endl;

void nhapxuat(DiemSo a[],int &n){

Trang 24

cout << "\t" << "Nhap So Luong Sinh Vien: ";cin >> n;

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

cout <<"\t" << "\t" << "Nhap Thong Tin Sinh Vien Thu " << i+1 << " :" << endl;

cout <<"\t" << "\t" << " -" << endl;cin >> a[i];

-" << endl;

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

cout << a[i];}

cout <<

-" << endl;

void themsv(DiemSo a[],int &n){

Trang 25

cout<<"-Nhap thong tin sinh vien can them"<<endl;DiemSo x;

cin>>x;int k;

cout<<"-Nhap vi tri can them:";cin>>k;

cout << "\t" << "\t" << "\t" << "\t" << "\t" << "Thong Tin Sinh Vien Sau Khi Them" << endl;

cout << endl;cout <<

-" << endl;

for(int i=n;i>k;i ){

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

cout<<a[i];}

Trang 26

cout <<

-" << endl;

-" << endl;

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

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

a[j]=a[j+1];}

Trang 27

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

cout <<

-" << endl;

void sxdiemgiam(DiemSo a[],int &n){

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

for(int j=i+1;j<n;j++){

DiemSo tg=a[i];a[i]=a[j];a[j]=tg;}

}}

Trang 28

cout << endl;

cout << "\t" << "\t" << "\t" << "Danh Sach Sinh Vien Sau Khi Sap XepTheo Thu Tu Giam Dan Diem Trung Binh" << endl;

cout << endl;cout <<

-" << endl;

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

cout << a[i];}

cout <<

-" << endl;

void sxtuoigiam(DiemSo a[],int &n){

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

for(int j=i+1;j<n;j++){

DiemSo tg=a[i];a[i]=a[j];a[j]=tg;

Trang 29

cout << endl;

cout << "\t" << "\t" << "\t" << "Danh Sach Sinh Vien Sau Khi Sap Xep Theo Thu Tu Giam Dan Tuoi" << endl;

cout << endl;cout <<

-" << endl;

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

cout << a[i];}

cout <<

-" << endl;

-" << endl;

Trang 30

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

cout << a[i];}

}cout <<

-" << endl;

-" << endl;

int max=a[0].tuoi();int k=0;

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

if(max < a[i].tuoi())

Trang 31

cout << a[k];cout <<

-" << endl;

-" << endl;

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

if(a[i].masv()==c){

Trang 32

}cout <<

-" << endl;

cout<<"-Khong co sinh vien can tim: " << endl;}

}int main(){

int n,c;DiemSo a[200];cout << endl;cout << endl;

cout <<"\t" << "\t" <<"\t" << "\t" <<

"==========================Menu=========================="<< endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== 1.Nhap xuat thong tin sv ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

Trang 33

cout <<"\t" << "\t" <<"\t" << "\t" << "==== 2.Them 1 sv ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== 3.Xoa 1 sv ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== 4.Sap xep diem tb giam ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== 5.Sap xep tuoi giam ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== 6.Tim sv co tuoi > 20 ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== 7.Tim sv co tuoi max ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== 8.tim sv theo msv ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;

cout <<"\t" << "\t" <<"\t" << "\t" <<

"========================================================" << endl;

Trang 34

cout << endl;

cout << "Nhap lua chon: ";cin >> c;

cout << endl;switch(c){

case 1:

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

themsv(a,n);break;case 3:

xoasv(a,n);break;case 4:

case 5:

case 6:

tuoilonhon20(a,n);break;

Trang 35

case 7:

tuoimax(a,n);break;case 8:

cout << "Vui long chon lai !!!";break;

return 0;}

Ngày đăng: 21/05/2024, 16:18