版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c语言课程设计报告班学号: 1姓名: 指导老师: 日期: 2010年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-browsen);prin
3、tf(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 name20;c
4、har 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 exist,i
5、nput again*nn);break;while(strlen(h)!=6)|strcmp(cardi.id,h)=0); cardn.number=n;strcpy(,*);strcpy(cardn.id,h);strcpy(cardn.word,000000);cardn.flag=0;cardn.account=0.00;egal=0; printf(nnntt*the card is made!*nn); print_one(n);n+; add();menu();print_one(n):显示一张卡信息的函数。【程序】void print_o
6、ne(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.id,cardj.flag,cardj.account,egal); printf(n|-|-|-|-|-|-|);(2)发卡模块void life() int k=-1;char h20;if(n=0) print
7、f(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); p
8、rintf(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(,m);printf(nnttinput six-number code :bbbbbbb);scanf(%s,p); strcpy(cardk.word,p); cardk.flag=1; printf(nnntt*life!*nn);pri
9、nt_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(int
10、 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(tttt 2
11、.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);break;
12、 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(int k
13、) 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; egal=b; printf(nntt*your patronage !*); print_one(k); add();menu1(k);修改密码模块:void change(int k) char a8,b8;printf(nnttinput new six-numbe
14、r 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!*n
15、); 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.id,cardi.flag,cardi.account,egal); printf(n|-|-|-|-|-|-|); menu( ); 3、公共函数(1)保存函数void add() int i;fi
16、le *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;return(k);五、运行结果(1)主菜单(2)制卡模块:输入卡号(3)制卡成功(4)发卡模块(5)发卡成功(6)登录模块(7)储蓄成功(8)修改密码(9)报表功能六、总结 以前在没有做课程设计的时候,总觉得自己编写一个程序那简直就是天方夜谭,自己怎么可能写的出来。可是现在,照着书本一点点模仿设计,自己竟然也可以写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年企业内部员工晋升制度手册
- 2025年项目进度管理与监控指南
- 2025年食品加工安全与质量管理指南
- 公共交通运营安全管理责任制度
- 电子资源使用管理制度
- 2025年企业信息安全评估与风险管理指南
- 超市员工绩效考核及晋级制度
- 超市顾客投诉处理制度
- 办公室员工培训效果总结制度
- 2026年陕西氢能产业发展有限公司(榆林)所属单位社会公开招聘备考题库及1套参考答案详解
- DL-T 2571.3-2022 水电站公用辅助设备检修规程 第3部分:水系统
- “振兴杯”职业技能竞赛(维修电工)备赛试题库 (单选、多选题汇总)
- 全国基层卫生技能竞赛题库(基本公卫部分)-高血压患者健康管理
- YC/T 273-2014卷烟包装设计要求
- GB/T 25689-2010土方机械自卸车车厢容量标定
- 摄像机外观检验标准
- 课件-糖皮质激素
- 学习课件所有内容归类到此-etops运行手册
- 大棚番茄栽培技术课件
- 高效节能日光温室设计方案
- 西安菲尔特金属材料过滤有限公司金属纤维及过滤器生产建设项目安全专篇
评论
0/150
提交评论