c数据结构学生管理系统Word下载.docx
- 文档编号:4334052
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:31
- 大小:133.52KB
c数据结构学生管理系统Word下载.docx
《c数据结构学生管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《c数据结构学生管理系统Word下载.docx(31页珍藏版)》请在冰点文库上搜索。
friendifstream&
operator>
>
(ifstream&
friendofstream&
(ofstream&
stringGetName();
2、核心代码
ostream&
stu)
{
ost<
"
Name"
endl;
Sex"
Brithday"
ID"
Major"
returnost;
}
3、测试代码
Case’a’:
case'
b'
:
system("
cls"
);
();
cout<
请输入选择(帮助选项-->
h):
"
break;
cout<
当前链表的长度为:
length=();
c'
d'
system("
现有学生的名字:
();
请输入学生的姓名"
cin>
name;
(name);
delstu=(stu);
delstu;
delstu=(stu);
3、源代码
请输入修改的学生的姓名:
pos=(stu);
f'
pos=(stu);
(pos);
请输入学生的新的信息:
请输入学生的性别"
sex;
(sex);
请输入学生的生日"
brithday;
(brithday);
请输入学生的学号"
ID;
(ID);
请输入学生的专业"
major;
(major);
请输入平均成绩"
ave;
(ave);
(pos,stu);
("
g'
#ifndefLinkList_H
#defineLinkList_H
#include<
#include<
fstream>
usingnamespacestd;
template<
classT>
structNode
Tdata;
//元素自身的信息,数据域
Node<
T>
*next;
//后继元素存储地址,地址域
};
classLinkList
*head;
//单链表的头指针
public:
LinkList();
LinkList(Ta[],intn);
voidSetLinList(Ta[],intn);
~LinkList();
intListLength();
//求链表的长度
TGet(intpos);
//按位查找,取单链表中第POS个节点的元素值
TFind(Titem);
//查找函数,以T类型的数据作为参数
intLocate(Titem);
//按值查找,求单链表中值为item的元素的序号
voidPrintLinkList();
voidInsert(inti,Titem);
//在i的位置插入元素item
TDelete(inti);
//在单链表中删除第i个节点,并返回这个值
voidInvert();
//逆置函数
friendvoidMerge(LinkList<
&
L1,LinkList<
L2);
//归并链表
voidDisplayNode(inti);
voidSave(charfname[]);
//保存
voidOpen(charfname[]);
voidDisplayName();
//显示名字
voidSort();
//排序
#endif
#include"
//用于创建一个带有头结点的空链表
LinkList<
LinkList()
head=newNode<
;
//私有
head->
next=NULL;
/*
用于创建一个带有头结点的空链表
*/
LinkList(Ta[],intn)//尾插法
*rear;
rear=head;
//指向当前单链表的最后一个节点
for(inti=0;
i<
n;
i++)
{
Node<
*s;
s=newNode<
s->
data=a[i];
rear->
next=s;
//rear=head
rear=s;
//rear一直是指向单链表的最后一项
}
rear->
//单链表创建结束,最后一个节点的指针置为空
voidLinkList<
SetLinList(Ta[],intn)
*rear=head;
intLinkList<
ListLength()
intnum=0;
*p;
p=head->
next;
while(p)
p=p->
num++;
returnnum;
TLinkList<
Get(intpos)
intj=1;
//p指向头结点的下一个节点
while(p&
&
j<
pos)
j++;
if(!
p||j>
cout<
查找位置非法"
exit
(1);
else
returnp->
data;
Find(Titem)
p->
data!
=item)
p)
Locate(Titem)
if(p)
returnj;
return0;
PrintLinkList()
data<
Insert(inti,Titem)
p=head;
intj=0;
i-1)
cerr<
插入位置非法"
*s=newNode<
data=item;
next=p->
p->
Delete(inti)
*p,*q;
Tx;
p||!
next)
位置非法"
q=p->
x=q->
next=q->
deleteq;
returnx;
/*利用头插法*/
Invert()
//将逆置后的单链表初始化为空表
while(p!
=NULL)
*q=p;
q->
next=head->
head->
next=q;
~LinkList()
*q=newNode<
while(head!
q=head;
head=head->
voidMerge(LinkList<
L2)//归并链表
*p1,*p2,*p3;
p1=>
//指向第一个数据的节点
p2=>
p3=;
//指向L1的头结点
while((p1!
=NULL)&
(p2!
=NULL))
if((p1->
data)<
(p2->
data))
{
p3->
next=p1;
p1=p1->
p3=p3->
}
else
next=p2;
p2=p2->
if(p1!
=NULL)//p2为空的时候
p3->
if(p2!
delete;
=NULL;
Save(charfname[])
ofstreamfout(fname);
fout<
ListLength()<
fout<
();
Open(charfname[])
ifstreamfin(fname);
intn;
fin>
Titem;
//Node<
*p=newNode<
//fin>
fin>
item;
Insert(i+1,item);
DisplayName()
()<
Sort()
intlen=ListLength();
for(inti=1;
len;
p=head->
for(intj=0;
len-i;
j++)
if(p->
data>
next->
data)
{
Ttemp=p->
p->
data=p->
data=temp;
}
p=p->
string>
classStudent;
os,Student&
stu);
ifstream&
ofstream&
operator<
classStudent
public:
voidSetAve(intstrave);
iostream>
Average"
ost>
Student:
Student()
voidStudent:
SetName(string&
strname)
name=strname;
SetSex(string&
strsex)
sex=strsex;
SetBrith(string&
strbrith)
brithday=strbrith;
SetID(string&
strID)
ID=strID;
SetMajor(string&
strmajor)
major=strmajor;
SetAve(intstrave)
ave=strave;
boolStudent:
operator!
if==name)
returnfalse;
returntrue;
operator>
stu1)
if>
ave)
returntrue;
returnfalse;
stringStudent:
GetName()
returnname;
EditPerson()
voidmenu()
cout<
a、增加一个学生信息"
b、打印链表"
c、获取当前链表的长度"
d、查询学生的信息"
e、删除学生信息"
f、修改学生的信息"
g、按平均成绩进行排序"
h、帮助"
o、退出"
voidmain()
charch;
LinkList<
Student>
list;
("
stringname,sex,ID,brithday,major,newname;
intlength,pos,ave;
Studentstu,delstu;
menu();
input"
do{
ch=getchar();
switch(ch)
case'
h'
menu();
a'
//();
cin>
(name);
(sex);
(brithday);
(ID);
(major);
(ave);
(1,stu);
("
cas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 学生 管理 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)