哪位高手能帮帮我啊,这个问题我想了好久,可总是达不到我的心意。
我想要用类写一个程序,目的是能输入学生的姓名,成绩,和出生年月日。然后能显示每人学生的属性。可是当我输入姓名为tom 时就 出现错误输出。
所以姓名只能用一个字母表示,否则出错。除此之外,当输入两个学生时,其它属性输出也不正确,都以第二次输入的输出。太气人了。
程序如下,如果哪位朋友有时间的话,请看一下,帮我改一下,谢谢了!!!
#include<iostream.h>
class Cstudent
{
public:
int p;//p 的作用将在类外定义的函数中的i传回类,再传给另一个构造函数。总觉的这里不爽,可又不知怎么改好。
student()
{struct student
{char name[60];
float grade;
int biryear;
int birmonth;
int birday;
};
};
get_student();
cout_student();
private:
char name[60];
float grade;
int biryear;
int birmonth;
int birday;
};
Cstudent::get_student()
{
int i,j;
cout<<"请输入要输入学生的数目"<<endl;
cin>>i;
p=i;
cout<<"请依次输入学生的姓名,成绩和出生年月日"<<endl;
for(j=0;j<i;j++)
{
cin>>name[j]>>grade>>biryear>>birmonth>>birday;
}
}
Cstudent::cout_student()
{int i=p,j;
cout<<"学生的姓名,成绩和出生年月日如下"<<endl;
for(j=0;j<i;j++)
{cout<<name<<"的成绩为"<<grade<<"出生年月日为"<<biryear<<"年"<<birmonth<<"月"<<birday<<"日"<<endl;
}
}
void main()
{
Cstudent one;
one.student();
one.get_student();
one.cout_student();
}