购物卡管理系统设计实习报告

上传人:第*** 文档编号:34040325 上传时间:2018-02-20 格式:DOC 页数:31 大小:324.50KB
返回 下载 相关 举报
购物卡管理系统设计实习报告_第1页
第1页 / 共31页
购物卡管理系统设计实习报告_第2页
第2页 / 共31页
购物卡管理系统设计实习报告_第3页
第3页 / 共31页
购物卡管理系统设计实习报告_第4页
第4页 / 共31页
购物卡管理系统设计实习报告_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《购物卡管理系统设计实习报告》由会员分享,可在线阅读,更多相关《购物卡管理系统设计实习报告(31页珍藏版)》请在金锄头文库上搜索。

1、C 语言课程设计报告语言课程设计报告姓名:居江月班号:040091学号:20091001669专业:环境学院试验班指导老师:彭雷完成时间:2010 年 7 月 15 日C 语言课程设计实习报告第 1 页 共 26 页17 题 购物卡管理系统【题目要求】设计购物卡管理系统,系统主要模块:(1) 实现系统内制卡、发卡功能;(2) 实现系统内账户及相关账户管理;(3) 实现卡交易和合法性检查;(4) 实现卡金融交易积分功能;(5) 实现卡报表功能;(6) 数据以文件形式存储。【提示】制卡:指申请一张购物卡,但还没有使用。发卡:指该购物卡已经启用。实现卡交易:指从卡中消费掉一定的金额。一、 系统需求分

2、析根据题目要求,由于购物卡金额的信息存放在文件中,所以应提供文件的输入、输出等操作;在程序中要实现购物卡的各项功能,应提供制卡、发卡、存款、消费、账户信息的管理查看,退出程序等一系列操作;另外还应提供键盘式选择菜单实现功能选择。C 语言课程设计实习报告第 2 页 共 26 页二、 系统总体设计根据上面的系统需求分析,可以将这个系统的设计分为如下七大模块:制卡、发卡、存款、消费、查询账户积分、查询账户交易记录、查询全部信息购物卡管理系统制卡 发卡存款 消费查询账户积分 查询账户交易记录查询全部信息 退出C 语言课程设计实习报告第 3 页 共 26 页三、 详细设计1. 欢迎界面为了使程序人性化,

3、我为程序设计了比较简单的欢迎界面,没有实际意义,只是表示进入购物系统的提示。 【分析】:void main()printf(nnnnnnnnn);printf(tt*购 物 卡 管 理 系 统*n);printf(nnntt 按回车键进入.);getchar();menu();这里通过简单的输入输出函数来实现欢迎界面,通过用户输入回车键进入菜单进行操作。C 语言课程设计实习报告第 4 页 共 26 页2. 主函数主函数的设计比较简介,只提供了进入菜单、模块选择、退出系统等模块的调用。其中各功能模块用菜单方式选择,力图做到简洁明了,直观大方。流程图如下:【流程图】输出菜单输入菜单编号判断编号是否

4、在 16 范围内根据编号调用各功能模块函数开始结束YNC 语言课程设计实习报告第 5 页 共 26 页【分析】:函数开头有“文件包含”的预处理命令,所谓“文件包含”处理是指一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。C 语言提供了#include 命令用来实现“文件包含”的操作。在本程序中包含了一下头文件:string.h、ctype.h、stdio.h,方便调用库函数实现某些功能。在这个程序中,定义了一个结构体数组来存放购物卡用户的各种信息,包括账户卡号、户主姓名、账户余额、账户支出、账户积分,结构体如下:struct credicardint num;

5、/*账户号码*/C 语言课程设计实习报告第 6 页 共 26 页char name20;/*户主名称*/float surplus;/*账户余额*/char state2;/*账户状态,y:已启用,n:未启用*/int point;/*账户积分*/char word8;/*账户密码*/int flag; float account; /*账户余额*/int integal; /*账户支出*/float point;u100;同时在各分函数中,定义了 int、float、char 等一系列变量类型,用来实现函数功能。主函数比较简单,但是函数的调用很多,所以,在程序的开头就加上了各函数的声明,如下

6、:void menu();/*主菜单函数模块*/void made();/*制卡函数模块*/void ppoint();/*积分查询模块 */void putin();/*存款函数模块 */void life();/*发卡函数模块*/void browse();/*报表模块 */void activate(int k);void check(int k); /*查询全部信息函数模块*/void menu1(int k); /*次级菜单函数模块*/实现菜单选择功能,使用的是 switch 语句,根据用户输入的菜单选项 a,调用不同的函数实现各种功能:C 语言课程设计实习报告第 7 页 共 26

7、页3. 各功能模块设计2.1 制卡模块【流程图】开始打开存有数据的文本文件输入需要开卡的户主信息,包括卡号、姓名、初始金额、是否开始使用此卡输出到屏幕输出到文本文件中关闭文本文件结束C 语言课程设计实习报告第 8 页 共 26 页C 语言课程设计实习报告第 9 页 共 26 页2.2 发卡模块【流程图】开始打开存有数据的文本文件输入户主姓名判断户主姓名与数据中的姓名是否匹配将户主状态改为“y”输出到屏幕将数据输入到程序定义的结构体内输出到文本文件中关闭文本文件结束Y NC 语言课程设计实习报告第 10 页 共 26 页C 语言课程设计实习报告第 11 页 共 26 页2.3 存款模块【流程图】

