cần giúp đỡ về vector!
đề bài là nhập xuát thông tin của học sinh , và dùng vector xuất ra
-
thay thế 1 pt
-
thêm 1 phần tử
các bác xem em làm thế này đã đc chưa ạ#include"iostream"
#include"vector"
using namespace std;
class thisinh{
private:
int toan,ly,hoa;
char ht[30];
int sbd;
public:
void nhap();
void xuat();
friend class day;
};
class day{
private:
int n;
vector *a;
public:
void nhap(vector&a);
void xuat(vector&a);
void add(vector&a);
void thaythe(vector&a);
void xoa(vector&a);
};
void day::xoa(vector&a)
{
int vt,i;
cout<<" nhap vi tri can xoa: “;
cin>>vt;
n=n-1;
a.resize(n);
for(i=vt-1;i<n-1;i++)
{
a[i-1]=a[i];
}
cout<<” danh sach sau khi xoa phan tu la: “;
for(i=0;i<n;i++)
a[i].xuat();
}
void day::thaythe(vector &a)
{
int vt;
cout<<” nhap vi tri can thay the: “;
cin>>vt;
a[vt-1].nhap();
cout<<” danh sach sau khi bi thay the la: ";
for(int i=0;i<n;i++)
{
cout<<" thong tin hoc sinh thu "<<i+1;
a[i].xuat();
}
}
void thisinh::nhap()
{
cout << " Nhap SBD: ";
cin >> sbd;
cout << " Nhap ho ten: ";
cin.ignore(1);
cin.get(ht,30);
cout << " Nhap diem Toan: “;
cin >> toan;
cout << " Nhap diem Ly: “;
cin >> ly;
cout << " Nhap diem Hoa: “;
cin >> hoa;
}
void thisinh::xuat()
{
cout<<” ho ten: “<<ht<<” sbd: “<<sbd<<” diem toan: “<<toan<<” diem ly: “<<ly<<” hoa: “<<hoa;
}
void day::nhap(vector &a)
{
int i;
cout<<” nhap n: “;
cin>>n;
a.resize(n);
for(i=0;i<n;i++)
{
cout<<” nhap hoc sinh thu “<<i+1<<” ”;
a[i].nhap();
}
}
void day::xuat(vector &a)
{
for(int i=0;i<n;i++)
{
cout<<” thong tin hoc sinh thu “<<i+1;
a[i].xuat();
}
}
void day::add(vector &a)
{
int vt;
cout<<” nhap vt can chen: “;
cin>>vt;
n=n+1;
a.resize(n);
if(vt==n)
{
a[vt-1].nhap();
}
else
{
for(int i=n-1;i>=vt-1;i–)
{
a[i]=a[i-1];
}
a[vt-1].nhap();
}
cout<<” mang sau khi them la: “;
for(int i=0;i<n;i++)
{
cout<<” thong tin thi sinh thu "<<i+1;
a[i].xuat();
}
}
int main()
{
int n;
thisinh b;
day c;
vector a;
c.nhap(a);
c.xuat(a);
c.thaythe();
c.add();
}