求用C语言的链表实现图书信息管理的课程设计和实验报告
t; # include # include #include //用getch(); using namespace std; //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ class Student { public: char name[20]; char Id[20]; int Cnum; //C课程得分 int Mnum; //数学课程得分 int Enum; //英语课程得分 int sum; //总分 Student * Next; void Input() { cout...全部
t; # include # include #include //用getch(); using namespace std; //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ class Student { public: char name[20]; char Id[20]; int Cnum; //C课程得分 int Mnum; //数学课程得分 int Enum; //英语课程得分 int sum; //总分 Student * Next; void Input() { cout>name; cout>Id; cout>Cnum; cout>Mnum; cout>Enum; sum=Cnum Mnum Enum; } void ReadFile(istream & in) { in>>name>>Id>>Cnum>>Mnum>>Enum>>sum; } void Show() { coutNext;p!=End;p=p->Next) p->Show(); coutInput(); End->Next=new Student; End=End->Next; coutNext!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p->Next->name,name))return p; return NULL; } Student *FindID(char * Id) { for(Student * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p->Next->Id,Id))return p; return NULL; } }; //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ Studentmassage::Studentmassage() { Head=new Student; Head->Next=new Student; End=Head->Next; in。
open("sort。txt"); if(!in) coutReadFile(in); if(End->name[0]==' ')break; End->Next=new Student; End=End->Next; } in。
close(); coutNext!=End;) { temp=Head->Next; Head->Next=Head->Next->Next; delete temp; } delete Head,End; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::ShowMenu() { cout>x; switch(x) { case 1:{cout>name; if(p=FindItem(name)) { p->Next->Show(); cout>Id; if(p=FindID(Id)) { p->Next->Show(); cout>name; if(p=FindItem(name)) { coutNext->Input(); cout>name; if(p=FindItem(name)) { temp=p->Next; p->Next=p->Next->Next; delete temp; coutname,p1->name); strcpy(temp->Id,p1->Id); temp->Cnum=p1->Cnum; temp->Mnum=p1->Mnum; temp->Enum=p1->Enum; temp->sum=p1->sum; strcpy(p1->name,p2->name); strcpy(p1->Id,p2->Id); p1->Cnum=p2->Cnum; p1->Mnum=p2->Mnum; p1->Enum=p2->Enum; p1->sum=p2->sum; strcpy(p2->name,temp->name); strcpy(p2->Id,temp->Id); p2->Cnum=temp->Cnum; p2->Mnum=temp->Mnum; p2->Enum=temp->Enum; p2->sum=temp->sum; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ int Studentmassage::ListCount()//统计当前链表的记录总数,返回一个整数 { if(! Head) return 0; int n=0; for(Student * p=Head->Next;p!=End;p=p->Next) { n ; } return n; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::Sort()//对当前链表进行排序 { cout Next;p!=End;p=p->Next) for(k=p->Next;k!=End;k=k->Next) { if(p->sum>k->sum) { Studentmassage::Swap(p,k); } } cout Next;p!=End;p=p->Next) out>x; switch(x) { case 0:quit=true;break; case 1:Grade。
AddItem();break; case 2:Grade。Display();break; case 3:Grade。Sort();break; case 4:Grade。Find();break; case 5:Grade。
RemoveItem();break; case 6:Grade。ModifyItem();break; } } return 0; } //你要的功能全部实现了~你再改改吧,有多余的功能,设计报告你就自己写写吧!能帮你的就这么多了。
另外,站长团上有产品团购,便宜有保证。收起