ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:32.55KB ,
资源ID:10170770      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10170770.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计会员卡管理教学内容.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计会员卡管理教学内容.docx

1、C语言程序设计会员卡管理教学内容【题目描述的内容】【简单的描述】设计一个图书大厦的会员卡管理程序,使其具有一些基本的功能,通过所给的提示信息便可以对会员的信息进行相应的处理。【详细的描述】 会员卡管理程序【题目描述】请设计一个图书大厦的会员卡管理程序。该程序应该具有下列功能:(1) 录入某位持卡人的基本信息:姓名、身份证号、电话/手机并分配一个卡号(2) 给定卡号,显示此卡的基本信息;(3) 给定卡号,查询累积得分; (4) 给定卡号,进行购书的相应处理:购书款的打折;累计得分处理 (5) 给定卡号或身份证号等信息进行挂失处理,挂失处理后能查到该卡号,但显示“该卡已挂失”信息。(6) 给定卡号

2、,对该卡进行删除处理;删除处理后无法找到该卡号。(7) 提供一些统计各类信息的功能。【说明】 约定: 任何一个人均可申请会员卡;每个人只能申请一个会员卡;卡号自动生成;购书款的打折:累积购书满1000元后享受95折、满2000元享受9折、满5000元享受8折 。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的

3、信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【用户文档的内容】1. 应用程序功能的详细说明这是一个图书大厦的会员卡管理程序。该程序具有下列功能:使用该程序时,可以通过屏幕上显示的菜单以及所给的提示信息进行相应的操作。程序中将菜单定义了一个函数,即:void menu(); /*菜单函数*/= WELCOM!=* 1 .Enter new information * 2 .buy * 3 .Search or delete or modify * 4 .modify * 5 .gu

4、ashi * 6 .xian shi * 7 .add data * 8 .Exit *=程序是的主页面的菜单如下:在菜单函数中通过对各项的选取,从而进入相应的函数中,继而进行接下来的操作。(1) 录入某位持卡人的基本信息:姓名、身份证号、电话/手机并分配一个卡号struct huiyuan /*定义会员信息结构体类型*/char num100; /*卡号*/char name20; /*姓名*/char ID30; /*身份证号*/char tel30; /*电话号码*/float fen; /*积分*/char g10; /*记录改卡是否已挂失*/huiyuan 100; 该功能为菜单中的

5、1选项,定义的函数为:void enter(); /*输入函数*/这个函数的作用是创建一个初始的资料信息库,并保存们每位会员的各个信息。每次进入该函数时,信息库将会被更新,以前的信息将会自动删除。(2) 给定卡号,显示此卡的基本信息;该功能为菜单中的3选项,定义为函数:void search(); /*查找函数*/这个函数功能是通过给定的卡号或身份证号,调取信息库中的对应的信息,完成查询功能。从菜单可以看到,在我定义的这个函数中,还添加了一个删除信息的功能。在查找完成后,可以根据提示信息选择删除、修改、购书、继续查找和返回菜单等功能,进行相应的操作或进入相应的函数。(3) 给定卡号,查询累积得

6、分;该功能被合并到上一功能中,查询信息便可以查到积分。(4)给定卡号,进行购书的相应处理:购书款的打折;累计得分处理该功能为菜单中的2选项,定义为函数:void buy(); /*购书函数*/为方便对会员购书打折的计算,还定义了两个子函数:float Money() /*处理输入的购书总金额*/float buy_money(float acc) /*购书打折处理函数*/它们分别是对顾客所购书的计算处理及对会员购书后的积分和打折的处理。若顾客不是会员,则经过计算得出应付金额。若顾客是会员,则应在原有积分上进行再积分,然后进行打折处理,计算出应付金额。打折处理方法如下:累积购书满1000元后享受

7、95折、满2000元享受9折、满5000元享受8折 。(5) 给定卡号或身份证号等信息进行挂失处理,挂失处理后能查到该卡号,但显示“该卡已挂失”信息。该功能为菜单中的5选项,定义为函数:void guashi(); /*挂失函数*/该功能为了防止会员的会员卡丢失,造成损失。所以可以通过输入的卡号或身份证进行挂失处理。挂失后的会员卡以后再使用时不可以享受会员待遇,即不进行各个功能的操作。(6) 给定卡号,对该卡进行删除处理;删除处理后无法找到该卡号。该功能被加入search()函数中,通过输入卡号或身份证号 进行查找操作,显示该卡信息后,选择删除delete选项。信息库中将不存在该卡信息。2.

8、应用程序运行环境的要求应用程序需要在Turbo C或Win TC环境中进行操作。3. 程序的界面、交互方式和操作方法程序界面中点击运行便可进入用户界面,而用户界面中的菜单,通过选8项,便可以退出该界面,结束操作。4. 输入数据类型、格式和内容限制为方便保存用户信息,会员的信息都是字符型变量。而程序运行中的提示信息的各个选项是整型变量。由于定义的会员信息(char name20; /*姓名*/ char ID30; /*身份证号*/ char tel30; /*电话号码*/ )中,姓名最多只能输入20个字符,身份证号最多只能输入30个字符,电话号码最多只能输入30个字符,所以输入是虚加以注意。【

9、技术文档的内容】1. main()menu()buy()output()modify()enter()guashi()add()search ()buy_money()Money()printf_face()input()程序整体结构图2. 问题描述 除了上述的函数,程序中其它函数功能:void input(int i); /*输入数据的子函数*/用于帮助函数enter()中输入信息。void printf_back(); /*用于调用其他函数*/此函数有调用其它函数的作用,每个函数中都可以使用,起到一个联系函数的桥梁的作用。void printf_out(int i); /*显示信息函数*/

10、当输入、添加或修改用户信息时,可以帮助显示一下用户信息,以方便确认。void printf_face(); /*显示信息表头*/在显示用户信息之前,显示信息的表头。int modify_data(int i); /*修改数据的子函数*/是修改函数的一个子函数,modify()函数中主要功能是调取相应卡的信息,而真正进行修改处理的是在该函数中进行的。int save(int n); /*保存数据函数*/该函数用来保存每次输入、增加、修改、删除和积分后保存信息,保存在Pro.txt的文档中。int load(); /*读取数据函数*/函数用于每次进行处理会员任务之前,调用信息库中存储的信息,然后进

11、行下一步的操作。3. 主要模块的算法(流程图)(1)Search()函数的算法(以按卡号查找为例)开始0iinstrcmp(p.num,huiyuani.num)=0i+YNikprintf_out(k)i=n结束N不存在k=-1Nk=-1Y 该函数先判断是否存在该卡号,若存在再判断是否该卡已挂失,若未挂失,则显示该卡信息。 接下来的modify()函数、guashi()函数及buy()函数的算法相似。都要先判断一下是否存在该卡,改卡是否已挂失,在进行下一步的操作。(2)load()函数的算法(流程图)(3) Money()函数的算法(流程图)(4) buy_money()函数的算法(流程图)

12、nm开始strcmp(huiyuani.num,num)=00iMoney()accin不存在ai4. 原程序代码/* HELLO.C - Hello, world */#include stdio.h#include conio.h#include stdlib.h#define N 1000struct huiyuan /*定义会员信息结构体类型*/char num100; /*卡号*/char name20; /*姓名*/char ID30; /*身份证号*/char tel30; /*电话号码*/float fen; /*积分*/char g10; /*记录改卡是否已挂失*/huiyu

13、an 100; /*自定义函数*/void menu(); /*菜单函数*/void enter(); /*输入函数*/void search(); /*查找函数*/void guashi(); /*挂失函数*/void buy(); /*购书函数*/void modify(); /*修改函数*/void output(); /*显示所有数据函数*/void add(); /*添加信息函数*/void input(int i);void printf_back();void printf_out(int i);void printf_face();float buy_money(float a

14、dd);float Money();int modify_data(int i);int save(int n); /*保存数据函数*/int load(); /*读取数据函数*/main() /*主函数*/menu();getch();void menu() /*菜单函数*/ int n,w1; clrscr();do /*显示菜单*/ printf(tt=nn);printf(tt=nn);printf(tt = WELCOM!=nn);printf(tt * 1 .Enter new information *nn);printf(tt * 2 .buy *nn);printf(tt *

15、 3 .Search or delete or modify *nn);printf(tt * 4 .modify *nn);printf(tt * 5 .guashi *nn);printf(tt * 6 .xian shi *nn);printf(tt * 7 .add data *nn);printf(tt * 8 .Exit *nn);printf(tt=nn);printf(tt=nn);printf(nChoose your number(1-8): bb); /*选择菜单*/scanf(%d,&n); if(n8)w1=1; else w1=0; while(w1=1); swi

16、tch(n) case 1:enter();break; case 2:buy();break;case 3:search();break; case 4:modify();break;case 5:guashi();break;case 6:output();break;case 7:add();break;case 8:exit(0); void enter() /*输入函数*/int i,n; printf(How many people do you want to add(0-%d)?:,N-1);scanf(%d,&n); printf(n Enter data nownn); f

