超市会员积分消费系统程序设计报告
《计算机科学与应用系程序类课程设计》 设计报告书 题 目:会员消费积分管理系统 一、 需求分析 首先该问题分为两个大块,一个是会员卡管理功能,另一个是会员积分管 理功能。针对会员卡管理功能,首先应具备7项功能,新会员的录入,查询会员 的信息,会员的挂失操作,会员的冻结操作,修改密码的操作,注销会员的操作, 以及返回上一层目录的操作。在没有一个会员的时候,如果用户进行了查询及注 销等其他在有用户基础上才应该进行的操作,也应该给出相应的提示,来警示用 户应该正确的操作。 要实现新会员的增加,首先应设置一个会员的结构体数据结构来存储每个 会员的信息,以防会员之间的信息混淆,每个会员的信息包含身份证号码的存储 数组,密码的存储数组,冻结的存储,挂失的存储,消费额的存储,级别的存储, 积分的存储这些内容,在增加时对于身份证号码的判定,输入错误时应该采取的 措施,新会员增加时密码的设置,对于密码位数的要求以及出现不符合要求应该 采取的相应措施,以及再次密码的确认。 实现会员信息输出时要进行身份证号码的识别,密码的确认,然后按照一 定的格式给出会员信息存储的内容。 在进行冻结以及后面的相应操作时也都是首先进行身份的识别,密码的确 认,通过后再进行相应的操作。 进行密码修改的时候,首先要进行身份的识别,进行旧密码的确认,然后 才提示输入新密码,并再次进行新密码的确认。新密码要覆盖旧密码,下次进行 其他操作时要实现新密码的置换。 在进行注销用户操作时,要删除该用户,在进行下一次操作时,要做出相 应的提示该用户已删除。 返回上一层菜单可以使用户返回到上一层的菜单,该功能较容易实现。 在进行积分查询时首先要消费额的录入来验证该功能的实现。 在进行折扣率查询时首先要级别的录入来验证该功能。 二、 系统主要功能 该系统的主要功能是:会员卡管理功能和会员卡储值积分管理。 会员卡管理功能: (1)根据身份证办理会员卡,一张身份证只能办理一张会员卡。 (2)根据需要可以注销、挂失、冻结会员卡或修改会员卡密码以及积分和消费金额查询。会员基本信息包括:会员身份证号、卡号、密码、积分、消费金额、级别。 会员卡储值积分管理: (1)根据会员卡级别设置折扣率,根据折扣率自动打折计算消费金额。 (2)根据消费金额计算积分,积分累计达到一定标准后换购商品。 三、功能模块描述及功能模块图 本系统包含以下函数: ①. 系统主函数 函数名 void main() ②. 主控模板call函数 函数名 void call() ③. 系统退出函数 函数名 int tuichu() ④. 会员管理总函数 函数名 int guanli() ⑤. 会员积分总函数 函数名 int jifen() ⑥. 会员信息查询函数 函数名 int chaxun() ⑦. 信息输出函数 函数名 int shuchu(int aa) ⑧. 冻结函数 函数名 int dongjie() ⑨. 挂失函数 函数名 int guashi() ⑩. 注销函数 函数名 int zhuxiao() ⑪. 返回函数 函数名 int fanhui() ⑫. 密码设置函数 函数名 int mimashezhi() ⑬. 检查函数 函数名 int jiancha(int aaa) ⑭. 增加新会员函数 函数名 int zengjia() ⑮. 修改密码函数 函数名 int xiugaimima() ⑯. 输入级别函数 函数名 int shurujibie() ⑰. 输入消费额函数 函数名 int shuruxiaofei() ⑱. 查询积分函数 函数名 int chaxunjifen() ⑲. 查询折扣率函数 函数名 int zhekoulv() 各模板的N-S图如下: 1系统主函数 输出“会员卡存储值积分管理系统” 调用call() 2主控模板call函数 清空缓冲区f(stdin) 屏幕输出提示操作的内容 读取键盘输入的数字 i=1 真 否 调用guanli() i=2 真 否 调用jifen() 调用tuichu() 3. 系统退出函数 调用exit(0) 返回0 4.会员管理函数 清空缓冲区f(stdin) 屏幕输出提示操作的内容 读取键盘输入的数字 是 i=1 否 调用zengjia() 是 i=2 否 调用chaxun() 是 i=3 否 调用guashi() 是 i=4 否 调用dongjie() 是 i=5 否 调用xiugaimima() 是 i=6 否 调用zhuxiao() 调用fanhui() 返回0 5.会员积分总函数 清空缓冲区f(stdin) 屏幕输出提示操作的内容 读取键盘输入的数字 是 i=1 否 调用shuruxiaofei() 是 i=2 否 调用shurujibie() 是 i=3 否 调用zhekoulv() 是 i=4 否 调用chaxunjifen() 调用fanhui() 返回0 6.会员信息查询函数 清空缓冲区f(stdin) 是 Zonglen==0 否 输出错误信息 输出提示信息 读取输入的字符串a Shenlen=strlen(a) 直到shenlen == 18 i=0,i++,直到i=17 并且 a[i]>=48 && a[i]<=57 a[18] = ‘\0’ zong[i].shen[j] 是 == a[j]