C++写的几个函数,有点不对,就是不晓得怎么改,求大神指教,有一丢丢急呀
studentstud[100];intn;//都为全局变量,n为stud数组中实际存入的学生个数classstudent//定义一个学生类,用于保存学生的在校信息(即成...
student stud[100]; int n;//都为全局变量,n为stud数组中实际存入的学生个数
class student//定义一个学生类,用于保存学生的在校信息(即成绩等信息)
{char* num;//学号 char* name;//姓名 int class_num;//班级 char* sex;//性别 float Math;//高数成绩
float English;//英语成绩 float Cjj;//c++ float sum;//各科成绩总和
float average;//平均成绩
void readdata(student stud[100]);//从文件中读取学生信息
void delete_student(student stud[100]);//从文件中删除学生信息
};
//----------------删除资料------------------
void student::delete_student(student stud[100])
{
char delete_num[10];
readdata( stud);
do{
cout<<"请输入你要删除的学生的学号:";
cin>>delete_num;
int i=0;
while(stud[i].num!=delete_num&&i<n) i++; //查找判断好像就是这里错了,函数不执行 if语句,直接到 else if 了
if(stud[i].num==delete_num)
{
for(int j=i;j<n-1;j++)
{
stud[i].num=stud[i+1].num;
stud[i].name=stud[i+1].name;
stud[i].sex=stud[i+1].sex;
stud[i].class_num=stud[i+1].class_num;
stud[i].Math=stud[i+1].Math;
stud[i].English=stud[i+1].English;
stud[i].Cjj=stud[i+1].Cjj;
}
save(stud);
cout<<"删除成功!"<<endl;
n=n-1;
}
else if(i==n) {
cout<<"can't find this num"<<endl;
cout<<"该信息不存在,无法删除!"<<endl;
}
cout<<"(是否继续操作?(y/n))"<<endl;
cin>>answer;
}
while(answer=='y'||answer=='Y') ;
}<!--<!--<!--<!--<"请输入文件名:"< 展开
class student//定义一个学生类,用于保存学生的在校信息(即成绩等信息)
{char* num;//学号 char* name;//姓名 int class_num;//班级 char* sex;//性别 float Math;//高数成绩
float English;//英语成绩 float Cjj;//c++ float sum;//各科成绩总和
float average;//平均成绩
void readdata(student stud[100]);//从文件中读取学生信息
void delete_student(student stud[100]);//从文件中删除学生信息
};
//----------------删除资料------------------
void student::delete_student(student stud[100])
{
char delete_num[10];
readdata( stud);
do{
cout<<"请输入你要删除的学生的学号:";
cin>>delete_num;
int i=0;
while(stud[i].num!=delete_num&&i<n) i++; //查找判断好像就是这里错了,函数不执行 if语句,直接到 else if 了
if(stud[i].num==delete_num)
{
for(int j=i;j<n-1;j++)
{
stud[i].num=stud[i+1].num;
stud[i].name=stud[i+1].name;
stud[i].sex=stud[i+1].sex;
stud[i].class_num=stud[i+1].class_num;
stud[i].Math=stud[i+1].Math;
stud[i].English=stud[i+1].English;
stud[i].Cjj=stud[i+1].Cjj;
}
save(stud);
cout<<"删除成功!"<<endl;
n=n-1;
}
else if(i==n) {
cout<<"can't find this num"<<endl;
cout<<"该信息不存在,无法删除!"<<endl;
}
cout<<"(是否继续操作?(y/n))"<<endl;
cin>>answer;
}
while(answer=='y'||answer=='Y') ;
}<!--<!--<!--<!--<"请输入文件名:"< 展开
2个回答
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询