收藏 分销(赏)

购物卡标准管理系统.doc

上传人:w****g 文档编号:3000359 上传时间:2024-06-12 格式:DOC 页数:20 大小:104.54KB
下载 相关 举报
购物卡标准管理系统.doc_第1页
第1页 / 共20页
购物卡标准管理系统.doc_第2页
第2页 / 共20页
购物卡标准管理系统.doc_第3页
第3页 / 共20页
购物卡标准管理系统.doc_第4页
第4页 / 共20页
购物卡标准管理系统.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、C语言课程设计报告班学号: 193092姓名: 马幸佳指引教师: 张冬梅日期: 6月中华人民共和国地质大学(武汉)计算机学院一、题目规定系统重要功能模块:1,实现系统内制卡,发卡功能。2,实现系统内购物卡帐户及有关帐户管理。3,实现购物卡交易和合法性检查。4,实现购物卡交易积分功能。5,实现购物卡报表功能。6,数据以文献形式存储。提示:制卡:指申请一种购物卡,但还没有使用。发卡:指该卡已经起用。实现卡交易:指从卡中消费掉一定金额。二、需求分析依照题目规定,由于购物卡信息是存储在文献中,因此应提供文献输入、输出等操作;在程序中需浏览购物卡信息,应提供报表、查询等操作;此外还应提供键盘式选取菜单实

2、现功能选取。三、总体设计依照需求分析,可以将系统分为五大模块:制卡、发卡、登陆、报表、积分。购物卡管理系统制卡模块发卡模块登录模块积分模块报表模块查询储蓄修改密码消费四、详细设计1、主函数将main()函数体内界面选取某些语句单独抽取出来作为一独立函数,目在于系统执行完每某些功能模块后可以以便返回到系统界面。void menu()int v,w1;doprintf(tt*MENU*nn);printf(tttt 1.card-maden);printf(tttt 2.card-lifen);printf(tttt 3.card-entern);printf(tttt 4.card-browse

3、n);printf(tttt 5.exitn);printf(nntt *n);printf(Choice your number(1-5):bb);scanf(%d,&v);if(v5) w1=1;getchar();else w1=0;while(w1=1);switch(v)case 1:made();break; case 2:life();break; case 3:enter();break; case 4:browse();break; case 5:exit(0); 2、各功能模块设计(1)制卡模块【数据构造】struct credicard int number;char n

