cara_celia 2018-05-29 09:21 采纳率: 0%
浏览 3824
已结题

C语言链表与文件 从文件读数据到链表里

#include
#include
#include
#include

//定义全局变量
int isEmpty=0;//标志,判断链表是否为空

//!!!定义单链表结构体!!!
typedef struct Node{
int NUM;//类型总数
char NAME[100];//各类型名称
int num; //各类型下的货物总数
struct Node*next;
}Node;

//函数声明
Node*create(int n,Node*L);
Node*input(Node*L);
Node*output(Node*L);
Node*outnum(Node*L);
Node*outname(Node*L);
Node*current(Node*L);
void search(Node*L);
void print(Node*L);
void searchnum(Node*L);
void searchname(Node*L);
void display(int n,Node*L);
//========新增加的函数========
Node*append(Node*L);

//主函数
void main()
{
//创建文件
FILE*fp;
fp = fopen("storehouse.txt","w");
fwrite();
fclose(fp);
int x;
int n;//初次输入的大小
Node *L;
if(!(L=(Node *)malloc(sizeof(Node)))) //分配空间
{
printf("\n");
exit(1);
}

printf("欢迎使用我的仓库管理系统!\n"); 
while(1)
{
    //主菜单开始 
    printf("==========================\n");
    printf("1.显示货物类型列表\n");
    printf("2.增加货物类型\n");
    printf("3.删除货物类型\n");
    printf("4.货物入库\n");
    printf("5.货物出库\n");
    printf("6.库存显示\n");
    printf("7.退出\n");
    printf("==========================\n");
    //主菜单结束
    printf("选择1-7:");
    scanf("%d",&x); 
    switch(x)
    {
        case 1:;break;
        case 2:printf("请输入最初的货物类型数量:\n");
               scanf("%d",&n);
               create(n,L);
               break;
        case 3:;break;
        case 4:;break;
        case 5:;break;
        case 6:display(n,L);break;
        case 7:;break;
        default:printf("input error!\nplaese input1-7");
    }       
}           

}

想要读入货物信息:货物名称 货物价格 所属类型?这个怎么搞!
图片说明

//函数
//1.创建链表节点
Node*create(int n,Node*L)
{
Node*pTail=L;
L->next=NULL;
Node*p;
//利用尾插建立单链表
int i;
for(i=1;i<=n;i++)
{

p=(Node*)malloc(sizeof(Node));
if(p==NULL)
{
printf("申请内存空间失败!\n");
}

printf("请输入第%d种类型编号:",i);
scanf("%d",&p->NUM);
printf("请输入第%d种类型名称:",i);
scanf("%s",&p->NAME);
printf("请输入第%d种类型库存:",i);
scanf("%d",&p->num);
putchar('\n');
pTail->next=p;
pTail=p;
}
p->next=NULL;
return L;
}

//货物显示函数
void display(int n,Node*L)
{
Node*p;
p=(Node*)malloc(sizeof(Node));
p=L->next;;
int i=0;
for(i=0;i //{
//while(p!=NULL)
{
printf("第%d种类型名称:",p->NUM);
printf("%s\n",p->NAME);
printf("第%d种类型库存:",p->NUM);
printf("%d\n",p->num);
putchar('\n');
p=p->next;
//}
}

}

  • 写回答

4条回答 默认 最新

  • ZhihengTao 2018-05-29 09:29
    关注

    看不懂你想表达啥.

    如果是文件读写相关的话, 搜索相关API(函数)的用法, 例如 fread, fwrite

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)