C语言商品订购系统(跟购物系统有些差别)

这是一个C语言编写的商品订购系统,具备商品信息输入、链表操作、查询、选购流程、订购信息保存及订购统计等功能。系统未包含价格计算,但预留了后续扩展。
摘要由CSDN通过智能技术生成

要求

1.输入商品信息并保存至文件(包括商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量等,至少包括10种产品供顾客选择)。
2.使用链表实现商品的增、删、改功能,并把更新后的信息保存至文件。
3.查询商品功能,如输入商品名称、商品型号等。
4.选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。
5.订购信息保存至文件。
6.每天订购统计功能,并能根据输入的数据显示低于或高于此数据的商品信息。

(这里没有计算购买所需的钱数,后续补充上)

代码

shangpin.txt文件(各字段用空格分隔)

100 哇哈哈 矿泉水 1.00 崂山 9996 4
101 农夫山泉 矿泉水 2.00 崂山 10000 0
102 可比克 零食 5.00 福建 9998 2
103 可比克2 零食 5.00 福建 9998 2
104 可比克3 零食 5.00 福建 9998 2
105 可比克 零食 5.00 福建 9998 2
106 牛肉粒 零食 32.00 内蒙古 2000 0

代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//定义商品结构体
typedef struct _shangping 
{
	int bh;          //编号
	char name[30];   //名称
	char xh[20];     //型号
	float price;     //价格
	char chandi[10]; //产地
	int kc;          //库存
	int ydg;         //已订购数量
}ShangpinInfo;

//定义链表节点
typedef struct _stNode
{
	ShangpinInfo product;
	struct _stNode* next;
}LinkNode;


//保存订购信息
typedef struct _dginfo
{
	int bh[20];    //商品编号
	int cnt[20];   //商品订购数量
	int nmb;       //实际订购商品的种类数量
	char addr[40]; //订购人地址
	char phone[12];//订购人电话

}Dginfo;

Dginfo g_dginfo[100]; //定义全局变量保存订购信息
int g_dgNmb = 0;      //定义全局变量,保存订购信息数量

//从文件中读取商品信息
LinkNode* ReadFile(const char* name)
{
	LinkNode* head,*p,*t;

	FILE* fp = 0;

	if ((fp=fopen(name,"r"))==0)
	{
		printf("读取商品信息失败...\n");
		return 0;
	}
	head = (LinkNode*)malloc(sizeof(LinkNode));
	head->next = NULL;

	p = head;
	//读取文件
	while(!feof(fp))
	{
		//逐行读取文件
		t = (LinkNode*)malloc(sizeof(LinkNode));
		t->next = NULL;
		fscanf(fp,"%d %s %s %f %s %d %d\n",&t->product.bh,t->product.name,t->product.xh,&t->product.price,t->product.chandi,&t->product.kc,&t->product.ydg);
		if(t->product.bh > 0) //避免读取到空行
		{
			p->next = t;
			p = t;
		}else
		{
			free(t); //空行,读取错误,释放空间
			t = 0;
		}
	}
	return head; //返回链表头
}

//更新商品信息文件
void UpdateFile(const char* name,LinkNode* head)
{
	LinkNode*t;
	FILE* fp = 0;
	if
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qfl_sdu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值