奔溃中 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日

悬赏问题

  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入