标题:学生成绩管理系统
取消只看楼主
蒹葭1
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2020-4-8
结帖率:100%
已结贴  问题点数:20 回复次数:0 
学生成绩管理系统
源.c (11.85 KB)
(源代码)
以下是发现出问题的部分
void ReadFromFile(char *fileName,struct StuLink * head)    //从数据文件中逐行读取学生信息生成学生链表
{
    int i=1;
    FILE *fp;
    struct StuLink *p1,*p2=NULL;
                               //文件指针变量fp
    if((fp=fopen(fileName,"r"))==NULL)
    {
        printf("不能打开该文件!\n");
        exit(0);
    }
    if((p1=(struct StuLink *)malloc(sizeof(struct StuLink)))==NULL)
    {
        printf("不能成功分配内存储块!");
        exit(0);
    }
    p1->next =NULL;
    while((fscanf(fp,"%s %d %d",p1->xm,p1->xb,p1->cj))!=EOF )
    {
        p1->xh=i;
        if(i==1)head=p1;
        else p2->next=p1;
        p2=p1;
        if((p1=(struct StuLink *)malloc(sizeof(struct StuLink)))==NULL)
        {
            printf("不能成功分配内存储块!");
            exit(0);
        }
        p1->next =NULL;
        i++;
    }                 
    printf("成功生成链表!");
}
不明白为什么在把文件里的内容放到链表里的时候会出现问题,循环只能进行一边,请大家指教!
目前调试初期 如果大佬发现源代码中其他问题,望得到指点可以改正
搜索更多相关主题的帖子: exit 学生 struct printf NULL 
2020-05-28 18:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501849-1-1.html




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

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