C语言-会员卡管理程序.doc_第1页
C语言-会员卡管理程序.doc_第2页
C语言-会员卡管理程序.doc_第3页
C语言-会员卡管理程序.doc_第4页
C语言-会员卡管理程序.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言课程设计报告1.题目描述1.1题目名称:会员卡管理程序1.2题目描述:设计一个图书大厦的会员卡管理程序。该程序应该具有下列功能:(1) 录入某位持卡人的基本信息:姓名、身份证号、电话/手机并分配一个卡号(2) 给定卡号,显示此卡的基本信息;(3) 给定卡号,查询累积得分;(4) 给定卡号,进行购书的相应处理:购书款的打折;累计得分处理 (5) 给定卡号或身份证号等信息进行挂失处理,挂失处理后能查到该卡号,但显示“该卡已挂失”信息。(6) 给定卡号,对该卡进行删除处理;删除处理后无法找到该卡号。(7) 提供一些统计各类信息的功能。1.3说明:约定: 任何一个人均可申请会员卡;每个人只能申请一个会员卡;卡号自动生成;购书款的打折:累积购书满1000元后享受95折、满2000元享受9折、满5000元享受8折 。1.4题目要求:(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。1.5输入要求:应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。1.6输出要求:(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。1.7提示:使用结构类型和一维数组类型,用来保存会员卡的内容。2.用户文档2.1应用程序功能的详细说明:本程序为图书大厦会员卡管理程序,主菜单分为五个选项(如图一所示)分别为:录入新会员、进入老会员资料、统计所用会员中积分最高者、统计会员总数以及离开。图一进入old选项后出现一子菜单,可进行一系列对老会员管理的操作(如图二所示)。其操作包括基本信息的输出、积分统计、本次买书折后价格、会员卡丢失、删除此会员、离开子菜单。图二2.2应用程序运行环境的要求:此程序在windows操作系统环境中即可运行。2.3应用程序的安装与启动方法:打开win-TC,打开命名为07010120.c的文件,在菜单中点击编译链接并运行,将会出现对话框“恭喜,编译成功”,单击确定,便会出现如图一的主菜单。2.4程序的界面、交互方式和操作方法:在出现如图一的主菜单后,输入用户想进行的操作的号码(15中任意一个号码),如输入错误将提示Error,重新出现主菜单,要求用户重新输入一个正确号码。(如图三所示)图三如果输入正确,根据相对应的号码,用户能进行以下操作:输入1:表明此用户是新会员,用户将看到如图四的界面,用户需要按顺序录入姓名、身份证号及电话号码,每一项录入后请打回车键。录完这些信息后,首先会出现用户的号码,请用户务必记清楚自己的号码,之后的一系列操作都需要用此号码完成。然后会出现提示问是否要再输入一个新用户(如图五),如果是请输入1回车,程序要求您再次输入,不是请输入0回车,界面将跳回主菜单。输入错误将提示error,然后跳出,出现主菜单。图四图五输入2:将出现如图二的界面,用户可根据需要进行操作。在如图二界面出现的子菜单下:输入1:输出用户的基本信息。这需要用户通过之前所给出的号码来完成操作。输入号码后按回车进行操作。(如图六)图六输入2:输出此用户所累积的积分。这需要用户通过之前所给出的号码来完成操作。输入号码后按回车进行操作。(用户需要执行过买书的操作后方有积分)(如图七)图七输入3:用户买书,算出此次买书所需要花费的钱数。这需要用户通过之前所给出的号码来完成操作。输入号码后按回车进行操作。提示输入此次消费所花的钱数,根据积分算出应付钱数(累积购书满1000分享受95折、满2000分享受9折、满5000分享受8折 ,每次积分的分数为折前应付的钱数)。(如图八)图八输入4:表示此用户会员卡丢失,对此用户进行标记,在基本信息输出时会显示卡已丢失。这需要用户通过之前所给出的号码来完成操作。输入号码后按回车进行操作。(如图九、图十) 图九 图十输入5:表示删除此用户。这需要用户通过之前所给出的号码来完成操作。输入号码后按回车进行操作。输入6:返回主菜单。主菜单下:输入3:自动排序,得到积分最高的人的姓名及相应积分。如果最高积分为0将不输出。(如图十一)图十一输入4:统计一共有多少位会员。(如图十二)图十二输入5:退出程序。2.5输入数据类型、格式和内容限制:输入姓名、身份证号、电话号码以字符串形式输入,钱数为双精度实型,其他的均为整型。每次打出数据后按回车键输入。在要求输数字时,请输数字,不要输其他字母。3.技术文档3.1程序整体结构及各模块功能描述:input():输入用户信息searchoutput():输出用户信息score():统计用户积分情况deal():算出用户此次折后花费是多少,并累计积分lost():用户会员卡丢失delet():删除此用户sort():统计积分最高的用户howmany():统计一共有多少名会员main()input()sort()howmany()searchoutput()score()deal()lost()delet()3.2主要模块算法和数据结构解释:上述九个模块,用九个函数表示,除main()函数外,其余函数原型设计如下:void input(STUDENT s);此函数完成会员信息的输入,输入的会员信息保存在形式参数指定的结构数组中。void searchoutput(STUDENT s);void score(STUDENT s);float deal(STUDENT s);int lost(STUDENT s);void delet(STUDENT s);void sort(STUDENT s);void howmany(STUDENT s);上述几个函数形式参数相同,s存放着所有会员的信息。主程序为所有会员信息的保存提供了结构数组,各个模块通过函数参数使用该数组。main()函数算法流程图:searchoutput()函数算法流程图:其它函数流程图与searchoutput()函数流程图大体相似,故不一一画出。3.3程序代码#include#includetypedef struct /*会员信息的结构类型*/ long num; /*号码*/ char name80; /*姓名*/ char ID80; /*身份证号*/ char phone80; /*电话号码*/ float score; /*积分*/ int lost; /*判断丢失*/ STUDENT;void input(STUDENT s);void searchoutput(STUDENT s);void score(STUDENT s);float deal(STUDENT s);int lost(STUDENT s);void delet(STUDENT s);void sort(STUDENT s);void howmany(STUDENT s); main()STUDENT s100; /*存放会员信息*/ int choice1,choice2; int i,j,b=0; float money; long n,num; for(i=0;i=1000&si.score=2000&si.score=5000) money=money*0.8; printf(price:%fn,money); break; return si.score;void score(STUDENT s) /*输出该用户积分*/ int i; long n; printf(enter your number:n); scanf(%ld,&n); for(i=0;i+) if(strcmp(,)=0) printf(Can not find!n); break; else if(si.num=n) printf(the score is %fn,si.score); break; int lost(STUDENT s) /*标记丢失*/ int i; long n; printf(enter your number:n); scanf(%ld,&n); for(i=0;i+) if(strcmp(,)=0) printf(Can not find!n); break; else if(si.num=n) si.lost=1; printf(NO.%ld lost!n,si.num); break; return si.lost;void delet(STUDENT s) /*删除该会员*/ int i,a=0; long n; printf(enter your number:n); scanf(%ld,&n); for(i=0;i100;i+) if(si.num=n) strcpy(si.ID,); si.num=0; printf(NO.%ld has been delete!n,n); a=1; break; if(a=0) printf(Can not find!n);void sort(STUDENT s) /*选出积分最高的会员*/ int i; float high; high=s0.score; for(i=1;i100;i+) if(highsi.score) high=si.score; for(i=0;i100;i+)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论