

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c语言课程设计报告 购物卡管理系统 c 语 言 课 程 实 习 报 告 课程设计第17题 (一)题目要求 请设计购物卡管理系统,要实现系统的主要功能模块有: (1)实现系统内制卡、发卡功能; (2)实现系统内卡账户和相关账户管理; (3)实现卡交易和合法性检查; (4)实现卡金融交易积分功能; (5)实现卡报表功能; (6)数据以文件形式存储。 提示 制卡:指申请一个购物卡,但还没有使用。 发卡;指该卡以经起用。 实现卡交易:指从卡中消费掉肯定金额。 (二)题目及要求的分析: 依据题目要求,系统应当实现以下功能: (1) 制卡:主要是新建出一张购物卡,并输入了顾客部分信息,如姓名、密码等,但卡
2、没有激活,依旧不行使用。 (2) 发卡:激活新建的购物卡,用户能够使用卡进行各项活动。 (3) 消费:进入账户后,取走少于账户金额的钱款进行消费,并在账户削减相应的金额,增加相应的积分。 (4) 存款:进入账户后,在金额项加上用户要存入的钱款。 (5) 报表:显示顾客购物卡上记录的全部信息,除密码外。 (6) 存储:购物卡内的信息以文件形式存储。 (7) 退出:从系统中退出。 (8) 菜单:供应良好的界面,便利用户的操作。 (三)整体设计与模块划分: 依据以上的分析,可以将系统整体划分为以下大致几部分: 函数及结构模块有: 1、数据结构结构体: struct card /*定义购物卡的几要素*
3、/ char name20; /*顾客姓名(即卡号)*/ long int password; /*购物卡密码*/ char start4; /*购物卡是否激活*/ float account; /*余额*/ float score; /*积分*/ card100; 2、main() /*主函数*/ 3、void menu() /*菜单*/ 4、make_card() /*制卡*/ 5、start_card() /*激活*/ 6、get_card() /*消费*/ 7、put_card() /*存款*/ 8、display_card() /*报表*/ 9、read_card() /*读卡(读取
4、数据)*/ 10、write_card() /*写卡(记录数据)*/ 11、getch();的功能是等待你按键(有时候,需要程序停一下,以便查看结果) 它不影响程序的输出结果。 (四)具体设计 (1)、开头部分 #includestdio.h #includestdlib.h #includestring.h/头函数名 void menu(); struct card /*定义购物卡的几要素*/ char name20; /*顾客姓名(即卡号)*/ long int password; /*购物卡密码*/ char start4; /*购物卡是否激活*/ float account; /*余额
5、*/ float score; /*积分*/ card100; int length=0; /*制卡数*/ char yes,no; /*是,否(激活)*/ (2)读卡(从文件中读取数据信息) read_card() /*以只读方式*/ file *fp; int i; if(fp=fopen(card.txt,r)!=null) /*以输出方式打开*/ i=0; while (!feof(fp) fscanf(fp,%s%ld%s%f%dn,,cardi.password,cardi.start,cardi.account,cardi.score); i+; length
6、=i-1; /*记录制卡数*/ fclose(fp); (3)写卡(将数据信息记录到文件中) write_card() /*以只写方式*/ file *fp; int i; if(fp=fopen(card.txt,w)=null) /*以输出方式打开 */ printf(写入文件错误!); getch(); exit(0); else for(i=0;ilength;i+) fprintf(fp,%s%ld%s%f%f,,cardi.password,cardi.start,cardi.account,cardi.score); fclose(fp); return 1;
7、 (4)制卡(新建出一张购物卡,并输入了顾客部分信息,如姓名、密码等,但卡没有激活,依旧不行使用) make_card() /* int i; i=length; printf(请输入你的姓名:n); scanf(%s,); printf(请设置你的密码:n); scanf(%ld,password1); printf(请再输入你的密码 scanf(%ld,password2); if(password1=password2) strcpy(cardi.start,no); cardi.account=0; cardi.score=0; length=length+1; p
8、rintf(制卡胜利,你的购物卡为:n); printf(t姓名t是否激活t余额t积分nn); printf( %8s %8s %10d %10dn,,cardi.start,cardi.account,cardi.score); write_card(); printf(n输入任意键返回主菜单.); getch(); /*程序停一下,等待你按键连续,它不影响程序的输出结果*/ menu(); else printf(对不起,你输入的密码错误!); printf(n输入任意键返回主菜单.); getch(); menu(); (5)发卡(激活新建的购物卡,用户能够使用卡进行
9、各项活动) start_card() /*激活卡号功能设定*/ int i,n; long int password; char name10; n=0; printf(请输入你的姓名:n); scanf(%s,name); printf(请再输入你的密码:n); scanf(%ld,password); read_card(); for(i=0;i=length;i+) if(strcmp(,name)=0)(cardi.password=password) strcpy(cardi.start,yes); n=i+1; else n=n; if(n0) write_ca
10、rd(); printf(激活胜利!); else printf(您输入的姓名或密码错误!); printf(n输入任意键返回主菜单.); getch(); menu(); (6)消费(进入账户后,取走少于账户金额的钱款进行消费,并在账户削减相应的金额,增加相应的积分) get_card() /*消费功能设定*/ int i,m; float n; long int password; char name10; m=0; printf(请输入你的姓名:n); scanf(%s,name); printf(请再输入你的密码:n); scanf(%ld,password); read_card()
11、; for(i=0;i=length;i+) if(strcmp(,name)=0)(cardi.password=password)(strcmp(cardi.start,yes)=0) m=i+1; else m=m; if(m0) printf(你想消费多少钱:n); scanf(%f,n); if(n=cardm-1.account) cardm-1.account=cardm-1.account-n; cardm-1.score=cardm-1.score+n; printf(余额为 %fn,cardm-1.account); printf(积分为 %dn,car
12、dm-1.score); printf(交易胜利!); else printf(您的余额不足!); write_card(); printf(n输入任意键返回主菜单.); getch(); menu(); else printf(您输入的姓名或密码错误或卡未激活!); printf(n输入任意键返回主菜单.); getch(); menu(); (7)存款(进入账户后,在金额项加上用户要存入的钱款) put_card() /*存款功能设定*/ int i,m; float n; long int password; char name10; m=0; printf(请输入你的姓名:n); sc
13、anf(%s,name); printf(请再输入你的密码:n); scanf(%ld,password); read_card(); for(i=0;i=length;i+) if(strcmp(,name)=0)(cardi.password=password)(strcmp(cardi.start,yes)=0) m=i+1; else m=m; if(m0) printf(您想存入多少钱:n); scanf(%f,n); cardm-1.account=cardm-1.account+n; printf(余额为 %fn,cardm-1.account); print
14、f(积分为 %dn,cardm-1.score); printf(交易胜利!); write_card(); else printf(您输入的姓名或密码错误或卡未激活!); printf(n输入任意键返回主菜单.); getch(); menu(); (8)报表(显示顾客购物卡上记录的全部信息,除密码外) display_card() /*显示用户信息功能设定*/ int i,m; long int password; char name10; m=0; printf(请输入你的姓名:n); scanf(%s,name); printf(请再输入你的密码:n); scanf(%ld,passw
15、ord); read_card(); for(i=0;i=length;i+) if(strcmp(,name)=0)(cardi.password=password) m=i+1; else m=m; if(m0) printf(t姓名t是否激活tt余额tt积分nn); printf( %8s %8s %20f %10dn,,cardm-1.start,cardm-1.account,cardm-1.score); else printf(您输入的姓名或密码错误或卡未激活!); printf(n输入任意键返回主菜单.); getch(); menu
16、(); (9)菜单(供应各种服务选项) void menu() int i; printf(nn); printf(tt*n); printf(tt* 主菜单 *n); printf(tt* *n); printf(tt* 1. 制卡(申请购物卡) *n); printf(tt* 2. 发卡(激活购物卡) *n); printf(tt* 3. 消费 *n); printf(tt* 4. 存款 *n); printf(tt* 5. 报表(购物卡信息) *n); printf(tt* 6. 退出 *n); printf(tt* *n); printf(tt*nn); printf(请选择您所需服务
17、(1-6):); scanf(%d,i); while (i0 | i6) printf(你输入有误,请再输入!n); printf(请选择您所需服务(1-6):); scanf(%d,i); getchar(); switch(i) case 1: make_card(); break; case 2: start_card(); break; case 3: get_card(); break; case 4: put_card(); break; case 5: display_card(); break; case 6: exit(0); (10)欢迎界面 main() printf(
18、nnntt.o(_)o 欢迎进入购物管理系统 o(_)o.); printf(nnttt按任意键连续。); printf(nnnnnnnnnnnnnntttttttt设计者李洋 ); getch(); menu(); (五)运行与测试报告(运行结果) (1) 欢迎界面 (2)主菜单函数 (3)制卡模块 (4)激活模块 (5)余额不足消费 (6)存款积分模块 (7)余额充分消费 (8)报表模块 (9)退出模块 (六) 感想 在这次实习感觉对编程有了肯定的了解,特殊是对结构体,知道了结构体的构造。对于文件的处理也比以前进步了,但对于为什么打不开文本文件还是不怎么明白,虽然知道用不同的方法打开文件,但操作原理还是不怎么知道。这次实习对我最大的关心也许就是帮我复习了c语言,同时一次上机的实习操作可以关心我对编程的了解。 实习开头阶段我只是将书中的程序打进,看它的运行效果,后来才知道其中的原理。在拿到题目后,我刚开头觉得很难,我觉得我不行能完成,由于我根本就不知道怎么
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 配电线路技能鉴定实操培训课件
- 高效节能电机项目投资估算方案(范文模板)
- 城市污水管网建设工程安全管理方案(模板)
- 2025年高纯氮化铝粉体项目建议书
- 2025年银行监管及中央银行服务项目合作计划书
- 智慧物流概论 课件 04智慧运输
- 2025年医药级纤维素醚合作协议书
- 常用胰岛素种类及特点表
- 常用乌头类中药的毒性研究概述
- 航空航天零部件制造2025年高精度加工技术不锈钢成形技术研究报告
- 2024年辅警招聘考试公安基础知识人民警察法基础知识模拟试卷
- 2024详解国家基层糖尿病防治管理指南
- 零星维修改造工程施工方案施工组织设计投标方案(技术标)
- 盾构隧道用管片招标采购
- 《环境与资源保护法(第5版)》全套教学课件
- 2024年03月北京西城区教委事业单位招考聘用764人笔试近年2018-2023典型考题及考点剖析附答案带详解
- 人教版2024七年级英语上册Starter Unit(1-3)单词精讲课件
- 广东省深圳市宝安区2023-2024学年五年级下学期期末英语试题
- 成品烟道安装施工方案
- 《路遥人生》读书分享课件
- 小学2024年暑假致家长的一封信9篇
评论
0/150
提交评论