#include
#include
using namespace std;
static int n=0;
struct List{
string name{};
long long date{};
List *next;
};
void CreatList(List *L){
L=new List;
L->next=nullptr;
}
void InputSList(List *L){
List r;
cout<<"请输入您要输入的学生数量的总数:";
cin>>n;
cout<<"请输入学生的姓名和学号"<
for(int i=0;i
r=new List;
/*e = new List;
e->next=nullptr;
cin >>r->name>>r->date;
/r->next=e; r->next=L->next;L->next=r;
r=r->next;/
r->next=L->next;
L->next=r;
}
cout<<"输入完成"<
}
void InsertList(List *L,int size){
List *e,*r;
e=L;
r=new List;
int count=0;
while(e&&size
e=e->next;
count++;
}
if((count==size)&&size
cout << "请输入该学生的姓名和学号:";
cin >> r->name >> r->date;
r->next=e->next;
e->next=r;
cout<<"插入成功"<
}
}
void influenceList(List *L,int size){
List *e;
int c=0;
e=L;
int count=0;
while(e&&size
e=e->next;
count++;
}
if((count==size)&&size
cout<<"你要修改的学生信息:"<name<<" "
cout<<"1.姓名"<
cin>>c;
switch (c) {
case 1:
cin>>e->name;
case 2:
cin>>e->date;
default:
cout<<"您输入的有误,系统自动退出"<
break;
}
cout<<"修改成功"<
}
}
void deleteList(List *L,int size){
List *e,*r;
e=L;
r=new List;
int count=0;
while(e&&size
e=e->next;
count++;
}
r=e;
e=e->next;
r->next=e->next;
delete e;
cout<<"已成功删除该学生信息"<
}
void showList(List *L){
List *e;
e=L;
while(e){
e=e->next;
cout<<"学生姓名:"<name<<"学号:"
cout<<"所有学生均如上列"<
}
int main(){
List *L;
CreatList(L);
cout<<"欢迎进入学生信息管理系统"<
cout<<"请选择您要执行的功能"<
cout<<"1.创建学生班级"<
cout<<"2.添加学生信息"<
cout<<"3.修改学生信息"<
cout<<"4.删除学生信息"<
cout<<"5.查看学生信息"<
int a{};int size{};
cin>>a;
switch (a) {
case 1:
InputSList(L);
break;
case 2:
cout<<"请输入您要插入的序号"<
cin>>size;
InsertList(L,size);
break;
case 3:
cout<<"请输入您要修改学生的序号"<
cin>>size;
influenceList(L,size);
break;
case 4:
cout<<"请输入您要删除学生的序号"<
cin>>size;
deleteList(L,size);
break;
case 5:
cout<<"输出全部信息,如下:"<
showList(L);
break;
}
}
正确输入学生信息
List *L;
CreatList(L);
你没有给L分配空间啊,就在CreateList函数中直接r->next = L->next,会崩溃的
改为
List *L = new List;
L->next = NULL;
CreateList(L);