Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
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 đỡ
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class SV {
private:
string id;
string name;
string inClass;
public:
void addStudent();
void delStudent(string msv);
void editStudent(string msv);
void showStudent();
SV(){
}
SV(string msv, string ten, string lop){
msv = id;
ten = name;
lop = inClass;
}
};
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();
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();
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::editStudent(string msv){
for (int i=0;i<listSV.size();i++){
if (listSV[i].id == msv){
addStudent();
}
}
}
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::showStudent(){
for (int i=0;i<listSV.size();i++){
cout << "MSV : " << listSV[i].id << endl;
cout << "Ten SV: " << listSV[i].name << endl;
cout << "Lop : " << listSV[i].inClass << endl;
}
}
Code của Lâm edit lại đây b thử xem
sao mình thêm được mà ta