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