来个C++高手啊~
#include<iostream.h>#include<iomanip.h>
#include<windows.h>
#include <conio.h>
#include <string.h>
#include <fstream>
void back();//返回开始菜单
void out();//输出信息
int w=1; //用于记录学生人数,全局变量
class Data//日期类
{public:
double Year,Month,Day;
Data()
{ Year=0;Month=0;Day=0; }
};
class student //学生类
{
public:
char name[10];
char 易做图[5];
char minzu[10];
int num,age;
char adr[30];
Data year;
friend class Data;//date作为student的友元 //定义一个日期类
void operator=(student s); //=重载
int operator == (student s);//==重载
}stu[100];
void main()
{
int i;
void input();
void find();
void alt() ;
void del();
void exit();
void show();
system("cls");
cout<<setw(53)<<"欢迎进入学生管理系统!"<<endl;
cout<<setw(49)<<"1 添加学生信息"<<endl<<endl;
cout<<setw(49)<<"2 查询学生信息"<<endl<<endl;
cout<<setw(49)<<"3 删除学生信息"<<endl<<endl;
cout<<setw(49)<<"4 修改学生信息"<<endl<<endl;
cout<<setw(49)<<"5 显示学生信息"<<endl<<endl;
cout<<setw(45)<<"0 退出系统"<<endl;
cout<<"请选择:";
cin>>i;
if(i>5||i<0)
{
cout<<"输入有误!"<<endl;
back();
}
switch(i)
{
case 1:input();break;
case 2:find();break;
case 3:del();break;
case 4:alt();break;
case 5:show();break;
case 0:exit();break;
default:cout<<"你的输入有误!\n";
}
}
void input() //添加学生
{
system("cls");
int n;
cout<<"请输入要添加的学生个数:\n";
cin>>n;
if(n>=100||n<=0)
{cout<<"输入有误!<<endl";
main(); }
else
{
for(;n>0;w++,n--)
{
cout<<"请输入姓名、性别、民族,年龄,学号,住址:"<<endl;
cin>>stu[w].name>>stu[w].易做图>>stu[w].minzu>>stu[w].age >>stu[w].num>>stu[w].adr ;
cout<<"请输入该生生日(年 月 日)"<<endl;
cin>>stu[w].year.Year;
cin>>stu[w].year.Month;
cin>>stu[w].year.Day;
}
out();
}
}
void find() //查找学生
{
system("cls");
int i,k,l,id,j=0;//j是用以记录是否有信息被找到
char name1[10];
cout<<setw(55)<<"1按姓名查找学生信息 2 按学号查询学生信息"<<endl<<endl;
cin>>k;
switch(k)
{
case 1:
cout<<"请输入你要查找学生的姓名:";
cin>>name1;
for(i=1;i<w;i++){
l=(strcmp(stu[i].name ,name1));
if ( l==0){
cout<<i<<" "<<stu[i].name<<" "<<stu[i].易做图<<" "<<stu[i].minzu<<" "<<stu[i].age<<" "<<stu[i].num<<" "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<stu[i].adr<<endl;
}
j++;
}
if(j==0)
cout<<"没有你要查找的信息"<<endl;
back();
break;
case 2:
cout<<"请输入你要查找学生的学号:";
cin>>id;
for(i=1;i<w;i++)
if(stu[i].num ==id)
{
cout<<i<<" "<<stu[i].name<<" "<<stu[i].易做图<<" "<<stu[i].minzu<<" "<<stu[i].age<<" "<<stu[i].num<<" "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<stu[i].adr<<endl;
j++;
}
if(j==0)
cout<<"没有你要查找的信息"<<endl;
back();
}
}
void del()//删除指定学号学生信息
{
system("cls");
int i,a,y=0;
char x;
cout<<"请输入要删除的学生学号";
cin>>a;
for(i=1;i<w;i++)
if(stu[i].num==a)
{
cout<<"该生情况:"<<endl;
cout<<i<<" "<<stu[i].name<<" "<<stu[i].易做图<<" "<<stu[i].minzu<<" "<<stu[i].age<<" "<<stu[i].num<<" "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<" "<<stu[i].adr<<endl;
cout<<"是否确认删除?(Y/N)"<<endl;
cin>>x;
if(x=='Y'||x=='y')
{
y++;
for(;i<w-1;i++)
stu[i]=stu[i+1];
w--;
}
}
if(y==0)
{
cout<<"该学生不存在!"<<endl;
back();
}
else
{
cout<<"删除后的信息为:"<<endl;
out();
back();
}
}
void alt()//修改指定学号学生
{
system("cls");
int id,y=0;
char x;
cout<<"请输入要修改学生的学号:";
cin>>id;
for(int i=1;i<w;i++)
if(stu[i].num ==id)
{
cout<<"该生情况:"<<endl;
cout<<i<<" "<<stu[i].name<<" "<<stu[i].易做图<<" "<<stu[i].minzu<<" "<<stu[i].age<<" "<<stu[i].num<<" "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<" "<<stu[i].adr<<endl;
cout<<"是否确认修改?(Y/N)"<<endl;
cin>>x;
if(x=='Y'||x=='y')
{
y++;
cout<<"请输入姓名、性别、民族,年龄,学号,住址:"<<endl;
cin>>stu[i].name>>stu[i].易做图>>stu[i].minzu>>stu[i].age >>stu[i].num>>stu[i].adr ;
cout<<"请输入该生生日(年 月 日)"<<endl;
cin>>stu[i].year.Year;
cin>>stu[i].year.Month;
cin>>stu[i].year.Day;
}
else
{
back();
}
}
if(y==0)
{
cout<<" 该学生不存在!"<<endl<<endl;
back();
}
else
{
cout<<"修改后的信息为:"<<endl;
out();
back();
}
}
void student::operator =(student stu)//对=运算符重载函数的实现
{
num=stu.num;
for(int i=0;i<9;i++)
name[i]=stu.name[i];
for(i=0;i<4;i++)
易做图[i]=stu.易做图[i];
age=stu.age;
for(i=0;i<9;i++)
minzu[i]=stu.minzu[i] ;
for(i=0;i<29;i++)
adr[i]=stu.adr[i] ;
year.Year=stu.year.Year ;
year.Month =stu.year.Month ;
year.Day =stu.year.Day ;
}
int student::operator == (student stu)//对==运算符重载函数的实现
{
if(*name==*stu.name && *易做图==*stu.易做图 && age==stu.age && *minzu==*stu.minzu && *adr==*stu.adr&&year.Year ==stu.year.Year&&year.Month ==stu.year.Month&&year.Day ==stu.year.Day )
return 1;
else
return 0;
}
void show()//显示
{
system("cls");
out();
back();
}
void exit()//退出
{
exit(0);
}
void back()//返回
{
cout<<" 按任意键返回菜单!"<<endl;
getch();
main();
}
void out()//输出
{
int i;
cout<<" 姓名 性别 民族 年龄 学号 生日 住址"<<endl;
for(i=1;i<w;i++)
cout<<i<<" "<<stu[i].name<<" "<<stu[i].易做图<<" "<<stu[i].minzu<<" "<<stu[i].age<<" "<<stu[i].num<<" "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<" "<<stu[i].adr<<endl;
back();
}
求教程序高手 怎么在我上面的代码加上一个文件读写类 把我输入的信息保存在文件,查询的时候从文件里面读取?急用
追问:但读取那里不怎么会弄~