用cin>>snak[i].brand;就可以了
如果用getline(cin,snak[i].brand); ,需要for循环最后加上getchar();
否则下一次getline将读取回车符。
即
for(int i=0;i<3;i++)
{
cout<<"the "< cin>>snak[i].brand;
cin>>snak[i].ka;
cin>>snak[i].weight;
}
或
for(int i=0;i<3;i++)
{
cout<<"the "< getline(cin,snak[i].brand);
cin>>snak[i].ka;
cin>>snak[i].weight;
getchar();
}