单链表学生管理系统(C++)
原理
利用俩个结构体嵌套,实现简单的学生管理系统
代码
可能用到的头文件
#include<cstring>
#include<stdbool.h>
#include<stdlib.h>
#include<iostream>
#include<malloc.h>
#include<cmath>
using namespace std;
结构体(环环相扣)
struct student
{
char name[20];
long long int number;
float score;
};
struct Class
{
student stu;
Class* next;
//只能指同类型的指针 不然会"爆" //为什么next要放这里 因为next所指的东西在Class里面
};
菜单
void menu(){
cout<<"--1.建立头节点"<<endl;
cout<<"--2.尾插法(为空的时候往里面导)"<<endl;
cout<<"--3.插入结点(班级)"<<endl;
cout<<"--4.输出单链表"<<endl;
cout<<"--5.输出链表长度"<<endl;
cout<<"--6.查找(按学号查找)"<<endl;
cout<<"--7.删除单链表中某个元素"<<endl;
cout<<"--8.摧毁单链表"<<endl;
}
用到的函数
bool InitList(Class* & L); //建立头节点
bool GreatList(Class* &L); //尾插法(为空的时间往里面导)
bool InsertClass(Class* & L); //插入结点(班级)
bool DispList(Class* &L); //输出单链表
bool ListLength(Class* L); //输出链表长度
bool LocateElem(Class* L); //查找(按学号查找)
bool DeleteList(Class* &L); //删除单链表中某个元素
bool DestroyListy(Class* & L); //摧毁单链表
主函数
int main(){
Class* L = NULL;
bool flag = true;
int n;
menu();
while(cin>>n){
switch(n