c++数据结构学生管理系统.docx
《c++数据结构学生管理系统.docx》由会员分享,可在线阅读,更多相关《c++数据结构学生管理系统.docx(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
12、;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-next;/p指向头结点的下一个节点 while(p&jnext; j+; if(
13、!p|jpos) coutdata; template T LinkList:Find(T item) Node *p; p=head-next; while(p&p-data!=item) p=p-next; if(!p) coutdata; template int LinkList:Locate(T item) Node *p; p=head-next; int j=1; while(p&p-data!=item) p=p-next; j+; if(p) return j; else return 0; template void LinkList:PrintLinkList Node
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 数据结构 学生 管理 系统

链接地址:https://www.31ppt.com/p-3153791.html