《简易学生信息管理系统 - 记事本》由会员分享,可在线阅读,更多相关《简易学生信息管理系统 - 记事本(5页珍藏版)》请在金锄头文库上搜索。
1、简易学生信息管理系统 /* 课程名称:面向对象程序设计课程设计 课程设计题目:简易学生信息管理系统 姓名:潘奕涛 系:计算机系 专业:计算机科学与技术(专升本) 年级:06级 学号:061142175 指导老师:陈琼 职称:副教授 */ #include #include #define MaxHEAP 100 using namespace std; /学生元素类,用于存放学生的各种数据 class Elem private: string objectID; /学号 int priority; /优先级,优先级越高排越前面 string proName; /姓名 public: Elem(
2、string objectID=“0“,int priority=0);/构造函数,初始化变量 string getID();/获取学号 int getPri();/获取优先级 string getProN();/获取姓名 void setID(string id);/设置学号 void setPri(int pri);/设置优先级 void setProN(string s);/设置姓名 ; Elem:Elem(string objectID,int priority) setID(objectID); setPri(priority); setProN(proName); string E
3、lem:getID() return objectID; int Elem:getPri() return priority; string Elem:getProN() return proName; void Elem:setID(string id) objectID=id; void Elem:setPri(int pri) priority=pri; void Elem:setProN(string s) proName=s; 第 1 页 简易学生信息管理系统 /class Elem结束 /Heap类,把数据以堆的形式存储,可便进行堆排序 class Heap private: El
4、em itemsMaxHEAP; /学生元素类对象数组 int size;/数组大小 public : Heap();/构造函数,初始化变量 void setSize(int sz);/设置对象数组大小 int heapIsEmpty();/判断堆是否为空 void heapInsert(Elem newItem);/向堆插入数据 Elem heapDelete(string ID);/从堆删除数据 void heapInit();/清空堆中数据 void heapView();/查看堆中数据 void search(string ID);/在堆中查找数据 void sift(int i,in
5、t m);/堆排序中要用到的一个子函数 void heapRebuild(int root);/跟据优先级大小进行堆排序 ; Heap:Heap() Elem itemsMaxHEAP; setSize(0); void Heap:setSize(int sz) size=sz; int Heap:heapIsEmpty() return size=0; void Heap:heapInsert(Elem newItem) if(size=0;i-)sift(i,size-1);/初始化堆 for(i=size-1;i0;i-) temp=items0; items0=itemsi; item
6、si=temp; sift(0,i-1);/筛根 /class Heap 结束 /用于包装Heap类 class priQueue private: Heap h; public: priQueue(); int priIsEmpty(); void priInit(); void priInsert(Elem newItem); Elem priDelete(string ID); void priView(); void search(string ID); 第 3 页 简易学生信息管理系统 ; priQueue:priQueue() Heap(); int priQueue:priIsE
7、mpty() return h.heapIsEmpty(); void priQueue:priInit() h.heapInit(); void priQueue:priInsert(Elem newItem) h.heapInsert(newItem); Elem priQueue:priDelete(string ID) return h.heapDelete(ID); void priQueue:priView() h.heapView(); void priQueue:search(string ID) h.search(ID); /class priQueue 结束 void sh
8、owMenu()/显示操作菜单 couti; system(“cls“); while(i!=“0“) /依照用户的输入选择对应的操作函数进行操作 第 4 页 简易学生信息管理系统 if(i=“1“) system(“cls“); showMenu(); coutID; coutPRI; in.setID(ID); in.setPri(PRI); in.setProN(proName); PQ.priInsert(in); showTip(); else if(i=“3“) system(“cls“); showMenu(); coutID; PQ.search(ID); showTip(); else if(i=“5“) system(“cls“); showMenu(); couti; system(“cls“); return 0; 第 5 页