首 页 华育简介 就业解决方案 课程师资 高端合作 就业明星 在线报名 华育人专区
 
 
工厂简介
项目研发
  一期学员项目展示
  二期学员项目展示
  三期学员项目展示
 
 
项目研发 首页 - 华育新闻 - 关于华育
 

小型超市管理系统






 
小型超级市场管理系统

功能模块阐述 
主菜单
1 管理员操作
2 收银操作
3 退出系统
提示输入功能编号

1级菜单
管理员操作(提示输入管理员密码,如果密码错误则立即返回主菜单)
1 新商品信息录入
2 可选性排序
3 已有商品信息查询
4 已有商品入库
5 返回上一级菜单
提示输入功能编号
收银操作(询问是否会员)
1 是
2 不是
3 返回
提示输入功能编号
2级菜单
新商品信息录入:
提示输入

商品编号: 
如果该编号的商品已经存在给出提示信息,让用户进行已有商品入库操作;之后返回提示输入编号;

提示输入商品名称,单价和库存;将这写信息写入文件保存; 
可选性排序
可以选择按照单价排序或者按照库存排序;

按单价排序? 将商品按照单价从大到小排序,并输出到屏幕; 
按库存排序? 将商品按照库存数量从大到小排序,并输出到屏幕; 
已有商品信息查询:
提示输入商品编号,

找到商品,返回该商品的相关信息; 
没有找到商品,提示查找商品在库中不存在,并提示可以进行新商品录入操作。 
已有商品入库:
提示输入已有商品编号

找到商品,提示输入该商品新进数量,追加后写入文件. 
没有找到商品,提示没有该商品,并提示可以进行新商品录入操作。 
询问是否会员(是)
1 我已经是会员 ?将提示您输入会员卡编号,核实后将执行会员的收费标准(9折),并开启抽奖功能。
2 我想成为会员? 系统会分配会员编号给您,提示您输入贵宾信息,然后将您的信息保存到文件
3 返回??????? 
询问是否会员(否)
执行非会员收费标准。????? 
收银操作:
提示输入商品编号和数量,当输入S时停止结帐,并打印清单,根据是否会员计算出不同的收费金额,提示用户交款,如果用户交纳的金
额不足给出提示,交纳的金额大于等于收费金额时,收费并找回零钱。
二、简单技巧说明
1 数据结构:
由于本人还没有完成C语言的学习,只能通过结构体来搭建数据结构,并通过写入文件来实现永久保存,并且本项目达成了一些其他功能,
为了满足需求,我在头文件里面声明了4个结构体,以满足功能需求。
struct sp //用于对商品库存进行数据操作
{
char no[10]; //商品编号
char name[20];//商品名称
float price;//商品单价
int num;//商品库存数量
float amount;// 商品库存总价值
};
struct buy//用于处理购买时的商品清单打印,消费者没有必要知道商品编号和库存总价值,故此消去。
{
char name[20];//商品名称
float price;//商品单价
int num;//商品数量
};
struct members//用于处理会员注册信息
{
int no;//会员卡号码
char name[20];//会员姓名
char ID[25];//会员身份证号码
};
struct daysell//用于记录每日交易信息
{
char name[20];//商品名称
float price;//单价
int num;//数量
char stime[20];//交易时间
char sdate[20];//交易日期
};
2 菜单操作
采用switch语句,对每个进行的操作进行判断,由于在实际测试中发现,判断句中的判断量设定为char型比int型要更加安全,所以本项
目所有判断量均设定为char型。
3功能循环实现
采用do……while语句达成。
例:do{
Printf(“请输入选项”);
Scanf(“ %c”,&choose);
Switch(choose)
{
Case ‘1’:功能1;break;
Case ‘2’:功能2;break;
Case ‘3’:功能3;break;
Case ‘4’:break;
}
}while(ch!=’4’);
如上面结构,只有当输入4时,循环才因为条件不满足而结束,至于多层菜单的进入和返回,可以使用多层循环嵌套来实现。
4 错误选项处理,
在每个switch的选择中,加入default,当选项没有被任何case接收时,传入default有专门的错误处理画面。
5 图形界面达成
本项目开发了丰富的图形界面,由于开发环境为VC++6.0,无法使用TC的图形函数,而本人又没有学习过VC++的图形函数,故所有图形界
面都由简单语句完成,静态图形由printf语句达成,动态画面由时间数控制,和循环联合达成,所有操作都在图形界面下进行,虽然很
多人认为用这种方法来写界面,浪费时间,又没有从功能上得到改进,但是我认为操作界面很重要,直接关系到给使用者的易懂性,我
相信将来的学习中,一定会有其他语言能让我做出更加漂亮又实用的界面。
6 抽奖机制的达成
抽取两个随机数,赋给两个变量aa和bb,aa对5取余,bb对4取余,如果两个数相等,就中奖了,根据中奖时bb的值来选择相应的奖项。
三、结语
关于一些基本的语法,例如:用system(“cls”)清屏,用getch()来达成密码隐藏,等等,我没有详细说明,我相信大家都了解这些语句。
 
[打印本页]  [关闭窗口]
q
网站首页 | 在线咨询 | 在线报名 | 多方合作 | 联系方式 | 加入收藏 | 设为首页
Copyright 2009 华育国际西安软件实训基地 陕ICP备08006040号
联系电话:029-87208781 029-87208782 029-87208783
地址:西安市北大街新时代广场5层 710003
咨询QQ:1065173532 Http://www.xaeduask.com