小白在做C语言作业,有不懂想问一下

#include <stdio.h>
#include <stdlib.h>
#define MAX 50

typedef struct
{
    int month;
    int day;
    double money;
    char shop[50];
} datatype1;
typedef struct node1
{
    datatype1 data;
    struct node1 *next;
} LinkNode1;


typedef struct
{
    int yf;/*月份*/
    double spxf;   /*食品消费*/
    LinkNode1* firstbill;//销账
    double fz; /*房租*/
    double znjy;/*子女教育费用*/
    double sdf;  /*水电费*/
    double ylf;/*医疗费*/
    double cx;/*储蓄*/

} datatype;

typedef struct node
{
    datatype data;
    struct node *next;
} LinkNode;

LinkNode* initList()
{
    LinkNode* p;
    p=( LinkNode*)malloc(sizeof(LinkNode));
    p->next=NULL;
    return p;
}
void createList(LinkNode* head)
{
    FILE *fp;
    datatype stu;
    LinkNode* p, *rear;
    if((fp=fopen("records.txt","r"))==NULL)
    {
        printf("can not open read file !\n");
        exit(1);      /*返回OS,该函数定义在stdlib.h中*/
    }
    while(!feof(fp))
    {
        fscanf(fp,"%d  %lf  %lf  %lf  %lf  %lf  %lf",&stu.yf,&stu.spxf,&stu.fz,&stu.znjy,&stu.sdf,&stu.ylf,&stu.cx);
        p=( LinkNode*)malloc(sizeof(LinkNode));
        p->data=stu;
        p->data.firstbill=NULL;
        p->next=NULL;
        rear->next=p;
        rear=p;
    }
    fclose(fp);
}
void pntList(LinkNode* head)
{
    printf("    月份  食品消费 房租  子女教育费用  水电费  医疗费  储蓄\n");
    LinkNode* d;
    d=head->next;
    while (d!=NULL)
    {
        printf("%5.0d月  %5.2f元  %5.2f元  %5.2f元  %5.2f元  %5.2f元  %5.2f元\n",d->data.yf,d->data.spxf,d->data.fz,d->data.znjy,d->data.sdf,d->data.ylf,d->data.cx);
        d=d->next;
    }
}

int main()
{
    LinkNode* p;
    p=initList();
    createList(p);
    pntList(p);

    return 0;
}

records.txt里 

1 1 2 3 4 5 6 7
2 111 222 333 444 555 666 777
3 11 22 33 44 55 66 77

 

就是我想在结构体里再加一串数据,就在什么月份  食品消费 房租  子女教育费用  水电费  医疗费  储蓄这里面加个收入

但我double shouru; txt每行尾部加了串数据然后在fscanf里面也加了 %lf和&stu.shouru之后 直接return 乱码了。 

想了半天 实在是不懂为什么会出读不出来数据 问一问

 函数createList(LinkNode* head)里,作为参数的LinkNode*变量head没有用到。

你用啥打开的txt?是不是文本编码格式不对

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^