Tải bản đầy đủ (.pdf) (35 trang)

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

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 (913.68 KB, 35 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>Lớp : DHTI15A2HN</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b> - Lựa chọn 1:Nhập xuất sinh viên...7</b>

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

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

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

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

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

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

<b> - Lựa chọn 8:Tìm sinh viên theo mã sinh viên...17</b>

<b>IV.LẬP TRÌNH...19</b>

<b> 4.Bài Code Hồn Chỉnh...34</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>I:PHÂN TÍCH CHỨC NĂNG1.Mơ tả hệ thống</b>

<b>a.Giới thiệu</b>

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>b.Các lớp đối tượng* Lớp SinhVien</b>

<b>-Mơ tả: các thuộc tính mã, tên, ngày, tháng, năm sinh</b>

<b>-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 </b>

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

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

+ 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

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

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

<b>2.KHAI BÁO -class SinhVien</b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>III.THIẾT KẾ FORM3.Thiết Kế</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

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

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

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

---" << endl;

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

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

cout << a[i];}

cout <<

---" << endl;

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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;

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

---" << endl;

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

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

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

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

cout <<

---" << endl;

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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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;

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

cout <<

---" << endl;

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

cout << a[i];}

cout <<

---" << endl;

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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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;

"---}

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

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

---" << endl;

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

cout << a[i];}

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

}cout <<

---" << endl;

---" << endl;

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

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

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

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

cout << a[k];cout <<

---" << endl;

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="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;}

}

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

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

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

<b>int ngay,thang,nam;};</b>

<b>class SinhVien{</b>

<b>protected:string ma;char ten[20];NS ngaysinh;</b>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>SinhVien(int ma=0,char ten[]=" "){</b>

<b>strcpy(this -> ten,ten);this -> ma=ma;</b>

<b>~SinhVien(){}void nhap(){</b>

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

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

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

<b>class DiemSo:public SinhVien{</b>

<b>private:float dt;float ktct;float csdl;public:</b>

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

<b>this -> dt=dt;this -> ktct=ktct;this -> csdl=csdl;}</b>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>is >> a.ktct;</b>

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

<b>is >> a.csdl;return is;}</b>

<b>int tuoi(){</b>

<b>return (2023-ngaysinh.nam);}</b>

<b>string masv(){</b>

<b>return ma;}</b>

<b>float diemtb(){</b>

<b>return (dt + ktct + csdl) / 3;}</b>

<b>const char*xeploai(){</b>

<b>if( diemtb() >= 8){</b>

<b>return "GIOI";}</b>

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

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>return "KHA";}</b>

<b>return "TRUNG BINH";}</b>

<b>return os;}</b>

<b>void tieude(){</b>

<b>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;</b>

<b>void nhapxuat(DiemSo a[],int &n){</b>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

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

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

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

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

<b>---" << endl;</b>

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

<b>cout << a[i];}</b>

<b>cout << </b>

<b>---" << endl;</b>

<b>void themsv(DiemSo a[],int &n){</b>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

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

<b>cin>>x;int k;</b>

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

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

<b>cout << endl;cout << </b>

<b>---" << endl;</b>

<b>for(int i=n;i>k;i--){</b>

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

<b>cout<<a[i];}</b>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>cout << </b>

<b>---" << endl;</b>

<b>---" << endl;</b>

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

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

<b>a[j]=a[j+1];}</b>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

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

<b>cout << </b>

<b>---" << endl;</b>

<b>void sxdiemgiam(DiemSo a[],int &n){</b>

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

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

<b>DiemSo tg=a[i];a[i]=a[j];a[j]=tg;}</b>

<b>}}</b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<b>cout << endl;</b>

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

<b>cout << endl;cout << </b>

<b>---" << endl;</b>

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

<b>cout << a[i];}</b>

<b>cout << </b>

<b>---" << endl;</b>

<b>void sxtuoigiam(DiemSo a[],int &n){</b>

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

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

<b>DiemSo tg=a[i];a[i]=a[j];a[j]=tg;</b>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<b>cout << endl;</b>

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

<b>cout << endl;cout << </b>

<b>---" << endl;</b>

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

<b>cout << a[i];}</b>

<b>cout << </b>

<b>---" << endl;</b>

<b>---" << endl;</b>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

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

<b>cout << a[i];}</b>

<b>}cout << </b>

<b>---" << endl;</b>

<b>---" << endl;</b>

<b>int max=a[0].tuoi();int k=0;</b>

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

<b>if(max < a[i].tuoi())</b>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<b>cout << a[k];cout << </b>

<b>---" << endl;</b>

<b>---" << endl;</b>

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

<b>if(a[i].masv()==c){</b>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<b>}cout << </b>

<b>---" << endl;</b>

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

<b>}int main(){</b>

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << </b>

<b>"==========================Menu=========================="<< endl;</b>

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

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

<b>cout <<"\t" << "\t" <<"\t" << "\t" << "==== ====" << endl;</b>

<b>cout <<"\t" << "\t" <<"\t" << "\t" << </b>

<b>"========================================================" << endl;</b>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<b>cout << endl;</b>

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

<b>cout << endl;switch(c){</b>

<b>case 1:</b>

<b>nhapxuat(a,n);break;case 2:</b>

<b>themsv(a,n);break;case 3:</b>

<b>xoasv(a,n);break;case 4:</b>

<b>case 5:</b>

<b>case 6:</b>

<b>tuoilonhon20(a,n);break;</b>

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<b>case 7:</b>

<b>tuoimax(a,n);break;case 8:</b>

<b>cout << "Vui long chon lai !!!";break;</b>

<b>return 0;}</b>

</div>

×