主函数main() 菜单函数menu() 选择菜单中的选项选保存或读取 调用load()函数 调用save()函数 按要求输入文件名 文件读取成功
文件保存成功
9.“=”“<<”“>>”符号的重载:在各个函数处理数据过程中对这些的调用处理 函数源代码:
此函数源代码在VisualC++6.0环境下编译通过。具体如下: #include\ #include\ #include\ #include\ #include\ #include\ #include\
class student //定义学生类 {
private://定义学生类的私有成员 char name[20]; //名字 char sex[5]; //性别 int number; //学号 int score[3]; //分数 int total; //总分
int average; //平均分 public: //公有成员
student(); //学生构造函数,用于学生数据的初始化及保存学生数据 void add(); //添加学生信息函数 void output(); //输出学生信息函数 void find(); //查找学生数据函数 void modify(); //修改学生信息函数 void deleted(); //删除学生信息函数 void sort(); //排序函数
void save(); //保存学生信息并写入文件函数 void load (); //打开写有学生信息的文件的函数
student & operator=(student & T); //重载“=”符号
friend istream & operator >> (istream & scin, student &s1); //重载“>>”符号 friend ostream & operator << (ostream & scout, student &s2); //重载“>>”符号 };
student stu[100]; int n=0;
void student::add() //添加函数 {
char flag='Y';
while(toupper(flag)=='Y') { cin>>stu[n]; n++; cout<<\要继续添加吗(y/n)\ cin>>flag; if(toupper(flag)!='Y') { if(toupper(flag)=='N') { break; } else { cout<<\错误,请重输:\ cin>>flag; } } } }
void student::output() //输出函数 {
if(n!=0) { cout<<\ cout<<\number name sex math C++ English average\\n\ cout<<\ for(int t=0;t getch(); } total void student::find() //查找函数 { int f3=0; char n1[20]; student temp; cout<<\输入你要查找的人的姓名: \ cin>>n1; for(int j=0;j if(f3==0) cout<<\对不起,没有你要查找的学生成绩\ else { cout<<\ cout<<\ cout<<\ cout<<\ <<\\\\\ } getch(); } void student::modify() //修改函数 { int f4=0; int t; char n2[50]; cout<<\输入你要修改的人的姓名:\ cin>>n2; for(int j=0;j if(f4==0) cout<<\对不起,没有你要修改的学生成绩\ else { cout<< \请输入学号: \ cin>>stu[t].number; cout<< \姓名: \ cin>>stu[t].name; cout<< \性别 : \ cin>>stu[t].sex; cout<< \数学成绩: \ cin>>stu[t].score[0]; cout<< \成绩: \ cin>>stu[t].score[1]; cout<< \英语成绩: \ cin>>stu[t].score[2]; stu[t].total=stu[t].score[0]+stu[t].score[1]+stu[t].score[2]; stu[t].average=stu[t].total/3; cout<<\修改成功 !\ } getch(); } void student::deleted() //删除函数 { char n3[20]; bool f5=0; char c; do{ cout<<\请输入您要删除的学生姓名:\ cin>>n3; for(int i=0;i
相关推荐: