1、购物卡管理系统设计报告+源代码C语言购物卡管理系统【题目要求】设计购物卡管理系统,系统主要模块:(1) 实现系统内制卡、发卡功能;(2) 实现系统内账户及相关账户管理;(3) 实现卡交易和合法性检查;(4) 实现卡交易积分功能;(5) 实现卡报表功能;(6) 数据以文件形式存储。【提示】制卡:指申请一张购物卡,但还没有使用。发卡:该购物卡已经启用。实现卡交易:指从卡中消费掉一定的金额。一、 系统需求分析根据题目要求,由于数据要以文件形式存储,所以应提供文件的输入、输出等操作;在程序中要实现银行卡的各项功能,应提供制卡、发卡、存款、消费、查询账户相关信息、查询账户交易记录、查询全部信息、退出程序
2、等一系列操作;另外还应提供键盘式选择菜单实现功能选择。二、 系统总体设计分析了整个系统之后,根据上面的系统需求分析,可以将这个系统的设计分为如下七大模块:制卡、发卡、存款、消费、查询账户相关信息、查询账户交易记录、查询全部信息。三、 系统详细设计1. 主函数设计主函数的设计比较简介,只包括一个菜单函数,主要实现菜单功能,提供了菜单输入、模块选择、退出系统等模块的调用。其中各功能模块用菜单方式选择。【流程图】【小结】函数开头有“文件包含”的预处理命令,所谓“文件包含”处理是指一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。C语言提供了#include命令用来实现
3、“文件包含”的操作。在本程序中包含了一下头文件:string.h、ctype.h、stdio.h,方便调用库函数实现某些功能。在程序设计中,只使用一些基本类型(或称简单类型)的变量(如整型、实型、字符型变量等)和构造类型数据数组,是远远不够的。有时候需要将不同类型的数据组合成一个有机的整体,以便于引用。这些组合在一个整体中的数据是相互联系的。在这个程序中,定义了一个结构体数组来存放购物卡用户的各种信息,包括账户卡号、户主姓名、账户余额、账户状态、账户积分,结构体如下:struct user int num;/*账户号码*/ char name20;/*户主名称*/ float surplus;
4、/*账户余额*/ char state2;/*账户状态,y:已启用,n:未启用*/ int point;/*账户积分*/u100;同时在各分函数中,定义了int、float、char等一系列变量类型,用来实现函数功能。在主函数前面,要加上对各功能函数的声明,声明的作用是把函数的名字、函数的类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查,例如函数名是否正确,实参与形参的类型和个数是否一致等。主函数比较简单,但是函数的调用很多,所以,在程序的开头就加上了各函数的声明,如下:void c_c();/*制卡函数模块*/void s_u();/*发卡函数模块*/voi
5、d in_m();/*存款函数模块*/void out_m();/*取款函数模块*/void c_i();/*查询账户相关信息函数模块*/void c_r();/*查询账户交易记录函数模块*/void check();/*查询全部信息函数模块*/void menu();/*主菜单函数模块*/void back();/*返回函数模块*/void check_b();/*给用户提示已有信息*/实现菜单选择功能,使用的是switch语句,根据用户输入的菜单选项a,调用不同的函数实现各种功能:switch(a) case 1:c_c();break;/*制卡模块*/ case 2:s_u();brea
6、k;/*发卡模块*/ case 3:in_m();break;/*存款模块*/ case 4:out_m();break;/*取款模块*/ case 5:c_i();break;/*查询账户相关信息模块*/ case 6:c_r();break;/*查询交易记录模块*/ case 7:check();break;/*查看所有信息模块*/ case 8:exit(0);break;/*退出模块*/ 2. 各功能模块设计2.1 制卡模块【流程图】2.2 发卡模块【流程图】2.3 存款模块【流程图】2.4 消费模块【流程图】2.5 查询账户相关信息模块【流程图】2.7 查询全部信息模块【流程图】3. 公共函数设计返回模块,即在完成一项命令之后,可以选择返回主菜单或者是退出程序。【流程图】
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1