//////////////////////////////////////////////////////////////////////////////////////////////////
/* **********************************************************************************************
* 超市库存管理系统
*
* 扬州大学信息工程学院软件1502班
*
* 指导老师:邹姝稚
*
* 版本开发日志:
*
* 2015年12月22日 23:06:31 V0.1.0_Build 352
完成菜单等基本框架
2015年12月26日 16:33:21 V0.1.2_Build 402
完成密码验证模块
2015年12月26日 20:54:53 V0.1.5_Build 501
完成信息录入功能、菜单颜色设置功能
2015年12月27日 11:57:33 V0.1.8 Build 788
完成信息查询模块
2015年12月28日 11:14:37 V0.2.0 Build 925
完成销售排行榜
修复已知BUG
2015年12月29日 11:04:35 V0.3.0 Build 967
完善信息更新功能
2015年12月29日 17:19:02 Bata V 1.0.0 Build 1058
第一测试版
2015年12月30日 21:25:02 Bata V 1.5.0 Build 1112
改进部分功能代码
* BY 李敬
*
* lijing394@163.com
*
* 要求:
*
* 1.任务描述:
开发一个超市库存管理系统,可对商品的库存信息进行日常管理及预警。其中,库存信息包括:商品货号、
名称、类别、总量、库存上限、库存下限、进货价格、零售价格、进货日期、进货量、生产日期、生产厂
家、保质期等。主要功能如下:
⑴ 库存信息录入:以合理数据结构录入并存储库存信息(提示:结构数组或数据文件)
⑵ 信息更新:能提供信息的插入、删除、修改更新操作。在商品进货时,如是新商品则把新的商品信息
添加到库存信息中;如是已有商品则根据商品库存量的上下限确定进货数量,然后根据进货实际情况修
改该商品的相关数据。
⑶ 信息查询:提供多种途径的查询功能,如按编号查商品价格和生产日期、某商品库存量、某商品进货量
等。
⑷ 库存信息预警:统计出库存量临近上限,需进行库存预警的商品;库存量临近下限,需进行库存预警的
商品;保质期低于一周需打折促销的商品。
⑸ 提供排序统计功能:食品有效期排序、商品进货量排序、商品库存量排序等(可自行设计)。
2.界面设计要求
⑴ 系统以菜单驱动方式工作,以方便用户根据需要进行功能选择。
⑵ 交互界面设计:要求用户输入数据时,需给出清晰、明确的提示信息,包括输入的数据内容、格式及结束
方式等、
⑶ 输出界面:输出的结果要清晰美观,若以表格形式输出的信息,应上下对齐。
3.课题完成要求
⑴ 可运行的源程序:开发并调试通过,能满足任务书要求的C程序。
⑵ 课程设计报告:撰写课程设计报告,能反映课题的总体设计、数据结构设计、详细设计、调试分析过程。
要求内容基本正确、图表无重大错误。
///////////////////////////////////////////////////////////////////////////////////////////
/**********头文件及宏定义***************/
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#define NUM 100
/**** 结构体定义 ****/
struct item
{
// int id; 货号
char brand[10]; //名称
int in_price; //进价
int out_price; //售价
int stock_quantity; //库存总量
int purchase_quantity;//进货量
int upper_limit; //库存上限
int lower_limit; //库存下限
char category[8]; //类别
char manufacture_factory[8];//生产厂家
int expiry_date;//保质期
int in_date;//进货日期
int manufacture_date;//生产日期
char remarks[8];//备注
}goods[NUM];
/*********全局变量*************/
int nn = 0; //当前商品总个数
/**** 函数声明 ****/
void start();
void loading();
void main_menu();
int Password_Authentification();
//void Modify_Password();
void establish();
void look_up();
void find_category();
void find_id();
void find_stock_quantity();
void update();
void insert_message();
void del_message();
void revise_message();
void chart();
void sort_amount();
void sort_profit();
void sort_id();
void earlywarning();
void colorsetting();
void indevelopment();
void error();
void gotoxy(int x,int y);
void HideCursor();
void help();
void leave();
void read();
void save();
//int validateID(int id);
/*************主函数*****************/
main()
{
int choose;
start();
while(1)
{
main_menu();
scanf("%d",&choose);
switch(choose)
{
case 1:
system("cls");
establish();break;
case 2:
system("cls");
update();break;
case 3:
system("cls");
look_up();break;
case 4:
system("cls");
earlywarning();break;
case 5:
system("cls");
chart();break;
case 6:
system("cls");
read();break;
case 7:
system("cls");
colorsetting();break;
case 0:
save();
printf("已保存!\n");
leave();
default:
system("cls");
error();break;
}
getch();
}
}
/*************主菜单*****************/
void main_menu()
{
system("cls");
printf("\n\n\n");
printf("\t\t|--------------------------------------------------|");
printf("\t\t\t\t|\t\t超市库存管理系统\t\t |\n");
printf("\t\t|--------------------------------------------------|\n\n\n");
printf("\t\t|-----------------请选择数字进行操作---------------|\n");
printf("\t\t|\t\t1.库存信息录入 |\n");
printf("\t\t|\t\t2.更新商品信息 |\n");
printf("\t\t|\t\t3.商品信息查询 |\n");
printf("\t\t|\t\t4.库存信息预警 |\n");
printf("\t\t|\t\t5.销售排行总榜 |\n");
printf("\t\t|\t\t6.读取商品信息 |\n");
printf("\t\t|\t\t7.系统颜色设置 |\n");
printf("\t\t|\t\t0.退出系统 |\n");
printf("\t\t|-----------------请选择对应数字0--6---------------|\n");
}
/*
int validateID(int id)
{
FILE *fp;
struct item i;
fp=fopen("goods.dat","r");
if(fp==NULL)
{printf("\t\t\t系统错误,请您重试........");exit(0);}
fread(&i,sizeof(struct item),1,fp);
while(!feof(fp))
{
if(i.id==id)
{ fclose(fp);return 1;break; }
fread(&i,sizeof(struct item),1,fp);
}
fclose(fp); return 0;
}
*/
/*************库存信息录入*****************/
void establish()
{
if( nn >= NUM-1)
{printf("商品信息已达上限!\n");system("pause"); return;}
/*labID: printf("\n\t请您输入要入库物品的信息...\n");
printf("\t\t\t\t 货号:");
scanf("%d",&goods[i].id);
if(validateID(goods[i].id)==1)
{
printf("\t\t\t\t此编号已被使用,请您重新输入......");
goto labID;
}
*/
printf("\n\t最多能输入 %d 个商品信息\n\n\t请依次输入商品信息:\n",NUM);
printf("----------------------------\n");
printf("类别: ");fflush(stdin);
gets(goods[nn+1].category);
printf("品名: ");fflush(stdin);
gets(goods[nn+1].brand);
/* printf("货号: ");fflush(stdin);
scanf("%d",&goods[nn+1].id);*/
printf("进价: ");fflush(stdin);
scanf("%d",&goods[nn+1].in_price);
printf("售价: ");fflush(stdin);
scanf("%d",&goods[nn+1].out_price);
printf("进货日期: ");fflush(stdin);
scanf("%d",&goods[nn+1].in_date);
printf("进货量: ");fflush(stdin);
scanf("%d",&goods[nn+1].purchase_quantity);
printf("库存上限: ");fflush(stdin);
scanf("%d",&goods[nn+1].upper_limit);
printf("库存下限: ");fflush(stdin);
scanf("%d",&goods[nn+1].lower_limit);
printf("生产厂家: ");fflush(stdin);
scanf("%d",&goods[nn+1].manufacture_factory);
printf("生产日期: ");fflush(stdin);
scanf("%d",&goods[nn+1].manufacture_date);
printf("保质期: "); fflush(stdin);
scanf("%d",&goods[nn+1].expiry_date);
printf("备注: ");fflush(stdin);
gets(goods[nn+1].remarks);
nn+=1;
printf("\n\n");
printf("编号:%d\n",nn);
printf("品名:");puts(goods[nn].brand);
printf("类别:");puts(goods[nn].category);
printf("进价:%d\n",goods[nn].in_price);
printf("售价:%d\n",goods[nn].out_price);
printf("备注:");puts(goods[nn].remarks);
printf("\n请按任意键继续!\n");
getch();
}
/**********信息更新函数**********/
void update()
{
int choose;
while(1)
{
system("cls");
printf("\n\n\n *******商品信息更新*******\n\n");
printf(" 1:插入商品信息\n\n");
printf(" 2:删除商品信息\n\n");
printf(" 3:修改商品信息\n\n");
printf(" 0:返回\n\n");
printf(" 请选择(0-3):");
scanf("%d",&choose);
switch(choose)
{
case 1:insert_message();break;
case 2:del_message();break;
case 3:revise_message();break;
case 0:return;
default: error();
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目介绍】 基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip 基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip 基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip 基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip 【说明】 1、项目源码在上传前,都经过本地成功运行,功能测试无误。请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、机械电子信息等相关专业背景的在校大学生、专业老师 行业从业人员等下载使用。 3、用途:项目代表性强,具有创新性和启发性,故具有挺高的学习借鉴价值。不仅适合小白入门进阶,还可作为毕设项目、课程设计、大作业、比赛初期项目立项演示等。 4、如果基础还不错,又热爱学习钻研,也可基于此项目基础上进行修改进行二次开发。 本人也是技术狂热者,如果觉得此项目对您有价值,欢迎下载使用! 无论您是运行还是二次开发,遇到问题或困惑,欢迎私信交流学习。
资源推荐
资源详情
资源评论
收起资源包目录
基于C语言实现的超市库存管理系统源码+超详细注释(C语言课设).zip (3个子文件)
project-code
data.dat 724B
说明.md 44B
超市库存管理系统.c 33KB
共 3 条
- 1
资源评论
- 追$风笑-Laughing哥2024-12-12资源有很好的参考价值,总算找到了自己需要的资源啦。
Scikit-learn
- 粉丝: 4811
- 资源: 3181
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功