با سلام
دوستان کد زیر رو در ویژوال سی پلاس پلاس 2008 نوشتم در حلقه و در بار اول اجرای حلقه تابع gets اجرا میشه و در دفعات بعد سیستم از اون میگذره و رشته ای رو دریافت نمیکنه.
لطفا دلیل رو شرح دهید
با تشکر

\\Created With Microsoft Visual Studio 2008
#include "stdafx.h"
#include <conio.h>
#include <cstring>
#include <iostream>
using namespace std;
struct daneshjo{
char name[15];
char famil[15];
long double sd;
}Arr[5];

int main()
{
int i;
cout<<"Enter Data\n";
for(i=0;i<5;i++)
{
cout<<"enter name: ";

///Error Here
gets(Arr[i].name);
//////////////////
cout<<"enter family: ";
gets(Arr[i].famil);

cout<<"enter shoma d: ";
cin>>Arr[i].sd;
}
return 0;
}