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>