go语言学生管理练习题 go语言学生管理系统( 二 )


while(p1-math0||p1-math100)
{getchar();
printf("输入错误 , 请重新输入数学成绩");
scanf("%f",p1-math);}
head=NULL;
while(p1-number!=0)
{
n=n+1;
if(n==1)
head=p1;
else
p2-next=p1;
p2=p1;
p1=(score *)malloc(LEN);
printf("请输入学生资料,输0退出!\n");
repeat2:printf("请输入学生学号(学号应大于0):");
scanf("%d",p1-number);
while(p1-number0)
{getchar();
printf("输入错误,请重新输入学生学号:");
scanf("%d",p1-number);}
if(p1-number==0)
goto end;
else
{
p3=head;
if(n0)
{for(i=0;in;i++)
{if(p1-number!=p3-number)
p3=p3-next;
else
{printf("学号重复,请重输!\n");
goto repeat2;
}
}
}
}
printf("请输入学生姓名:");
scanf("%s",p1-name);
printf("请输入计算机 成绩(0~100):");
scanf("%f",p1-computer);
while(p1-computer0||p1-computer100)
{getchar();
printf("输入错误,请重新输入计算机 成绩");
scanf("%f",p1-computer);}
printf("请输入英语成绩(0~100):");
scanf("%f",p1-english);
while(p1-english0||p1-english100)
{getchar();
printf("输入错误,请重新输入英语成绩");
scanf("%f",p1-english);}
printf("请输入数学成绩(0~100):");
scanf("%f",p1-math);
while(p1-math0||p1-math100)
{getchar();
printf("输入错误 , 请重新输入数学成绩");
scanf("%f",p1-math);}
}
end: p1=head;
p3=p1;
for(i=1;in;i++)
{
for(j=i+1;j=n;j++)
{
max=p1;
p1=p1-next;
if(max-numberp1-number)
{
k=max-number;
max-number=p1-number;
p1-number=k;
strcpy(t,max-name);
strcpy(max-name,p1-name);
strcpy(p1-name,t);
fen=max-computer;
max-computer=p1-computer;
p1-computer=fen;
fen=max-english;
max-english=p1-english;
p1-english=fen;
fen=max-math;
max-math=p1-math;
p1-math=fen;
}
}
max=head;p1=head;/*重新使max,p指向链表头*/
}
p2-next=NULL;/*链表结尾*/
printf("输入的学生数为:%d个!\n",n);
return(head);
}
/*==============================================================================================*/
score *add2311(score *head,score *stu)/*函数add2311,功能将所有学生资料按学号排序*/
{
score *p0,*p1,*p2,*p3,*max;
int i,j;
float fen;
char t[10];
p3=stu=(score *)malloc(LEN);/*开辟一个新单元*/
printf("\n输入要增加的学生的资料!");
repeat4: printf("请输入学生学号(学号应大于0):");
scanf("%d",stu-number);
/*输入学号,学号应大于0*/
while(stu-number0)
{getchar();
printf("输入错误,请重新输入学生学号:");
scanf("%d",stu-number);}/*输入错误,重新输入学号*/
if(stu-number==0)
goto end2;/*当输入的学号为0时,转到末尾,结束追加*/
else
{
p3=head;
if(n0)
{for(i=0;in;i++)
{if(stu-number!=p3-number)
p3=p3-next;
else
{printf("学号重复,请重输!\n");
goto repeat4;
}
}
}
}
/******************************************************/
printf("输入学生姓名:");
scanf("%s",stu-name);
printf("请输入计算机 成绩(0~100):");
scanf("%f",stu-computer);
while(stu-computer0||stu-computer100)
{getchar();
printf("输入错误,请重新输入计算机 成绩");
scanf("%f",stu-computer);}
printf("请输入英语成绩(0~100):");
scanf("%f",stu-english);
while(stu-english0||stu-english100)
{getchar();
printf("输入错误,请重新输入英语成绩");

推荐阅读