计算机电影俱乐部C程序课程设计论文_第1页
计算机电影俱乐部C程序课程设计论文_第2页
计算机电影俱乐部C程序课程设计论文_第3页
计算机电影俱乐部C程序课程设计论文_第4页
计算机电影俱乐部C程序课程设计论文_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、中国地质大学(武汉)C语言课程设计论文学 院:计算机学院专 业: 信息安全专业题 目: 电影俱乐部班 级: 19207227姓 名: 张楠学 号:20071003820指导教师: 朱莉2008年8月30电影俱乐部摘 要本论文是以 “电影俱乐部”为主题进行的C程序设计。该程序主要完成以下功能描述:允许俱乐部成员在租用DVD;若想成为会员,首先应签约并且按月缴纳费用;会员一次可租用三个DVD,没有时间限制;浏览所有可租用的DVD;新成员的开户;会员对其帐户状况的查询以及俱乐部管理者对其所有交易情况的查看。这个设计的完成有助于现实生活中类似电影俱乐部系统的简单实现,使管理容易通行。因此设计这个程序也

2、是应潮流而生的。由于这是一个具体的较长程序的设计,所以采用模块化设计的研究方法,并运用结构化设计的思想方法,可以是设计变得简单且容易调试找出错误。根据以上要求进行整体分析可知,若完成设计,需要六大模块的程序编写,分别是:会员注册模块、会员缴费模块、会员租用DVD模块、会员归还DVD模块、信息浏览模块、信息查询模块。按照以上要求和方法,本实例得到了想要出现的程序结果。在编写的过程中,由于编者水平有限,程序中难免又不当之处,还望见谅!关键词:电影俱乐部,会员,注册缴费,租用,归还,DVD目 录 中文摘要11 题目要求22 需求分析23 总体设计24 详细设计24.1函数头文件及声明24.2主函数3

3、4.3各功能模块设计54.31查询所有模块设计54.32查询会员信息函数设计64.33归还DVD函数设计64.34会员文件信息初始化函数设计74.35会员文件保存函数设计84.36会员注册函数设计84.37会员缴费函数设计94.38会员租用DVD函数设计105运行结果(附带抓图)116.总结19参考文献19第一章题目要求。允许俱乐部成员在租用DVD;若想成为会员,首先应签约并且按月缴纳费用;会员一次可租用三个DVD,没有时间限制;浏览所有可租用的DVD;新成员的开户;会员对其帐户状况的查询以及俱乐部管理者对其所有交易情况的查看。第二章 需求分析DVD信息和俱乐部会员信息文件存储,提供文件的输入

4、输出操作;注册新会员,提供文件的添加操作;实现按月缴费用,提供文件的修改操作;浏览信息并提供显示操作;实现查询则提供文件的查找操作;另外提供键盘式选择菜单以实现功能选择。第三章 总体设计整体设计为会员注册模块、会员注册模块、会员租用DVD模块、会员归还DVD模块、信息浏览模块和信息查询模块等。第四章 详细设计由于这是一个比较系统比较长的程序设计,所以采用模块化设计的方法,就是通过分别设计各个小的独立的分区模块函数,再通过主函数的调用达到程序所需的要求。在以下章节中就是按照这种思想来实现的,敬请关注。4.1函数头文件及声明/ MovieClub.cpp : 定义控制台应用程序的入口点。/#inc

5、lude <iostream>/*定义输入输出函数*/void MenberRegister(); /会员注册void MenberMoney();struct memberInfo int number; /会员号码char name20;/会员名称int money; /会员费用int nDVD; /已经租用的DVD数量;memberInfo minfo100;int ntotleSize = 0;void iniTiate(); /用于初始化void save();void HireDvd();void ReturnDvd();void ShowMemInfo();void

