店铺缴费系统c语言,C语言课程设计商店销售管理系统 | 术与道的分享

#include "Shop.h"

void menu()

{

int choice;

system("color 3e");

printf("###########################################\n");

printf("\n");

printf(" 欢迎光临商店管理系统\n");

printf("\n");

printf("###########################################\n");

printf("^-^0->退出\n");

printf("^-^1->商品进库管理\n");

printf("^-^2->商品出库管理\n");

printf("^-^3->创建新商品信息\n");

printf("^-^4->清除商品信息\n");

printf("^-^5->销售统计\n");

printf("^-^6->显示库存量\n");

printf("请输入你要选择的功能\n");

scanf("%d",&choice);

switch(choice)

{

case 0:

Exit();

case 1:

In();

break;

case 2:

Out();

break;

case 3:

Add();

break;

case 4:

Del();

break;

case 5:

Sale();

break;

case 6:

Remined();

break;

default:

menu();

}

}

//增加新商品

void Add()

{

FILE *fp;

char m;

struct product inf;

printf("请输入商品编号\n");

scanf("%ld",&inf.number);

printf("请输入商品数量\n");

scanf("%d",&inf.count);

printf("请输入商品进价\n");

scanf("%f",&inf.inprice);

printf("请输入商品售价\n");

scanf("%f",&inf.outprice);

printf("请输入商品名称\n");

scanf("%s",inf.name);

fopen("商品信息","a+");

if(fp == NULL)

printf("");

fwrite(&inf,sizeof(struct product),1,fp);

fclose(fp);

printf("是否继续输入?是(Y/y),否(N/n)\n");

getchar();

m = getchar();

if(m == 'Y' || m == 'y')

Add();

if(m == 'N' || m == 'n')

menu();

}

//进货模块

void In()

{

FILE *fp;

int i;

int b;

char m;

long number;

int count;

struct product inf[SIZE];

struct product inf1;

fp = fopen("商品信息","r");

if((fp = fopen("商品信息","r"))== NULL)

printf("打开商品信息文件出错\n");

printf("请输入商品编号\n");

scanf("%ld",&number);

printf("请输入商品数量\n");

scanf("%d",&count);

i = 0;

while(fread(&inf1,sizeof(struct product),1,fp)!= (int)NULL)

{

if(inf1.number != number)

{

inf[i].number = inf1.number;

strcpy(inf[i].name,inf1.name);

inf[i].inprice = inf1.inprice;

inf[i].outprice = inf1.outprice;

inf[i].count = inf1.count;

i++;

}

else

{

inf[i].number = inf1.number;

inf[i].inprice = inf1.inprice;

inf[i].outprice = inf1.outprice;

inf[i].count = inf1.count;

strcpy(inf[i].name,inf1.name);

i++;

}

}

fclose(fp);

if((fp = fopen("商品信息","w+")) == NULL)

printf("打开商品信息文件出错\n");

for(b = 0;b < i; b++)

{

if(fwrite(&inf[b],sizeof(struct product),1,fp) == !1)

printf("写入商品信息文件出错\n");

}

fclose(fp);

printf("是否继续输入?是(输入Y/y) 否(N/n)\n");

getchar();

m = getchar();

if(m == 'Y'|| m== 'y')

In();

if(m == 'N' || m == 'n')

menu();

}

//出货模块

void Out()

