| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 830 人关注过本帖
标题:一个函数不能完成工作,哪里有问题?求指点~
取消只看楼主 加入收藏
K子凌
Rank: 2
等 级:论坛游民
帖 子:15
专家分:29
注 册:2015-12-24
结帖率:100%
收藏
 问题点数:0 回复次数:1 
一个函数不能完成工作,哪里有问题?求指点~
程序代码:
void input(Link point)  //输入信息
{
    Link p1,p2,p3;
    int flag=0;
    char decision[5],student_ID[20];

    p2=point;
    p3=point;
    display(point);

    while(p2->next!=NULL)
        p2=p2->next;

    while(1)
    {
        while(1)
        {
            puts("Please input student_ID.(Press \"quit\" to quit.)");
            gets(student_ID);

            if(strcmp(student_ID,"quit")==0)
                {
                    puts("********************Press Enter key to quit!********************");
                    getchar();
                    return;
                }

            while(p3->next!=NULL)
            {
                if(strcmp(p3->data.student_ID,student_ID)==0)
                    {
                        puts("********************student_ID already exists!********************");
                        flag=1;
                        puts("********************Press Enter key to continue.********************");
                        getchar();
                        break;
                    }
                p3=p3->next;
            }

            if(flag==1)
            {
                puts("Do you want to re-enter it?");
                gets(decision);
                if(strcmp(decision,"yes")==0)
                    continue;
                else
                    return;
            }
            else
                break;
        }

        p1=(Link)malloc(sizeof(Node));

        if(p1==NULL)
        {
            puts("********************Memory space application failed!********************");
            puts("********************Type the Enter key to return to the menu.********************");
            getchar();
            return;
        }

        strcpy(p1->data.student_ID,student_ID);
        puts("Please input student's name.(Only 10 letters are allowed.)");
        scanf("%s",p1->data.name);
        p1->data.English_grade=input_score("Please input the English score.");
        p1->data.Math_grade=input_score("Please input the Math score.");
        p1->data.C_grade=input_score("Please input the C score.");
        p1->data.total_points=p1->data.English_grade+p1->data.Math_grade+p1->data.C_grade;
        p1->data.average_score=(float)(p1->data.total_points/3);
        p1->data.ranking=0;
        p1->next=NULL;
        p2->next=p1;
        p2=p1;
        fflush(stdin);
    }

    save(point);
    puts("********************Type the Enter key to return to the menu.********************");
    getchar();
}
void save(Link point)  //保存记录
{
    FILE *fp;
    Link pt;
    int count=0;

    fp=fopen(file,"wb");

    if(fp==NULL)
    {
        puts("****************Sorry,file open failed!*****************");
        puts("*******************Press Enter key to return.*****************");
        getchar();
        return;
    }

    pt=point;

    while(pt);
    {
        if(fwrite(pt,sizeof(Node),1,fp)==1)
        {
            pt=pt->next;
            count++;
        }
    }

    if(count>0)
    {
        puts("\n\n\n*************Save success!*************");
        printf("A total of %d records were saved.\n",count);
        puts("*****************Press Enter key to continue.******************");
        getchar();
    }
    else
    {
        puts("***********************No records can be saved!**********************");
        puts("************************Press Enter key to continue.************************");
        getchar();
    }

    fclose(fp);
}
我写的函数应该能够判断studentID是否重复的,但结果却没有给出判断,并且没有保存数据。
求大侠指点哪个地方错了。。。。。

图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2016-1-24 21:19编辑过]

2016-01-24 21:15
K子凌
Rank: 2
等 级:论坛游民
帖 子:15
专家分:29
注 册:2015-12-24
收藏
得分:0 
求指教啊!!
2016-01-25 17:50
快速回复:一个函数不能完成工作,哪里有问题?求指点~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024588 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved