以下是部分代码。需要源码的私信
#include<easyx.h>
#include<stdio.h>
#include<stdlib.h>#define width 1280
#define height 840
#define font_w 35 //字体宽度
#define font_h 90 //字体高度typedef struct node
{char name[100];//名字char number[100];//编号char classify[100];//分类int price;//进价int sales;//售价int repertory;//库存int extant;///现存node* nxet;
}Lnode, * Hnode;
Lnode L;//创建头结点//用于历史记录
typedef struct anode
{char name[100];char number[100];char classify[100];int price;int sales;int repertory;int extant;
}ARRnode;ARRnode ArrList[1000];
int count_goods = 0;//全局变量--统计商品的多少int InitList(Lnode& L) //初始化链表
{L.nxet = NULL; //创建一个头结点return 0;
}int history_count = 0;//用于判断是否有历史记录
int history_goods_Lnode(Lnode& L)//将history中的数据读入到链表中
{FILE* fp = fopen("./history.txt", "r");if (!fp){printf("读取history失败\n");return 0;}Lnode* p, * q;p = &L;q = (Lnode*)malloc(sizeof(Lnode));if (!q){printf("q--malloc失败\n");return 0;}while (fscanf(fp, "%s%s%s%d%d%d%d", q->name, q->number, q->classify, &q->price, &q->sales, &q->repertory, &q->extant) != EOF){ history_count++;//记录链表中的数据数p->nxet = q;p = q;q = (Lnode*)malloc(sizeof(Lnode));if (!q){printf("q--malloc失败\n");return 0;}}p->nxet = NULL;printf("history_count=%d\n", history_count);fclose(fp);return 0;
}