# 超市商品管理查询双系统
## 一、系统界面介绍
### 1.超市商品信息查询系统
1、显示商品信息,包括:商品名称、商品种类(休闲食品、奶品水饮、生鲜水果)、商品价格、商品保质期、商品生产日期;
![](https://www.writebug.com/myres/static/uploads/2021/12/29/504e4a2f0930f0f2d6cb00c2a0428b6d.writebug)
2、从文件中导入数据、显示、排序、查询的功能。(由于顾客没有更改信息的需要所以没设置修改、添加等功能,注:必须先导入数据);
![](https://www.writebug.com/myres/static/uploads/2021/12/29/5df28ba6e6e1bc447c7b38b1360b77b7.writebug)
3、系统提供按照不同方式查询的功能,如按照商品名称或类型查询;
![](https://www.writebug.com/myres/static/uploads/2021/12/29/6ed7d6e45b245c6565a15f4043b54808.writebug)
4、系统能将商品信息排序之后顺序输出(排序可以有多种选择);
![](https://www.writebug.com/myres/static/uploads/2021/12/29/be15a71dbf368a16708611f3d8e9dd74.writebug)
### 2.超市商品信息管理系统
1、显示商品信息(同查询系统)
2、首先输入密码,若输入错误 3 次则退出系统。密码存储在文件中并可在进入系统后修改密码(密码为字符串)
![](https://www.writebug.com/myres/static/uploads/2021/12/29/ef26c33736d0a18b1356a98230509d80.writebug)
3、从文件中导入数据、显示、添加、修改、删除、查询、排序、导出、修改密码;(注:必须先导入)
![](https://www.writebug.com/myres/static/uploads/2021/12/29/f27128b4073b7a2eba475ff8c6c356af.writebug)
4、信息显示
![](https://www.writebug.com/myres/static/uploads/2021/12/29/b4bb5cb22bdec16cf2f4ea300cb66849.writebug)
5、信息添加:
![](https://www.writebug.com/myres/static/uploads/2021/12/29/ff973692f0f6498a4da16746602aea97.writebug)
6、信息删除:
![](https://www.writebug.com/myres/static/uploads/2021/12/29/a1caca7ea6633df0e0cf83a952354f05.writebug)
7、信息修改(按名称):
![](https://www.writebug.com/myres/static/uploads/2021/12/29/7e5d163c4b2978b38d0b63a1dfe08604.writebug)
8、信息查询(可根据不同需要进行不同查询):
![](https://www.writebug.com/myres/static/uploads/2021/12/29/c7d23ca12cce790f7520153240e16d6d.writebug)
9、信息排序(可按需要排序):
![](https://www.writebug.com/myres/static/uploads/2021/12/29/3fcedaee8581f55bbd45d238d355b62f.writebug)
10、修改登录密码(若两次输入新密码不相同则返回主界面,修改成功后密码保存至文件中):
![](https://www.writebug.com/myres/static/uploads/2021/12/29/8d3ce520c927bfddcb12f569d807c7e2.writebug)
11、退出系统
![](https://www.writebug.com/myres/static/uploads/2021/12/29/e8d173261ff316db5d54efbad5c9a288.writebug)
## 二、程序源代码介绍:
```
# include<stdio.h>
# include<stdlib.h>
# include<string.h>
# include<windows.h>
typedef struct _goods//商品结构体
{
char name[20];//商品名称
int category;//商品种类
float prize;//商品价格
int shelf_life;//商品的保质期(按月来记)
char time[15];//商品的生产日期
}goods;
goods b[20];
int N;
int switch_num;
int return_num;
char password1[20];
int num_star;
int input(goods b[],int N);//从系统中导入数据
void display(goods b[],int N);//显示信息
void change(goods b[],int N);//修改信息
void _search(goods b[],int N);//查找信息
int _insert(goods b[],int N);//添加信息
int _delete(goods b[],int N);//删除信息
void _sort(goods b[],int N);//排序信息
void save(goods b[],int N);//保存信息
void menu_customer();//顾客系统界面
void menu_manager();//管理员系统界面
void system_manager();//顾客系统
void password();//密码函数
void modify_password();//更改密码函数
//导入函数已完善
int input(goods b[],int N)
{
N=0;
FILE *fp;//打开文件
fp=fopen("data.txt","r+");
if(fp==NULL)//判断文件是否为空
{
printf("can't open this file");
exit(0);
}
while(!feof(fp))//导入
{
fscanf(fp,"%s%d%f%d%s",b[N].name,&b[N].category,&b[N].prize,&b[N].shelf_life,b[N].time);
N++;
}
Sleep(100);
printf("恭");
Sleep(50);
printf("喜");
Sleep(50);
printf("您");
Sleep(50);
printf("导");
Sleep(50);
printf("入");
Sleep(50);
printf("成");
Sleep(50);
printf("功");
Sleep(50);
fclose(fp);
return N-1;//商品数目
}
//显示函数已完善
void display(goods b[],int N)
{
int i;
for(num_star=0;num_star<18;num_star++)//显示*符号
{
printf("*");
Sleep(5);
}
printf("商");
Sleep(50);
printf("品");
Sleep(50);
printf("信");
Sleep(50);
printf("息");
Sleep(50);
printf("如");
Sleep(50);
printf("下");
Sleep(50);
for(num_star=0;num_star<18;num_star++){
printf("*");
Sleep(5);
}
printf("\n\n");
printf("商品名称 类别 价格 保质期 生产日期\n");
for(i=0;i<N;i++){
printf("%-8s\t%4d\t%.2f\t%4d\t%4s\n",b[i].name,b[i].category,b[i].prize,b[i].shelf_life,b[i].time);//显示信息
}
printf("\n【注;类别1.休闲食品 2.奶品水饮 3.生鲜水果】\n\n");
for(num_star=0;num_star<48;num_star++)//显示*符号
{
printf("*");
Sleep(5);
}
printf("\n\n");
printf("按1后回车返回");
scanf("%d",&return_num);
if(return_num==1)//返回主界面
{
system("cls");
return;
}
}
//修改函数已完善
void change(goods b[],int N)
{
int i,n;
char a[10];
for(num_star=0;num_star<18;num_star++)
{
printf("*");
Sleep(10);
}
printf("欢");
Sleep(50);
printf("迎");
Sleep(50);
printf("进");
Sleep(50);
printf("入");
Sleep(50);
printf("修");
Sleep(50);
printf("改");
Sleep(50);
printf("系");
Sleep(50);
printf("统");
Sleep(50);
for(num_star=0;num_star<18;num_star++){
printf("*");
Sleep(5);
}
printf("\n\n");
printf("-1-请输入需要修改的商品的名称\n ");//需要修改的名称
loop:
scanf("%s",a);
for(i=0;i<N;i++)//比较是哪个商品
{
if(!strcmp(b[i].name,a))
break;
}
if(i==N)
{
printf("\n-1-对不起找不到该商品,请重新输入\n ");
goto loop;
}
else
printf("\n-2-您需要的修改的商品信息如下:\n (1)商品名称(2)类别 (3)价格 (4)保质期 (5)生产日期\n %-9s\t%-3d\t%.2f\t%5d\t%10s\n",b[i].name,b[i].category,b[i].prize,b[i].shelf_life,b[i].time);//输出并左右对齐
printf("\n-3-请输入需要修改的商品信息编号\n ");
loop2:
scanf("%d",&n);
switch(n)//选择修改什么信息
{
case 1:
printf("\n-4-请输入该商品的名称\n ");
scanf("%s",b[i].name);
break;
case 2:
printf("\
神仙别闹
- 粉丝: 3816
- 资源: 7471
最新资源
- 使用 GSD (DirectX Hook Library) 绘制十字线.zip
- 使用 Graphic, DirectX, OpenGL 进行全屏拍摄.zip
- jd-gui-windows-1.6.6 java反编译工具
- 经典分子模拟教程 《The art of molucular dynamics simulation》作者: D.C. Rapaport 出版社:Cambridge Universi
- InputTip - 根据输入法中英文状态切换鼠标样式的小工具
- 使用 Dx3D9 Sprite 对象的 DirectX 2D 引擎.zip
- C code for "The art of molecular dynamics simulation"
- 国外版剪映 特效无限用,无需登录
- 使用 DX12 编写的基于物理的渲染器,具有基于图像的照明、经典的延迟和平铺照明方法.zip
- windows命令行curl命令工具
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