دوستان سلام ،
وقت خوش.
مشکلی دارم.
با استفاده از کلاس !
باید اسم 10 نفر رو بگیره همراه با نمراتشون و چک کنه اگر کمتر از 40 هستند حذف کنه و باقی مانده هارو چاپ کنه.
برنامه رو تا مقداری نوشتم ولی مشکل برمی خورم بعد از وارد کردن 4امین اسم فرد.




کد:
#include "stdafx.h"#include<iostream>
#include<vector>
using namespace std;
class student//save in the vector of class
{
char name[10];
int mark;
int pay;
public:
student(char* n,int m,int p)
{
pay=p;
    mark=m;
strcpy(name,n);
}
student(){mark=0.0;}
student(double x){mark=x;}
student &operator=(double x)
{
mark=x;
return *this;
}
int getd()
{
return mark;
}
};
bool operator <(student a,student b)
{
return a.getd()<b.getd();
}
bool operator==(student a,student b)
{
return a.getd()==b.getd();
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
vector<student> v;
int i;
int count;
char name[10];
int mark;
int p;
{
for(i=0;i<10;i++)
cin>>name;
cin>>mark;
cin>>p;
v.push_back(student(name,mark,p));
}
for(i=0;i<v.size();i++)
{
if(v[i].getd()<40)
v.erase(v.begin()+i);
    
else
 count++; 
 
 
}
 
 
cout<<count<<endl;
 
 
return 0;
}