[新手有关问题]这段代码为什么不能实现多次输入

2017-03-02 hxmbbs
[新手问题]这段代码为什么不能实现多次输入?
#include   "iostream.h "
#include   "stdlib.h "
struct   stud
{
  char   name;
  int   xuehao,cj[5],aver,total;
};
void   main()
{
  stud   stu[5];
  int   i,j;
  for(i=0;i <5;i++)
  {
    cout < < "输入第 " < <i+1 < < "位学生的姓名和学号: ";
    cin> > stu[i].name> > stu[i].xuehao;
    cout < <endl;
    for(j=0;j <5;j++)  
    stu[i].cj[i]=rand()%61+40;
  }
}


每次运行就只输入第一次
望各位指正

------解决方案--------------------
char name;改成char name[10];//不一定非得10,其他数字也可以
这是因为你如果只分配一个char name的话,你输入名字的时候只能输入一个字符,否则你要输入多个字符,系统只保留第一个,而且会改变所有内部数据。
------解决方案--------------------
#include "stdafx.h "
#include "iostream.h "
#include "stdlib.h "

struct stud
{
char name[10];
int xuehao,cj[5],aver,total;
};
void main()
{
stud stu[5];
int i,j;
for(i=0;i <5;i++)
{
cout < < "输入第 " < <i+1 < < "位学生的姓名和学号: " < <endl;
cin> > stu[i].name> > stu[i].xuehao;

for(j=0;j <5;j++)
stu[i].cj[i]=rand()%61+40;
}

for(i=0;i <5;i++)
{
cout < <stu[i].name < <ends < <stu[i].xuehao < <endl;//测试输入是否正确
}
}