{

FILE *fp;

char m;

float money = 0;

long number;

int count;

int b;

int i;

struct product inf[SIZE],inf1;

struct product list;

if((fp = fopen("商品信息","rb"))== NULL)

printf("打开商品文件出错\n");

printf("请输入商品编号\n");

scanf("%ld",&number);

printf("请输入商品数量\n");

scanf("%d",&count);

i = 0;

while(fread(&inf1,sizeof(struct product),1,fp)!=(int)NULL)

{

if(inf1.number != number)

{

inf[i].number = inf1.number;

strcpy(inf[i].name,inf1.name);

inf[i].inprice = inf1.inprice;

inf[i].outprice = inf1.outprice;

inf[i].count = inf1.count;

i++;

}

else

{

inf[i].number = number;

inf[i].inprice = inf1.inprice;

inf[i].outprice = inf1.outprice;

inf[i].count = inf1.count - count;

strcpy(inf[i].name,inf1.name);

list.number = number;

list.count = count;

list.inprice = inf1.inprice;

list.outprice = inf1.outprice;

strcpy(list.name,inf1.name);

money = (list.count)*(list.outprice);

i++;

}

}

fclose(fp);

if((fp=fopen("商品信息","w+"))==NULL)

printf("打开商品信息文件出错\n");

for(b = 0;b < i;b++)

{

if(fwrite(&inf[b],sizeof(struct product),1,fp)==(int)NULL)

printf("写入商品信息文件出错\n");

}

fclose(fp);

fp = fopen("清单","a+");

fwrite(&list,sizeof(struct product),1,fp);

fclose(fp);

printf("是否打印本次清单?是(Y/y) 否(N/n)\n");

getchar();

m = getchar();

if(m == 'Y' || m == 'y')

printf("商品编号 商品名称 进价 售价 金额\n");

printf("%3ld%s%3.1f%3.1f%3.1f\n",list.number,list.name,list.inprice,list.outprice,money);

printf("是否继续输入?是(Y/y) 否(N/n)");

getchar();

m = getchar();

if(m == 'Y' || m == 'y')

Out();

if(m == 'N' || m == 'n')

menu();

}

//清除模块

void Del()

{

int i;

int b;

long number;

struct product inf[SIZE],infd;

char m;

FILE *fp;

printf("请输入商品编号\n");

scanf("%ld",&number);

fp = fopen("商品信息","r");

if(fp == NULL)

printf("打开文件出错\n");

i = 0;

while(fread(&infd,sizeof(struct product),1,fp)!=(int)NULL)

{

if(infd.number != number)

{

inf[i].number = infd.number;

inf[i].count = infd.count;

inf[i].inprice = infd.inprice;

inf[i].outprice = infd.outprice;

strcpy(inf[i].name,infd.name);

i++;

}

}

fclose(fp);

if(fopen("商品信息","w+")==NULL)

printf("打开商品信息文件出错\n");

for(b = 0;b < i;b++)

{

if(fwrite(&inf[b],sizeof(struct product),1,fp)==1)

printf("写入商品信息文件出错\n");

}

fclose(fp);

printf("是否继续输入?是(Y/y) 否(N/n)\n");

getchar();

m = getchar();

if(m == 'Y' || m == 'y')

Del();

if(m == 'N' || m == 'n')

menu();

}

//退出模块

void Exit()

{

char m;

printf("是否确认? 是(Y/y) 否(N/n)\n");

getchar();

m = getchar();

if(m == 'Y' || m == 'y')

exit(1);

if(m == 'N' || m == 'n')

menu();

}

//清单模块

void Sale()

{

char m;

struct product list;

FILE *fp;

printf("确认打印?是(Y/y) 否(N/n)\n");

getchar();

m = getchar();

if(m == 'Y' || m == 'y')

{

fp = fopen("清单","r");

printf("商品名称 商品编号 商品售价 总金额 销售数量\n");

while(fread(&list,sizeof(struct product),1,fp)!=(int)NULL)

printf("%s%5ld%3.1f%3.1f%d\n",list.name,list.number,list.outprice,(list.count*list.outprice),list.count);

}

{

printf("按任意键返回菜单\n");

getchar();

getchar();

menu();

}

if(m == 'n' || m == 'N')

menu();

}

//显示库存

void Remined()

{

struct product list1;

FILE *fp;

fp = fopen("商品信息","r+");

printf("商品编号 商品名称 商品进价 商品售价 库存量\n");

while(fread(&list1,sizeof(struct product),1,fp)!=(int)NULL)

printf("%ld%s%f%f %d\n",list1.number,list1.name,list1.inprice,list1.outprice,list1.count);

printf("按任意键返回菜单\n");

getchar();

getchar();

menu();

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值