学籍管理系统c++版.doc
文本预览下载声明
#includeiostream
//#includeiomanip
#includefstream
#includestring
using namespace std;
#define max 100;
class student
{
public:
student *next;
public:
string name;//姓名
string sex;//性别
long num;//学号
int x,y,z;//数学,语文,英语
int AA;//总分
void play()
{
cout 姓名:name 性别:sex 学生的学号是:num 数学:x 语文:y 英语:z 总分:AAendl;};
student(string sname,string ssex,long snum,int sx,int sy,int sz)
{
name=sname;
sex=ssex;
num=snum;
x=sx;
y=sy;
z=sz;
}
};
class cla
{
public:
cla()//构造函数
{
stu=0;
}
~cla()//析构函数
{
student *p;
p=stu;
while(p)
{
p=p-next;
delete stu;
stu=p;
}
stu=0;
}
void sadd(); //添加
void sremove(); //删除
void samend(); //修改
void ssearch(); //查询
void staxis(); //排序
void ssave(); //保存
void display_chinese(); //均分 及格率
//排序函数
void pxh();
void psx();
void pyw();
void pyy();
void pAA();
private:
student *stu; //头接点
};
void cla::sadd()//添加
{int e=1;
student *q;
string name1;
string sex1;
long num1;
int x1,y1,z1;
system(cls);
cout请输入学生信息endl;
cout学生姓名:endl;
cinname1;
do
{
cout性别(男,女):endl;
cinsex1;
if(sex1!=男sex1!=女)
{
cout性别错误(男或女)!请重新输入!endl;
e=1;
}
else
e=0;
}while(e);
return ;
cout学号:endl;
cinnum1;
cout数学:endl;
cinx1;
cout语文:endl;
ciny1;
cout英语:endl;
cinz1;
q=new student(name1,sex1,num1,x1,y1,z1);
q-next=0;
q-AA=x1+y1+z1;
if(stu)
{
student *t;
t=stu;
if(t-num==num1)
{
cout学号已存在,请重新输入endl;
return;
}
while(t-next)
{
if(t-num==num1)
{
cout学号已存在,请重新输入endl;
return;
}
t=t-next;
}
t-next=q;
}
else
{
stu=q;
}
cout输入完毕endl;
}
void cla::sremove()//删除
{
system(cls);
int num1;
cout\n** 删除学生信息 **\n;
cout请输入想要删除学生的学号:;
cinnum1;
//查找要删除的结点
student *p1,*p2;
p1=stu;
while(p1)
{
if(p1-num==num1)
break;
else
{
p2=p1;
p1=p1-next;
}
}
//删除结点
if(p1!=NULL)//若找到结点,则删除
{
p1-play();
cout确定删除吗?[Y/N]endl;
char c;cinc;
if(toupper(c)!=Y) return;
if(p1==stu) //若要删除的结点是第一个结点
{
stu=p1-next;
delete p1;
}
els
显示全部