学籍管理系统c版.docx

上传人:b****2 文档编号:1946124 上传时间:2022-10-25 格式:DOCX 页数:20 大小:17.76KB
下载 相关 举报
学籍管理系统c版.docx_第1页
第1页 / 共20页
学籍管理系统c版.docx_第2页
第2页 / 共20页
学籍管理系统c版.docx_第3页
第3页 / 共20页
学籍管理系统c版.docx_第4页
第4页 / 共20页
学籍管理系统c版.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

学籍管理系统c版.docx

《学籍管理系统c版.docx》由会员分享,可在线阅读,更多相关《学籍管理系统c版.docx(20页珍藏版)》请在冰豆网上搜索。

学籍管理系统c版.docx

学籍管理系统c版

#include

//#include

#include

#include

usingnamespacestd;

#definemax100;

classstudent

{

public:

student*next;

public:

stringname;//姓名

stringsex;//性别

longnum;//学号

intx,y,z;//数学,语文,英语

intAA;//总分

voidplay()

{

cout<<"姓名:

"<

"<

"<

"<

"<

"<

"<

student(stringsname,stringssex,longsnum,intsx,intsy,intsz)

{

name=sname;

sex=ssex;

num=snum;

x=sx;

y=sy;

z=sz;

}

};

classcla

{

public:

cla()//构造函数

{

stu=0;

}

~cla()//析构函数

{

student*p;

p=stu;

while(p)

{

p=p->next;

deletestu;

stu=p;

}

stu=0;

}

voidsadd();//添加

voidsremove();//删除

voidsamend();//修改

voidssearch();//查询

voidstaxis();//排序

voidssave();//保存

voiddisplay_chinese();//均分及格率

//排序函数

voidpxh();

voidpsx();

voidpyw();

voidpyy();

voidpAA();

private:

student*stu;//头接点

};

voidcla:

:

sadd()//添加

{inte=1;

student*q;

stringname1;

stringsex1;

longnum1;

intx1,y1,z1;

system("cls");

cout<<"请输入学生信息"<

cout<<"学生姓名:

"<

cin>>name1;

do

{

cout<<"性别(男,女):

"<

cin>>sex1;

if(sex1!

="男"&&sex1!

="女")

{

cout<<"性别错误(男或女)!

请重新输入!

"<

e=1;

}

else

e=0;

}while(e);

return;

cout<<"学号:

"<

cin>>num1;

cout<<"数学:

"<

cin>>x1;

cout<<"语文:

"<

cin>>y1;

cout<<"英语:

"<

cin>>z1;

q=newstudent(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<<"学号已存在,请重新输入"<

return;

}

while(t->next)

{

if(t->num==num1)

{

cout<<"学号已存在,请重新输入"<

return;

}

t=t->next;

}

t->next=q;

}

else

{

stu=q;

}

cout<<"输入完毕"<

}

voidcla:

:

sremove()//删除

{

system("cls");

intnum1;

cout<<"\n**删除学生信息**\n";

cout<<"请输入想要删除学生的学号:

";

cin>>num1;

//查找要删除的结点

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]"<

charc;cin>>c;

if(toupper(c)!

='Y')return;

if(p1==stu)//若要删除的结点是第一个结点

{

stu=p1->next;

deletep1;

}

else//若要删除的结点是后续结点

{

p2->next=p1->next;

deletep1;

}

cout<<"找到学号为"<

}

else//未找到结点

cout<<"未找到想要删除的学生!

\n";

}

voidcla:

:

samend()//修改

{

system("cls");

longnum1;

cout<<"\n**修改学生信息**\n";

cout<<"输入要修改学生的学号";

cin>>num1;

//查找要修改的结点

student*p1,*p2;

p1=stu;

while(p1)

{

if(p1->num==num1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!

=NULL)

{

cout<<"学号是("<

"<

cout<<"姓名:

"<name<<"性别:

"<sex<<"数学:

"<x<<"语文:

"<y<<"英语:

"<z<

cout<<"请输入修改后的信息:

姓名性别数学成绩语文成绩英语成绩"<

cin>>p1->name>>p1->sex>>p1->x>>p1->y>>p1->z;

p1->AA=p1->x+p1->y+p1->z;

cout<<"修改成功"<

}

else//未找到接点

cout<<"未找到!

\n";

}

voidcla:

:

ssearch()//查询

{

system("cls");

cout<<"\n**查询学生信息**\n"<

cout<<"请输入查询方式:

"<

cout<<"1.按学号查询"<

cout<<"2.按姓名查询"<

cout<<"3.返回"<

charc;cin>>c;

switch(c)

{

case'1':

{

longnum1;

cout<<"要查询的学号:

"<

cin>>num1;

//查找要查询的结点

student*p1,*p2;

p1=stu;

while(p1)

{

if(p1->num==num1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!

=NULL)

{

cout<<"学号是:

"<

"<

cout<<"姓名:

"<name<<"性别:

"<sex<<"数学:

"<x<<"语文:

"<y<<"英语:

"<z<

cout<<"查询完毕";

}

else//未找到接点

cout<<"未找到!

\n";

break;

}

case'2':

{

stringname1;

cout<<"要查询的学生姓名:

"<

cin>>name1;

//查找要查询的结点

student*p1,*p2;

p1=stu;

while(p1)

{

if(p1->name==name1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!

=NULL)

{

cout<

"<

cout<<"性别:

"<sex<<"学号:

"<num<<"数学:

"<x<<"语文:

"<y<<"英语:

"<z<

cout<<"查询完毕";

}

else//未找到接点

cout<<"未找到!

\n";

break;

}

case'3':

return;

}

}

voidcla:

:

pxh()//按学号排序

{

student*p1,*p2;

intn;

p1=stu;

n=1;

while(p1->next)

{n++;p1=p1->next;}

cout<<"共有"<

inti;

p1=stu;

for(i=1;i

{

p1=stu;

if(p1->num>p1->next->num)//如果头结点大于第二个的

{

p2=p1->next;

p1->next=p1->next->next;

p2->next=p1;//头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next)//中间的交换

{

p2=p1;

p1=p1->next;

if(p1->num>p1->next->num)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next;//交换

}

}

}

p1=stu;

do

{

p1->play();

p1=p1->next;

}

while(p1);

}

voidcla:

:

psx()//按数学成绩排序

{

student*p1,*p2;

intn;

p1=stu;

n=1;

while(p1->next)

{n++;p1=p1->next;}

cout<<"共有"<

inti;

p1=stu;

for(i=1;i

{p1=stu;

if(p1->x>p1->next->x)//如果头结点大于第二个的

{p2=p1->next;

p1->next

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1