#include <iostream>
#include <stdlib.h>
#include <malloc.h>
#include <string>
#include <bits/stdc++.h>
#define len sizeof(Lnode)
using namespace std;
typedef struct Lnode
{
int id;
float score;
char name[100];
struct Lnode *next;
} Lnode,*Linklist;
Linklist info()
{
int n;
cout<<"请输入您要增加学生的数量"<<endl;
cin>>n;//学生数量
Lnode *p,*head,*tail;
head=(Linklist)malloc(len);
head->next=NULL;
tail=head;
for(int i=0; i<n; i++)
{
p=(Linklist)malloc(len);
p->next=NULL;
cout<<"请输入学生的学号:"<<endl;
cin>>p->id;
getchar();
cout<<"请输入学生的姓名:"<<endl;
cin>>p->name;
cout<<"请输入学生的分数:"<<endl;
cin>>p->score;
tail->next=p;
tail=p;
}
cout<<"增加学生信息成功!"<<endl;
cout<<endl;
return head;
}
void show_all(Lnode *head)
{
Lnode *q;
q = head->next;
while(q!=NULL)
{
if(q!=NULL)
{
cout<<"学号:";
cout<<q->id<<endl;
cout<<"姓名:";
cout<<q->name<<endl;
cout<<"分数:";
cout<<q->score<<endl;
}
/*if(q->next==NULL)
{
break;
}*/
cout<<endl;
q=q->next;
}
}
Linklist change(Lnode *head)
{
int flag=0,num;//提示用户是否修改成功
cout<<"请输入您要修改的学生的学号:"<<endl;
cin>>num;//学生的学号
Lnode *q;
q=head->next;
while(q!=NULL)
{
if(num==q->id)
{
cout<<"请输入您要修改的姓名:"<<endl;
cin>>q->name;
cout<<"请输入您要修改的分数:"<<endl;
cin>>q->score;
flag=1;
break;
}
else
{
q=q->next;
}
}
if(flag==1)
{
cout<<"修改成功!"<<endl;
}
else
{
cout<<"修改失败!"<<endl;
}
}
/*Linklist delet(Lnode *head)
{
Lnode *p,*q;
p=head;
while(p!=NULL)
{
q=p->next;
while(q!=NULL)
{
if(q->data==id)
{
p->next=q->next;
free(q);
}
else
{
p=p->next;
q=q->next;
}
}
}
}*/
Linklist add(Lnode *head)
{
Lnode *q;
q=head->next;
while(q->next!=NULL)
{
q=q->next;
}
Lnode *t;
t=(Linklist)malloc(len);
cout<<"请输入新增学生的学号:"<<endl;
cin>>t->id;
cout<<"请输入新增学生的姓名:"<<endl;
cin>>t->name;
cout<<"请输入新增学生的分数:"<<endl;
cin>>t->score;
q->next=t;
}
void showMain()
{
cout<<"欢迎来到学生信息管理系统"<<endl;
cout<<"1.【初始化学生信息】"<<endl;
cout<<"2.【显示学生信息】"<<endl;
cout<<"3.【修改学生信息】"<<endl;
cout<<"4.【新增学生信息】"<<endl;
cout<<"0.【退出本系统啊】"<<endl;
}
int main()
{
int Flag=1;
Lnode *head;
showMain();
int choose;
while(Flag)
{
cout<<"请输入你的选择"<<endl;
cin>>choose;
switch(choose)
{
case 1:
head=info();
break;
case 2:
show_all(head);
break;
case 3:
change(head);
break;
case 4:
add(head);
break;
case 0:
Flag=0;
break;
}
}
cout<<"谢谢使用!"<<endl;
return 0;
}
#include <stdlib.h>
#include <malloc.h>
#include <string>
#include <bits/stdc++.h>
#define len sizeof(Lnode)
using namespace std;
typedef struct Lnode
{
int id;
float score;
char name[100];
struct Lnode *next;
} Lnode,*Linklist;
Linklist info()
{
int n;
cout<<"请输入您要增加学生的数量"<<endl;
cin>>n;//学生数量
Lnode *p,*head,*tail;
head=(Linklist)malloc(len);
head->next=NULL;
tail=head;
for(int i=0; i<n; i++)
{
p=(Linklist)malloc(len);
p->next=NULL;
cout<<"请输入学生的学号:"<<endl;
cin>>p->id;
getchar();
cout<<"请输入学生的姓名:"<<endl;
cin>>p->name;
cout<<"请输入学生的分数:"<<endl;
cin>>p->score;
tail->next=p;
tail=p;
}
cout<<"增加学生信息成功!"<<endl;
cout<<endl;
return head;
}
void show_all(Lnode *head)
{
Lnode *q;
q = head->next;
while(q!=NULL)
{
if(q!=NULL)
{
cout<<"学号:";
cout<<q->id<<endl;
cout<<"姓名:";
cout<<q->name<<endl;
cout<<"分数:";
cout<<q->score<<endl;
}
/*if(q->next==NULL)
{
break;
}*/
cout<<endl;
q=q->next;
}
}
Linklist change(Lnode *head)
{
int flag=0,num;//提示用户是否修改成功
cout<<"请输入您要修改的学生的学号:"<<endl;
cin>>num;//学生的学号
Lnode *q;
q=head->next;
while(q!=NULL)
{
if(num==q->id)
{
cout<<"请输入您要修改的姓名:"<<endl;
cin>>q->name;
cout<<"请输入您要修改的分数:"<<endl;
cin>>q->score;
flag=1;
break;
}
else
{
q=q->next;
}
}
if(flag==1)
{
cout<<"修改成功!"<<endl;
}
else
{
cout<<"修改失败!"<<endl;
}
}
/*Linklist delet(Lnode *head)
{
Lnode *p,*q;
p=head;
while(p!=NULL)
{
q=p->next;
while(q!=NULL)
{
if(q->data==id)
{
p->next=q->next;
free(q);
}
else
{
p=p->next;
q=q->next;
}
}
}
}*/
Linklist add(Lnode *head)
{
Lnode *q;
q=head->next;
while(q->next!=NULL)
{
q=q->next;
}
Lnode *t;
t=(Linklist)malloc(len);
cout<<"请输入新增学生的学号:"<<endl;
cin>>t->id;
cout<<"请输入新增学生的姓名:"<<endl;
cin>>t->name;
cout<<"请输入新增学生的分数:"<<endl;
cin>>t->score;
q->next=t;
}
void showMain()
{
cout<<"欢迎来到学生信息管理系统"<<endl;
cout<<"1.【初始化学生信息】"<<endl;
cout<<"2.【显示学生信息】"<<endl;
cout<<"3.【修改学生信息】"<<endl;
cout<<"4.【新增学生信息】"<<endl;
cout<<"0.【退出本系统啊】"<<endl;
}
int main()
{
int Flag=1;
Lnode *head;
showMain();
int choose;
while(Flag)
{
cout<<"请输入你的选择"<<endl;
cin>>choose;
switch(choose)
{
case 1:
head=info();
break;
case 2:
show_all(head);
break;
case 3:
change(head);
break;
case 4:
add(head);
break;
case 0:
Flag=0;
break;
}
}
cout<<"谢谢使用!"<<endl;
return 0;
}