17、or(i=0;in;i+) printf(n Input %dth people record.n,i+1);input(i); /*调用子函数*/if(i!=0)save(n); printf_face(); /*显示刚刚输入的所有信息*/for(i=0;in;i+) printf_out(i);printf_back();void search() /*查找函数*/ int i,n,k,w1=1,w2,w3,w4,m,a; struct huiyuan p;n=load(); do printf(nnWhich way do you want to choose? nt1).By ID 2

18、).By num bb);scanf(%d,&m); switch(m) case 1: /*按身份证查找*/do k=-1; printf(nnEnter danwei that you want to search! ID.);scanf(%s,p.ID);printf_face(); for(i=0;in;i+) if(strcmp(p.ID,huiyuani.ID)=0) k=i; printf_out(k);break; /*显示该卡信息*/ if(k=-1) printf(nnNO exist!please); /*该卡不存在*/printf(nnAre you again?nt1

19、).again 2).NO and back bb);scanf(%d,&w1); if(w1=2) printf_back(); while(k=-1&w1=1);break; case 2: /*按卡号查找*/do k=-1; printf(nnEnter num that you want to search! num.); scanf(%s,p.num); printf_face(); for(i=0;in;i+) if(strcmp(p.num,huiyuani.num)=0)k=i; printf_out(k);break; /*显示该卡信息*/ if(k=-1) /*该卡不存在*

20、/printf(nnNO exist!please); printf(nnAre you again?nt1).again 2).NO and back bb);scanf(%d,&w1); if(w1=2) printf_back(); while(k=-1&w1=1);break; w4=0;w3=0; if(k!=-1) printf(nnWhat do you want to do?nt 1).Search 2).Modify 3).Delete 4).Back menu bb);scanf(%d,&w2); switch(w2) case 2:w3=modify_data(k,n);

21、break; case 3:printf(nAre you sure?nt 1).Sure 2).No and back bb);/*删除函数*/ scanf(%d,&w4); if(w4=1) for(a=k;an;a+) strcpy(huiyuana.num,huiyuana+1.num); /*删除信息*/ strcpy(huiyuana.name,huiyuana+1.name); strcpy(huiyuana.ID,huiyuana+1.ID); strcpy(huiyuana.fen,huiyuana+1.fen); strcpy(huiyuana.g,huiyuana+1.g

22、); strcpy(huiyuana.tel,huiyuana+1.tel); break; if(w4=1)if(w3=1|w4=1) save(n); printf(nnSuccessful._.); printf(nnWhant do you want to do? nt 1).Search another 2).Back bb ); scanf(%d,&w2); while(w2=1); menu(); void modify() /*修改函数*/struct huiyuan p;FILE *fp; int i,n,k,w0=1,w1,w2=0; n=load(); do k=-1;

23、printf_face(); /*显示所有卡信息*/for(i=0;in;i+) if(i!=0)&(i%10=0) printf(nnRemember NO.which needed modify.pass any key to contiune .); getch(); puts(nn); printf_out(i); do printf(nnEnter NO.that you want to modify! NO.:); /*选择序号*/scanf(%s,p.num); for(i=0;in;i+) if(strcmp(p.num,huiyuani.num)=0)k=i; p=huiyu

24、ani; if(k=-1)printf(nnNO exist!please again); /*判断是否存在该卡*/while(k=-1); printf_face(); printf_out(k);w1=modify_data(k,n); /*调用修改数据子函数*/if(w1=1) printf(nSuccessful _.nnAre you modify another ?nnt 1).Yes 2).Back with savet bb); scanf(%d,&w0); w2=1; else w0=0; if(w2=1) huiyuank=p; if(w0!=1&w2=1) save(n)

25、; /*保存信息*/while(w0=1); menu(); void guashi() /*挂失函数*/ int n,i,x;char ID,a,num;n=load();printf(Enter 1).ID 2).num bb);scanf(%d,&x);switch(x)case 1:printf(nEnter ID /*用身份证挂失*/ scanf(%s,ID); printf_face(); for(i=0;in;i+) /*查找相应信息*/ if(strcmp(huiyuani.ID,ID)=0) printf_out(i); printf(nAre suer(y/n): bb); scanf(%s,a); if(strcmp(a,y)=0) /*判断是否为挂失*/ strcpy(huiyuani.g,diu); break;case 2:printf(nEnter num:);/*用卡号挂失*/ scanf(%s,num); printf_face();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1