c++数据结构学生管理系统

上传人:M****1 文档编号:469465933 上传时间:2023-11-06 格式:DOCX 页数:16 大小:40.51KB
返回 下载 相关 举报
c++数据结构学生管理系统_第1页
第1页 / 共16页
c++数据结构学生管理系统_第2页
第2页 / 共16页
c++数据结构学生管理系统_第3页
第3页 / 共16页
c++数据结构学生管理系统_第4页
第4页 / 共16页
c++数据结构学生管理系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《c++数据结构学生管理系统》由会员分享,可在线阅读,更多相关《c++数据结构学生管理系统(16页珍藏版)》请在金锄头文库上搜索。

1、c+数据结构学生管理系统C+数据结构学生管理系统 单链表实现 用模板类实现,实现操作符的重载 非常详细的代码及其操作 1、 Student.h private: 2 、 string name;/ 姓名 string ID;/学号 string sex;/性别 string major;/专业 string brithday;/生日 int ave;/均分 Student; void SetName(string& strname); void SetSex(string& strsex); void SetBrith(string& strbrith); void SetID(string&

2、 strID); void SetMajor(string& strmajor); void EditPerson; bool operator !=(Student& stu); bool operator(Student& stu); friend ostream& operator(ifstream& ost,Student& stu); friend ofstream& operator(ofstream& ost,Student& stu); string GetName; 2、核心代码 ostream& operator(ostream& ost,Student& stu) ost

3、Name stu.nameendl; ostSex stu.sexendl; ostBrithday stu.brithdayendl; ostID stu.IDendl; ostMajor stu.major(ifstream& ost,Student& stu) oststu.name; oststu.sex; oststu.brithday; oststu.ID; oststu.major; return ost; ofstream& operator (ofstream& ost,Student& stu) oststu.nameendl; oststu.sexendl; oststu

4、.brithdayendl; oststu.IDendl; oststu.major(Student& stu1) if(stu1.aveave) return true; return false; Casea: system(cls); /stu.EditPerson; cout请输入学生的姓名name; stu.SetName(name); cout请输入学生的性别sex; stu.SetSex(sex); cout请输入学生的生日brithday; stu.SetBrith(brithday); cout请输入学生的学号ID; stu.SetID(ID); cout请输入学生的专业ma

5、jor; stu.SetMajor(major); cout请输入平均成绩ave; stu.SetAve(ave); list.Insert(1,stu); list.Save(Student.txt); cout请输入选择: endl; break; caseb: system(cls); list.PrintLinkList; cout请输入选择: endl; break; casec: cout当前链表的长度为:endl; length=list.ListLength; cased: system(cls); cout现有学生的名字:endl; list.DisplayName; cou

6、tendl; cout请输入学生的姓名name; stu.SetName(name); delstu=list.Find(stu); cased: cout现有学生的名字:endl; list.DisplayName; coutendl; cout请输入学生的姓名name; stu.SetName(name); delstu=list.Find(stu); coutdelstu; 3、 源代码 casef: system(cls); cout现有学生的名字:endl; list.DisplayName; cout请输入修改的学生的姓名:name; tu.SetName(name); delst

7、u=list.Find(stu); pos=list.Locate(stu); list.Delete(pos); cout请输入学生的新的信息:endl; coutendl; cout请输入学生的姓名name; stu.SetName(name); cout请输入学生的性别sex; stu.SetSex(sex); cout请输入学生的生日brithday; stu.SetBrith(brithday); cout请输入学生的学号ID; stu.SetID(ID); cout请输入学生的专业major; stu.SetMajor(major); cout请输入平均成绩ave; stu.Set

8、Ave(ave); caseg: list.Sort; list.PrintLinkList; LinkList.h #ifndef LinkList_H #define LinkList_H #include #include using namespace std; template struct Node T data; Node *next; ; template class LinkList 值 序号 /元素自身的信息,数据域 /后继元素存储地址,地址域 Node *head; public: LinkList; LinkList(T a,int n); void SetLinLis

9、t(T a,int n); LinkList; int ListLength; T Get(int pos); T Find(T item); int Locate(T item); void PrintLinkList; /单链表的头指针 /求链表的长度 /按位查找,取单链表中第POS个节点的元素/查找函数,以T类型的数据作为参数 /按值查找,求单链表中值为item的元素的 void Insert(int i,T item); /在i的位置插入元素item T Delete(int i); /在单链表中删除第i个节点,并返回这个值 void Invert; /逆置函数 friend void

10、 Merge(LinkList &L1,LinkList &L2);/归并链表 void DisplayNode(int i); void Save(char fname); void Open(char fname); /保存 /显示名字 /排序 void DisplayName; void Sort; ; #endif LinkList.cpp #includeLinkList.h template /用于创建一个带有头结点的空链表 LinkList:LinkList head=new Node;/私有 head-next=NULL; template /* 用于创建一个带有头结点的空链表

11、 */ LinkList:LinkList(T a,int n)/尾插法 Node *rear; rear=head;/指向当前单链表的最后一个节点 for(int i=0;in;i+) Node *s; s=new Node; s-data=ai; rear-next=s;/rear=head rear=s;/rear一直是指向单链表的最后一项 rear-next=NULL;/单链表创建结束,最后一个节点的指针置为空 template void LinkList:SetLinList(T a,int n) head=new Node; Node *rear=head; for(int i=0;in;i+) Node *s; s=new Node; s-data=ai; rear-next=s; rear=s; rear-next=NULL;/单链表创建结束,最后一个节点的指针置为空 template int LinkList:ListLength int num=0; Node *p; p=head-next; while(p) p=p-next; num+; return num; template T LinkList:Get(int pos) Node *p; int j=1; p=head-nex

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号