奔溃中 2021-06-02 11:07 采纳率: 100%
浏览 66
已结题

c语言从文档读取数据 浮点型整形 读取失败什么情况 。。。。

#include<stdio.h>
#include<iostream>
#include<fstream>
#include<string.h>
#include<malloc.h>
#include<conio.h>
typedef struct bookfuns{//书籍信息
    float price[10];
    int number[5];//馆存数量
}bookfun;/*={};测试*/
typedef struct node
{
    bookfuns data;//数据域
    struct node * next;//指针域
}ListNode,* LinkList;

LinkList InitList();
LinkList Init();
LinkList Create(LinkList head);//读取文件信息


LinkList InitList()
{
    LinkList head=(LinkList)malloc(sizeof(ListNode));//创立头结点
    if(head==NULL)
    {
        printf("空间分配无效!");
        exit(-1);//退出程序
    }
    head->next=NULL;
    return head;
}

LinkList Create(LinkList head)
{
    bookfuns LM;//接受文件数据
    LinkList rear;
    rear=head;//尾指针指向头节点head
    FILE *fp= fopen("D:\\ok.txt","r");
    if(fp==NULL)
    {
        printf("打开文件失败!\n");
        return NULL;
    }
    else{
   
while(fscanf(fp,"%f\n%d\n",LM.price,LM.number)!=EOF)//处理到文件尾
    {

       LinkList s=(LinkList)malloc(sizeof(ListNode));
       s->data=LM;
       s->next=NULL;
       rear->next=s;
       rear=s;//尾插法 r指向s
       printf("\n\n价格:%f\n馆藏数量: %d\n",LM.price,LM.number);//输出书籍信息

    }

printf("\n信息录入成功!\n");

    }
    fclose(fp);
    return head;
}
int main()
{
    LinkList head=InitList();
    head=Create(head);
}

 

  • 写回答

3条回答 默认 最新

  • 关注
    #include<stdio.h>
    #include<iostream>
    #include<fstream>
    #include<string.h>
    #include<malloc.h>
    #include<conio.h>
    typedef struct bookfuns{//书籍信息
        float price[10];
        int number[5];//馆存数量
    }bookfun;/*={};测试*/
    typedef struct node
    {
        bookfuns data;//数据域
        struct node * next;//指针域
    }ListNode,* LinkList;
    
    LinkList InitList();
    LinkList Init();
    LinkList Create(LinkList head);//读取文件信息
    
    
    LinkList InitList()
    {
        LinkList head=(LinkList)malloc(sizeof(ListNode));//创立头结点
        if(head==NULL)
        {
            printf("空间分配无效!");
            exit(-1);//退出程序
        }
        head->next=NULL;
        return head;
    }
    
    LinkList Create(LinkList head)
    {
        bookfuns LM;//接受文件数据
        LinkList rear;
        rear=head;//尾指针指向头节点head
        FILE *fp= fopen("D:\\ok.txt","r");
        if(fp==NULL)
        {
            printf("打开文件失败!\n");
            return NULL;
        }
        else{
       
    while(fscanf(fp,"%f\n%d\n",LM.price,LM.number)!=EOF)//处理到文件尾
        {
           LinkList s=(LinkList)malloc(sizeof(ListNode));
           s->data=LM;
           s->next=NULL;
           rear->next=s;
           rear=s;//尾插法 r指向s
           printf("\n\n价格:%f\n馆藏数量: %d\n",&LM.price,&LM.number);//输出书籍信息
    
        }
    
    printf("\n信息录入成功!\n");
    
        }
        fclose(fp);
        return head;
    }
    int main()
    {
        LinkList head=InitList();
        head=Create(head);
    }
    
    

    我帮你修改了一下代码,万望采纳。

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月25日

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改