Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

OOP C++ bài tập quản lý sinh viên

4 năm trước 19.592 lượt xem 3 bình luận 4 năm trước

Xin chào mọi người. Mình có 1 vấn đề cần mn giúp. 
Mình làm 1 bài OOP về quản lý sinh viên, yêu cầu gồm 2 class, 1 class sv chưa tên, lớp, id sv, hàm gồm nhập tên, lớ, id dv. 1 class về lớp, chứa tên lớp, hàm gồm thêm sửa xoá và hiển thị mọi thông tin sinh viên đã nhập của lớp. Mình có làm rồi mà phần thêm sv k thể thêm đc , mong mn giúp đỡ

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Phạm Tấn Thành Moderator đã bình luận 4 năm trước

Code của Lâm edit lại đây b thử xem 
 

#include <iostream>
#include <string>
#include <vector>
using namespace std;

class SV 
{
    private:
        string id;
        string name;
        string inClass;

    public:
        SV(){}
        SV(string msv, string ten, string lop) : id(msv), name(ten), inClass(lop) {}
        void addStudent();
        void delStudent(string msv);
        void editStudent(string msv);
        void showStudent();
        void setName(string ten)
        {
            name = ten;
        }
        
        void setInclass(string lop)
        {
            inClass = lop;
        }

};

vector<SV> listSV;

int main()
{
    int input;
    string id;
    SV st;
    while (true)
    {
        cout << "CHUONG TRINH QUAN LY SINH VIEN\n";
        cout << "CHUC NANG : \n";
        cout << "1. Them thong tin sinh vien.\n";
        cout << "2. Sua thong tin sinh vien.\n";
        cout << "3. Xoa thong tinh sinh vien.\n";
        cout << "4. Dua ra thong tin sinh vien.\n";
        cout << "0. Thoat.\n";
        cout << "Ban chon : " ; 
        cin >> input;

        switch (input)
        {
        case 1:
            cout << "Ban da chon them thong tin sinh vien!\n";
            st.addStudent();
            break;
        case 2:
            cin.ignore(); // ignore roi xuong duoi khong ignore nua
            cout << "Ban da chon sua thong tin sinh vien!\n";
            cout << "Nhap id sinh vien : "; getline(cin, id);
            st.editStudent(id);
            break;
        case 3:
            cout << "Ban da chon xoa thong tin sinh vien!\n";
            cout << "Nhap id sinh vien : "; cin >> id;
            st.delStudent(id);
            break;
        case 4:
            cout << "Ban da chon dua ra thong tin sinh vien!\n";
            st.showStudent();
            break;
        case 0:
            return 0;
        }
    }
}

void SV::addStudent()
{
    string msv, hoTen, lop;
    cin.ignore(32767, '\n');
    cout << "Nhap ma sinh vien: " ; getline(cin, msv);
    cout << "Nhap ten sinh vien: "; getline(cin, hoTen);
    cout << "Nhap lop : "; getline(cin, lop);
    listSV.push_back(SV(msv, hoTen, lop));

}

void SV::showStudent()
{ 
    for (int i=0; i<listSV.size(); i++)
    {
        cout << "MSV : " << listSV[i].id << "     ";
        cout << "Ten SV: " << listSV[i].name << "     ";
        cout << "Lop : " << listSV[i].inClass << endl;
    }
}

void SV::delStudent(string msv)
{
    for (int i=0; i<listSV.size(); i++)
    {
        if (listSV[i].id == msv)
        {
            listSV.erase(listSV.begin() + i);
        }
    }
}

void SV::editStudent(string msv)
{
    for (int i=0; i<listSV.size(); i++)
    {
        if (listSV[i].id == msv)
        {           
            string ten, lop;
            //cin.ignore();
            cout << "Nhap lai ten SV: "; getline(cin, ten);
            cout << "Nhap lai lop SV: "; getline(cin, lop);
            listSV[i].setName(ten);
            listSV[i].setInclass(lop);
        }
        else
            cout << "MSSV khong ton tai!" << endl;
    }
}

 

Phú Lâm đã bình luận 4 năm trước

sao mình thêm được mà ta 

Câu hỏi mới nhất