福州大学数学与计算机科学学院
专业和班级 姓名 课程名称 实 验 目 的 和 要 求 学号 数据结构 实验名称 《数据结构》上机实验报告
成绩 班级学生信息管理 1.班级学生信息管理(利用链表实现一个班级学生信息管理,包括数据录入、插入、删除、排序、查找等)[或设计一个工资表管理系统] #include #include using namespace std; #define TRUE 1 #define FALSE 0 #define WORD_LEN 15 class Student { public: Student(); void stuInit(); Student* getNext(); void setNext(Student*); char* getID(); int cmpID(char*); void stuOut(); private: char _stuID[WORD_LEN],_stuName[WORD_LEN],_stuSex[WORD_LEN]; Student* _next; }; Student::Student() {_next=NULL;} void Student::stuInit() { cin.getline(_stuID,WORD_LEN,' '); cin.getline(_stuName,WORD_LEN,' '); cin.getline(_stuSex,WORD_LEN); } Student* Student::getNext() {return _next;} void Student::setNext(Student* next) {_next=next;} char* Student::getID() {return _stuID;} int Student::cmpID(char* stuID) {return strcmp(_stuID,stuID);} void Student::stuOut() { cout<<_stuID<<\" \"<<_stuName<<\" \"<<_stuSex<stuInit(); newStu->setNext(_head->getNext()); _head->setNext(newStu); _Len++; } bool Class::delStu(char* stuID) { Student* test,*pre; pre=_head; test=pre->getNext(); while(test!=NULL) { if(!(test->cmpID(stuID))) {pre->setNext(test->getNext()); delete test; return TRUE; } pre=test; test=pre->getNext(); }return FALSE; }void Class::sort() {Student*pre,*test,*sortPre,*sortStu; sortPre=_head,sortStu=sortPre->getNext(); while(sortStu!=NULL) {pre=_head,test=pre->getNext(); while(test->cmpID(sortStu->getID())<0) {pre=test;test=pre->getNext();} if(test!=sortStu) {sortPre->setNext(sortStu->getNext()); pre->setNext(sortStu); sortStu->setNext(test);} else sortPre=sortPre->getNext(); sortStu=sortPre->getNext();}} Student* Class::getStu(char* stuID) { Student* test=_head->getNext(); while(test!=NULL) {if(!(test->cmpID(stuID))) {test->stuOut();return test;} test=test->getNext();} cout<<\"no this stu\"<getNext(); while(test!=NULL) { test->stuOut(); test=test->getNext();} }Class::~Class() { Student* test=_head; while(test!=NULL) {_head=test->getNext(); delete test; test=_head;}} int main() {int n; cin>>n; cin.ignore(); while(n--) {CLS.addStu();} cout<<\"all stu:\"<