大家我的程序能运行但不能输入信息为什么呀?????
大家我的程序能运行但不能输入信息为什么呀?????#include <iostream.h>
#include <string.h>
#include <fstream.h>
char filename[]="student.dat";
class Student
{
protected:
int num ; /*学号*/
char name[20]; /*姓名*/
char sex; /*性别*/
int age; /*年龄*/
int grade; /*成绩*/
public:
Student(){}
~Student(){}
Student(char *n,char s)
{
strcpy(name,n);
sex=s;
}
char *getname(); /*返回姓名*/
void Get_message()/*输入函数*/
{
cout<<"学号:" <<endl;
cin>>num;
cout<<"姓名:" <<endl;
cin>>name;
cout<<"性别:" <<endl;
cin>>sex;
cout<<"年龄:" <<endl;
cin>>age;
}
void Show_message() /*输出函数*/
{
cout<<"\t\t 学号:" <<num <<endl;
cout<<"\t\t 姓名:" <<name <<endl;
cout<<"\t\t 性别:" <<sex <<endl;
cout<<"\t\t 年龄:" <<age <<endl;
}
};
char *Student::getname()
{
return name;
}
class benke:public Student /*本科生类*/
{
protected:
char major[20]; /*专业*/
int math;
int english;
int lisan;
int chinese;
float average; /*平均成绩*/
public:
benke(){}
~benke(){}
benke(char*n,char s,int m,int e,int l,int c):Student(n,s)
{
math=m;
english=e;
lisan=l;
chinese=c;
}
void Compute()
{
average=float(math+english+lisan+chinese)/4;
}
void Get_message() /*输入函数*/
{
Student::Get_message();
cout<<"专业:"<<endl;
cin>>major; /*输入其特有信息 专业*/
cout<<"数学成绩:"<<endl;
cin>>math;
cout<<"英语成绩:"<<endl;
cin>>english;
cout<<"离散成绩:"<<endl;
cin>>lisan;
cout<<"语文成绩:"<<endl;
cin>>chinese;
}
void Show_message()
{
Student::Show_message();
cout <<"\t\t 专业:" <<major <<endl;
cout <<"\t\t 数学成绩:" <<math <<endl;
cout <<"\t\t 英语成绩:" <<english <<endl;
cout <<"\t\t 离散成绩:" <<lisan <<endl;
cout <<"\t\t 语文成绩:" <<chinese <<endl;
cout <<"\t\t 平均成绩:" <<average <<endl;
}
};
class Xitong /*操作管理系统*/
{
private:
benke b[10]; /*定义一个Benke 类对象数组*/
void inbenke(); /*输入本科生人员信息*/
int j;
void Xitong::Interface1();
public:
void save();
void Interface(); /*功能主界面函数*/
void In_information(); /*信息添加功能函数*/
};
void Xitong::Interface1()
{
cout <<"\t\t 1.本科生 " <<endl;
cout <<"\t\t 2.研究生 " <<endl;
cout <<"\t\t 3.成人继续教育生 " <<endl;
cout <<"\t\t 4.返回上一级菜单 " <<endl;
cout <<"\t\t 请您选择学生类别: " <<endl;
}
void Xitong::In_information()
{
char id; // 定义字符型id
int again=1;
char t;
while(again)
{
Interface1();
cin>>id;
switch(id)
{ case 1:
void inbenke();
break;
case 2:
Interface();
break;
continue;
}
cout <<"\t\t\t 信息储存成功!" <<endl;
cout <<"\t\t\t 是否继续输入(y/n)? ";
cin>>t;
cout <<endl;
if(!(t=='Y'||t=='y'))
again=0;
}
Interface();
}
void Xitong::inbenke()
{
benke A;
fstream file(filename,ios::out|ios::in|ios::binary);/*将文件打开,用于存储输入信息*/
file.seekp(0,ios::end); /*将文件指针指向文件末尾,让信息接着文件结尾写入*/
A.Get_message(); /*调用benke的信息录入函数,输入信息*/
file.write((char *)&A,sizeof(class benke));/*将输入的所有信息信息写入文件*/
file.close(); /*关闭文件*/
}
void Xitong::Interface()
{
int rev;
cout <<"\n\n\n\n\n\n\n";
cout <<"\t\t ******************欢迎使用******************" <<endl;
cout <<"\t\t **************学生成绩管理系统**************" <<endl;
cout <<"\t\t 1.输入学生信息 " <<endl;
cout <<"\t\t 请您选择(1~5): " <<endl;
cin>>rev;
switch(rev)
{
case 1:
In_information();
break;
}
}
void main()
{
Xitong s;
s.Interface();
}
[ 本帖最后由 请大家帮帮我 于 2010-1-11 19:10 编辑 ]