4、ame20;char ID20;char word8;int flag;float account;int integal;cardM;/*cardM中每个数组元素相应一种运动员信息* /【程序】void made() int i;char h20;doprintf(nnt Input your number:bbbbbbb);scanf(%s,h);if(strlen(h)!=6)printf(nnntt*Wrong!Input again*nn);continue;for(i=0;in;i+)if(strcmp(cardi.ID,h)=0)printf(nntt*The number ex

5、ist,input again*nn);break;while(strlen(h)!=6)|strcmp(cardi.ID,h)=0); cardn.number=n;strcpy(cardn.name,*);strcpy(cardn.ID,h);strcpy(cardn.word,000000);cardn.flag=0;cardn.account=0.00;cardn.integal=0; printf(nnntt*The card is made!*nn); print_one(n);n+; add();menu();print_one(n):显示一张卡信息函数。【程序】void pri

6、nt_one(int j) printf(n|-|-|-|-|-|-|); printf(n|NO. | name | ID |flag| account | integal |); printf(n|-|-|-|-|-|-|); printf(n|%4d|%20s|%20s|%4d|%10.2f|%10d|, cardj.number,cardj.name,cardj.ID,cardj.flag,cardj.account,cardj.integal); printf(n|-|-|-|-|-|-|);(2)发卡模块void life() int k=-1;char h20;if(n=0) p

7、rintf(nntt*Make card first*n);elseprintf(nnt Input your applied number:bbbbbbb);scanf(%s,h);k=search(h);if(k=-1)printf(nnttt*Wrong number!*n);elseif(cardk.flag=1)printf(nntt*Life already!*n);else huo(k);menu();huo(k):激活一张卡函数。void huo(int k) char m20,p8;int x,w2;do printf(nntt Life? (1) Yes (2) No n)

8、; printf(ntt Chioce your number:bb); scanf(%d,&x); if(x2) w2=1;getchar(); else w2=0;while(w2=1);if(x=1)printf(nnttInput your name:bbbbbbbbbbbbbbbbbbbb);scanf(%s,m);strcpy(cardk.name,m);printf(nnttInput six-number code :bbbbbbb);scanf(%s,p); strcpy(cardk.word,p); cardk.flag=1; printf(nnntt*Life!*nn);

9、print_one(k); add();(3)登陆模块void enter() int k=-1;char h20;if(n=0) printf(nntt*Make card first*n);elseprintf(nntInput your applied number:bbbbbbb);scanf(%s,h);k=search(h);if(k=-1)printf(nnttt*Wrong number!*n);elseif(cardk.flag=0)printf(nntt*LIFE FIRST!*n);elsehedui(k);menu();hedui(k):登陆信息。void hedui(

10、int k) int c=0,w3=0;char p8;do printf(nntt*Input your code:bbbbbbb);scanf(%s,p); if(strcmp(cardk.word,p)!=0) printf(nntt*Wrong code!*n); c+; continue;elseprintf(nntt*Right code!*n);w3=1; menu1(k);while(w3=0&c3);子菜单设计如下:void menu1(int k) int v,w4; printf(tt*MENU*nn);printf(tttt 1.Inquiren);printf(ttt

11、t 2.Depositn);printf(tttt 3.fetchn);printf(tttt 4.change coden);printf(tttt 5.back to menun);printf(nntt *n);printf(Choice your number(1-5):bb);scanf(%d,&v);if(v5)w4=1;getchar();else w4=0;while(w4=1);switch(v)case 1:stat_one(k);break;case 2:deposit(k);break;case 3:fetch(k);break;case 4:change(k);bre

12、ak; case 5:menu();子模块设计如下查询模块:void stat_one(int k)printf(nntt*Operate successfully!*);print_one(k);menu1(k);储蓄模块void deposit(int k)float a=0.00;printf(nnttInput your amount:bbbbbbbbbbb);scanf(%f,&a);cardk.account+=a; printf(nntt*deposit successfully!*);print_one(k);add();menu1(k); 消费模块:void fetch(in

13、t k) float b=0.00;printf(nnttInput your amount:bbbbbbbbbbb);scanf(%f,&b);if(bcardk.account)printf(nntt*Remaining sum is not enough !*);else cardk.account-=b; cardk.integal=b; printf(nntt*Your patronage !*); print_one(k); add();menu1(k);修改密码模块:void change(int k) char a8,b8;printf(nnttInput new six-nu

14、mber code:bbbbbbb);scanf(%s,a);printf(nttInput new code again:bbbbbbb);scanf(%s,b);if(strcmp(a,b)=0)printf(nntt*Code change!*);add();elseprintf(nnttDifferent codes,code change failed!);menu1(k);(4)报表模块:void browse() int i; if(n=0) printf(nntt*Make card first!*); else printf(nntt*Operate successfully

15、!*n); printf(n|-|-|-|-|-|-|); printf(n|NO. | name | ID |flag| account | integal |); printf(n|-|-|-|-|-|-|); for(i=0;in;i+) printf(n|%4d|%20s|%20s|%4d|%10.2f|%10d|, cardi.number,cardi.name,cardi.ID,cardi.flag,cardi.account,cardi.integal); printf(n|-|-|-|-|-|-|); menu( ); 3、公共函数(1)保存函数void add() int i

16、;FILE *fp;if(fp=fopen(score.txt,wb)=NULL)printf(tt Can not open the file n);return;for(i=0;in;i+)if(fwrite(&cardi,sizeof(struct credicard),1,fp)!=1)printf(tt File write error n);return;fclose(fp);printf(nnntt*Keep!*n);(2)查找函数int search(char h20)int i,k=-1;for(i=0;in;i+)if(strcmp(cardi.ID,h)=0)k=i;re

17、turn(k);五、运营成果(1)主菜单(2)制卡模块:输入卡号(3)制卡成功(4)发卡模块(5)发卡成功(6)登录模块(7)储蓄成功(8)修改密码(9)报表功能六、总结 此前在没有做课程设计时候,总觉得自己编写一种程序那简直就是天方夜谭,自己怎么也许写出来。可是当前,照着课本一点点模仿设计,自己居然也可以写个大概,虽然过程不是很顺利,有些某些还需要学长指点,但是,我觉得已有很大收获了。对于有些某些,也许还是不会写,最起码可以看懂了,不会像此前同样,只是能做一两道题目,写个三四十行程序,当前是对于程序有了一种整体把握。虽然耗费了诸多时间和精力,但是可以学到诸多东西,当前自己对于C语言有了更深一点理解和结识。我懂得,当前只是学了一点皮毛而已,离纯熟掌握C语言尚有很大一段距离,要做尚有诸多,我一定会在这个暑假继续加强学习,在理解学习好自己编写这个程序后,再尝试编写某些其她程序,使自己更加纯熟运用和掌握c语言。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服