用链表做一个学生管理系统,后面的就不会了,求解
#include <stdio.h>#include <stdlib.h>
struct stu {
int id[13];
char name[21];
int s1,s2,s3;
struct stu *next;
};
typedef struct stu LNode,*LinkList;
void CreateStuList(struct stu *head);
void PrintStuList(struct stu *head);
void StuListInsert(struct stu *head);
int main()
{
LinkList head;
int select;
head=(LinkList)malloc(sizeof(LNode));
head->next = NULL;
printf("===============\n");
while(1)
{
printf("1:创建链表\n");
printf("2:插入元素\n");
printf("3:删除元素\n");
printf("4:显示元素\n");
printf("0:退出系统\n");
printf("===============\n");
printf("请选择菜单项:\n");
scanf("%d",&select);
switch(select){
case 1:
CreateStuList(head);
break;
case 2:
printf("请输入待添加学生的信息: ");
StuListInsert(head);
break;
case 4:
PrintStuList(head);
printf("\n");
break;
case 0:
exit(0);
}
}
return 0;
}
void CreateStuList(struct stu *head)
{
LinkList p,rear = head;
printf("输入若干整数,输入-1表示结束\n");
p=(LinkList)malloc(sizeof(LNode));
p->next=NULL;
while(scanf("%d",&p->id),p->id!=-1)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%s%d%d%d",&p->name,&p->s1,&p->s2,&p->s3);
}
rear->next = p;
}
void PrintStuList(struct stu *head)
{
LinkList p;
p=p->next;
while(p!=NULL)
{
printf("%d %s %d %d %d",p->id,p->name,p->s1,p->s2,p->s3);
p=p->next;
}
}
void StuListInsert(struct stu *head)
{
}