100%???? 2021-04-07 21:05 采纳率: 100%
浏览 46
已采纳

小白在做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 乱码了。 

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

  • 写回答

4条回答 默认 最新

  • Basesson 2021-04-08 09:21
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上