8、开始打开存有数据的文本文件输入户主姓名逐个判断户主姓名与数据中的姓名是否匹配将户主的最后一项交易记录信息记录下来输入存款金额将数据输入到程序定义的结构体内,并输出到屏幕上输出到文本文件中关闭文本文件结束YNC 语言课程设计实习报告第 12 页 共 26 页C 语言课程设计实习报告第 13 页 共 26 页2.4 消费模块【流程图】开始打开存有数据的文本文件输入户主姓名逐个判断户主姓名与数据中的姓名是否匹配将户主的最后一项交易记录信息记录下来输入存款金额将数据输入到程序定义的结构体内,并输出到屏幕上输出到文本文件中关闭文本文件结束YN判断账户余额是否足够Y NC 语言课程设计实习报告第 14 页

9、 共 26 页C 语言课程设计实习报告第 15 页 共 26 页2.5 查询账户相关信息模块【流程图】开始打开存有数据的文本文件输入需要查询的账户户主姓名将余额信息输出到屏幕关闭文本文件结束逐个判断户主姓名与数据中的姓名是否匹配YN将文件中的用户信息输入到系统定义的结构体中C 语言课程设计实习报告第 16 页 共 26 页C 语言课程设计实习报告第 17 页 共 26 页2.7 查询全部信息模块【流程图】开始打开存有数据的文本文件将全部用户的信息输出到屏幕关闭文本文件结束将文件中的用户信息输入到系统定义的结构体中C 语言课程设计实习报告第 18 页 共 26 页4. 积分查询模块设计【流程图】

10、开始打开存有数据的文本文件将全部用户的信息输出到屏幕关闭文本文件结束将文件中的用户信息输入到系统定义的结构体中C 语言课程设计实习报告第 19 页 共 26 页5. 公共函数设计返回模块,即在完成一项命令之后,可以选择返回主菜单或者是退出程序。【流程图】输出菜单供用户选择输入菜单编号判断编号是否为“1”返回主菜单开始结束NYC 语言课程设计实习报告第 20 页 共 26 页C 语言课程设计实习报告第 21 页 共 26 页总结功夫不负有心人,经过了连续 6 天的学习,练习,思考和编写,终于完成了这个实习题目的编写,完成了任务,写出了报告。期间不乏艰难困苦,想要放弃的时候。但是通过老师耐心的指导

11、,同学热心的帮助,再加上网上查阅的资料和自身的思考,终于攻破了一道道难关,最终写出了程序。在程序的编写过程中,我对数据的存储和提取方面的知识比较模糊,不能有效运用,导致我多次出错,严重阻碍了我编写的步伐,后来经过对 c 语言教科书再次深入的学习和同学的指点下,我终于弄清了思路,解决了问题。再就是各个模块中各种条件的判断上我出了不少错误,百思不得其解,不知道如何限制条件。最后在老师的指导下,通过网络上一个相似程序的解读,终于解决难题,通过判断来导向不同函数。这次实习告诉了我,要学会利用资源,学会学习别人的长处,再加以自身的思考,理解才能成功。因为这是个购物卡系统,本着以人为本的思想,我在如何使系

12、统看上更加美观,人性化上下了不少功夫。并且实际去观察了超市收银台的系统,进行学习,在剩余的时间对程序进行了改良。让程序更容易使用和操作理解,让界面更人性化,更简洁明了,方便查询信息。我相信这是每一个编程人员需要做的。但是每个程序总有不足之处,我程序的缺点就是数据可能会溢出,且设置的最大存储量是 1000,且密码也容易看到,这些都不太好。总之,在这次实习中,我充分的利用了以前学习的知识,也学到了很多,遇到困难知难而进不退缩,努力思考解决难题,逐个攻破,也巩固了 c 语言的知识,动手实践能力也增强了,第一次编出了这么完整有用的一个程序,对自己也比较满意,充分培养了自己的动手实践能力。最后,感谢学校

13、给我这个实习的机会,还有同学老师的帮助,让我能够完成这个实习任务。源代码:#include#include /*调用字符函数*/#include#include /*通用输入输出库*/#include#define M 1000void menu();void made();void ppoint();void putin();void life();void enter();void browse();void activate(int k);void check(int k);void menu1(int k);void fetch(int k);C 语言课程设计实习报告第 22 页 共

14、26 页void change(int k);void deposit(int k);void stat_one(int k);void print_one(int j);void point();int search(char h20);int n=0;struct credicard /*定义信用卡结构体*/int number;char name20;char ID20;char word8;int flag;float account;int integal;float point;cardM;void menu()int v,w1;doprintf(nnnn);printf(tt|*|n);printf(tt n);printf(tt| (1) 制 卡 操 作 |n);printf(tt| - |n);printf(tt| (2) 激 活 发 卡 |n);printf(tt| - |n);printf(tt| (3) 帐 户 登 陆 |n);printf(tt| - |n);printf(tt| (4) 报

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号