6、ShowAllInfo();4.1、主函数设计void main()int i;iniTiate();/用于读取文件中的记录while (1)printf("*菜单*rn会员注册请输入1rn会员缴费请输入2rn租用DVD请输入3rn归还DVD请输入4 rn查询信息请输入5rn浏览全部信息请输入6rn退出系统请输入0rn*菜单*rn");scanf("%d" , &i);if ( i = 1)printf("会员注册:rn");MenberRegister();else if ( i = 2)printf("会员缴费:

7、 rn");MenberMoney();else if (i= 3)printf("租用DVD: rn");HireDvd();else if (i = 4)printf("归还DVD: rn");ReturnDvd();else if (i = 5)printf("查询会员信息: rn");ShowMemInfo();else if (i = 6)printf("查询所有会员信息: rn");ShowAllInfo();else if (i = 0)break;4.2、各功能模块设计4.21查询所有模块

8、设计void ShowAllInfo() /查询所有函数 for (int i =0 ; i < ntotleSize ; i+)   printf("%d 号会员的信息如下:会员名称为:%s,剩余会费为:%d,租用DVD数量为:%dn" ,minfoi.number ,  , minfoi.money , minfoi.nDVD); 4.22查询会员信息函数设计void ShowMemInfo() /查询会员信息int num = 0;printf("请输入要查询的会员号码

9、:");scanf("%d" , &num);while (num > ntotleSize)printf("没有这个会员,请重新输入:");scanf("%d" , &num);printf("%d 号会员的信息如下:会员名称为:%s,剩余会费为:%d,租用DVD数量为:%dn" ,num , minfonum -1.name , minfonum -1.money , minfonum -1.nDVD);4.23、归还DVD函数设计void ReturnDvd() /归还DVDi

10、nt num = 0;printf("请输入要归还DVD的会员号码:");scanf("%d" , &num);while (num > ntotleSize)printf("没有这个会员,请重新输入:");scanf("%d" , &num);int dvdNum = 0;printf("请输入要归还DVD的数量n");scanf("%d" , &dvdNum);while (minfonum -1.nDVD < dvdNum)print

11、f("对不起,您只租借了%d个DVD , 请重新输入:" , minfonum -1.nDVD );scanf("%d" , &dvdNum);minfonum -1.nDVD -= dvdNum;save();printf("归还DVD成功,%d号会员:%s 归还%d个DVD ,目前还租用的DVD数量为%dn" , num , minfonum -1.name ,dvdNum, minfonum -1.nDVD);4.24、会员文件信息初始化函数设计void iniTiate() /初始化FILE*fp; int i; if

12、(fp=fopen("member.txt","r")=NULL) printf("nCannot open filen"); for(i=0;!feof(fp);i+) ntotleSize += 1;fscanf(fp,"%d %s %d %d",&minfoi.number, , &minfoi.money , &minfoi.nDVD);fscanf(fp,"n");fclose(fp); 4.25、会员文件保存函数设计void save()

13、 /保存FILE*fp; if(fp=fopen("member.txt","w")=NULL) printf("nCannot open filen"); for(int i = 0; i < ntotleSize; i+)fprintf(fp , "%d %s %d %dn", minfoi.number, , minfoi.money , minfoi.nDVD);fclose(fp); 4.26、会员注册函数设计void MenberRegister() /会员注册ntotleS

14、ize += 1;printf("请输入会员名称(20个字符以内):");scanf("%s" , &minfontotleS);minfontotleSize-1.number = ntotleSize;minfontotleSize-1.money = 0;minfontotleSize-1.nDVD = 0;save();printf("注册成功,会员号码为:%dn" , ntotleSize);4.27、会员缴费函数设计void MenberMoney() /会员交费int num = 0;prin

15、tf("请输入要交费的会员号码:");scanf("%d" , &num);while (num > ntotleSize)printf("没有这个会员,请重新输入:");scanf("%d" , &num);int money = 0;printf("请输入要要交费的金额:");scanf("%d" , &money);minfonum -1.money += money;save();printf("交费成功,%d号会员:%s 交费

16、%d , 剩余会费 %dn" , num , minfonum -1.name , money ,minfonum -1.money);4.28、会员租用DVD函数设计void HireDvd() /租用DVDint num = 0;printf("请输入要租用的DVD的会员号码:");scanf("%d" , &num);while (num > ntotleSize)printf("没有这个会员,请重新输入:");scanf("%d" , &num);int dvdNum = 0

17、;printf("请输入要租用的DVD数量");scanf("%d" , &dvdNum);while (minfonum -1.nDVD + dvdNum > 3)printf("对不起,每个会员最多只能租借3个DVD , 请重新输入需要租借的数量n");scanf("%d" , &dvdNum);minfonum -1.nDVD += dvdNum;save();printf("租用的DVD成功,%d号会员:%s 已经租用的DVD数量为%dn" , num , minf

18、onum -1.name , minfonum -1.nDVD);第五章 运行结果(附带抓图)以下小节是调试程序后出现的窗口界面抓图:5.1主菜单函数窗口界面5.2会员注册界面在主界面出现后输入1看到下图,显示会员注册界面:接着输入zhangnan,出现看到如下显示:可以看到会员zhangnan注册成功,会员号码为13.5.3、会员缴费界面紧接着输入2,出现如下显示:接着再输入会员号13,显示如下:可以看到该界面让我们输入金额,然后输入金额50,显示如下:5.4、会员租用DVD界面紧接着输入3,显示如下:可以看到该界面让我们输入会员号码,输入会员号码13,显示如下:接着输入DVD的数量2,显示

19、如下:5.5、归还DVD界面接着输入4,显示如下:输入要归还的DVD号码13,显示如下界面:我们看到要输入归还DVD数量的界面,接着我们输入要还的DVD数量1,显示如下:5.6、查询信息界面接着输入5,显示如下:输入会员号码13,显示如下:5.7、浏览全部信息界面输入6,出现如下界面:5.8、退出系统界面输入0,出现如下界面第六章 总结通过该实例的设计分析,我掌握了模块化设计的方法,理解和运用结构化设的思想和方法,掌握和提高了利用C语言进行程序设计的能力。 程序设计的过程,实际是确定解决问题的详细步骤,而这个步骤通常成为流程,在程序设计的过程中,通过该实例,要想成功,就要首相理清思路,然后采用逐步细化的方法实现该程序设计。 而程序设计完成后,要进行调试工作。通过这次的设计试验,我学会了调试一个较长升序的基本方法,并通过跟踪进行调试更改,这一点收益颇多。参考文献1 张冬梅,刘远兴,王媛媛. C语言程序课程设计指导书. 武汉:中国地质大学出版社. 20072 谭浩强. C语言程序设计(第三版). 北京:清华大学出版社. 20053

温馨提示

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

评论

0/150

提交评论