c语言学生管理系统之修改学生信息

void  XiuGaiInformation(LINK head,long x)                                                                    //修改学生信息
{
    LINK p = (LINK)malloc(sizeof(NODE));
    p = head->next ;
    LINK q = (LINK)malloc(sizeof(NODE));
    q = head->next ;
    int flag = 0;
    long y ;
    for(; q!=NULL; q=q->next)
    {
        y = q->number ;
        if(y == x)
        {
            flag = 1;
            break;
        }
    }
    if(flag)
    {
        p = q ;                                                                                                               //判断学生是否存在
        if(p == NULL)
        {
            printf("该学生不存在\n");
        }
        else
        {
            printf("--------请输入学生姓名\n");
            scanf("%s",p->name);
            printf("--------请输入学生性别\n");
            scanf("%s",p->sex);
            while(1)
            {
                printf("--------请输入学生出生年月日,中间以点隔开\n");
                scanf("%d.%d.%d",&p->year,&p->month,&p->day);
                if(p->month<1 || p->month > 12)
                {
                    printf("输入月份出错,请重新输入\n");
                    continue;
                }
                else if( ( p->month >=1 && p->month<=7 && p->month % 2 == 1 && p->day > 31) || p->day < 1  )
                {
                    printf("输入日期出错,请重新输入\n");
                    continue;
                }
                else if (( p->month >=1 && p->month<=7 && p->month % 2 == 0 && p->day > 30) || p->day < 1)
                {
                    printf("输入日期出错,请重新输入\n");
                    continue;
                }
                else if ( ( p->month >=8 && p->month<=12 && p->month % 2 == 0 && p->day > 31) || p->day < 1)
                {
                    printf("输入日期出错,请重新输入\n");
                    continue;
                }
                else if(( p->month >=8 && p->month<=12 && p->month % 2 == 1 && p->day > 30) || p->day < 1)
                {
                    printf("输入日期出错,请重新输入\n");
                    continue;
                }
                else if ((p->month == 2 && p->year %4 == 0 && p->day > 29) || p->day <1)
                {
                    printf("输入日期出错,请重新输入\n");
                    continue;
                }
                else if ((p->month == 2 && p->year %4 != 0 && p->day > 28) || p->day <1)
                {
                    printf("输入日期出错,请重新输入\n");
                    continue;
                }
                break;
            }
            printf("--------请按顺序输入学生数学、语文、英语三科成绩\n");
            scanf("%f%f%f",&p->score[0],&p->score[1],&p->score[2]);
            fflush(stdin);
        }
    }
    else
    {
        printf("该学生不存在\n");
        getchar();
    }

}

你可能感兴趣的:(c语言学生管理系统之修改学生信息)