学习代码4

include <stdio.h>

include

include <string.h>

include <windows.h>

define MAXSIZE 100

//54,89,13,09,79,88,32,70,44,07

define MAXSIZE 100

typedef char datype;

typedef struct
{
int num; //学号
char lesson[20];//课程名
char teacher[20];//教师
int score; //成绩
}ElemType;

typedef struct Node
{
ElemType data;
struct Node next;
}Node,
LinkList;

using namespace std;
void InitList(LinkList L)//初始化
{
datype i;
Node s,r;
L=(Node)malloc(sizeof(Node));
r=
L;

while(i!='$')
{
	system("cls"),s=(Node*)malloc(sizeof(Node));
	printf("请输入要插入的数据学号;\n");
	scanf("%d",&s->data.num);
	printf("请输入要插入的数据(课程名);\n");
	fflush(stdin),scanf("%s",&s->data.lesson);
	printf("请输入要插入的数据(教师);\n");
	fflush(stdin),scanf("%s",&s->data.teacher);
	printf("请输入要插入的数据(成绩);\n");
	fflush(stdin),scanf("%d",&s->data.score);
	printf("请输入$退出;\n");
	fflush(stdin),i=getchar(),r->next=s,r=s;
	
}r->next=NULL;

}

void show(LinkList L)//显示
{
Node *p;
p=L->next,
printf("-----------------------------------------------------\n");
printf(" 学号 课程名 教师 成绩 \n");
printf("-----------------------------------------------------\n");
while(p!=NULL)
{
printf(" %-9d%-11s%-12s%d\n",p->data.num,p->data.lesson,p->data.teacher,p->data.score);
p=p->next;
}
printf("-----------------------------------------------------\n");
}

int Add(LinkList L)//插入
{
datype i,k;
Node s,r;
k=0;
printf("请输入位置;");
scanf("%d",&i);
r=L;
while(r->next!=NULL && k<i-1)
{
r=r->next;
k++;
}
if (!r){
printf("位置有误!\n");
return ERROR;
}

while(i!='$')
{
	system("cls"),s=(Node*)malloc(sizeof(Node)),s->next=r->next,r->next=s;
	printf("请输入要插入的数据学号;\n");
	scanf("%d",&s->data.num);
	printf("请输入要插入的数据(课程名);\n");
	fflush(stdin),scanf("%s",&s->data.lesson);
	printf("请输入要插入的数据(教师);\n");
	fflush(stdin),scanf("%s",&s->data.teacher);
	printf("请输入要插入的数据(成绩);\n");
	fflush(stdin),scanf("%d",&s->data.score);
	printf("请输入$退出;\n");
	fflush(stdin),i=getchar(),r->next=s,r=s;
	
}
show(L);
return 0;

}

int main( )
{
LinkList L;
InitList(&L);
int ch;
while(1)
{
printf(" 0---退出系统\n");
printf(" 1---插入\n");
printf(" 9---链表显示\n");
scanf("%d",&ch);
switch(ch)
{
case 0:;printf("感谢使用! ");printf("退出系统!\n");exit(0);
case 1:Add(L);break;
case 9:show(L);break;
default:printf("菜单选择错误!\n");
}
}
return 0;

}

posted on 2020-06-16 11:29  joniky  阅读(151)  评论(0)    收藏  举报

导航