资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第 1 页 共 26 页哈尔滨学院软件学院课程设计说明书题目: 电影俱乐部 院 ( 系 ) 软件学院专 业 软件工程年 级 2013 级姓 名 袁祯阳 学 号 13031526指导教师 杨玲 职 称2014 年 7 月 22 日第 2 页 共 26 页目 录摘 要 -3第一章 需求分析 -41.1 系统目的 -41.2 系统功能图 -4第二章 概要设计 -52.1 整体设计 -5第三章 详细设计 -6第五章 系统测试运行 -205.1 测试目的 -205.2 测试方案 -205.3 测试内容 -20总 结 -21第 3 页 共 26 页摘 要C 语言是一种编译型程序设计语言,编程设计是学习该语言的一个重要环节。通过温习已学的知识,在上机实践中熟悉 C 语言的编程环境,进而达到能够编写较复杂程序并将其实际应用的程度。在实际编程中不断地深入学习数据结构、算法、编译原理、操作系统原理、软件工程等知识,加深对 C 语言的理解,切实提高编程水平,这是 C 语言课程设计的主要目的。关键词:C 语言,课程设计第 4 页 共 26 页第一章 需求分析1.1 系统目的 DVD 信息和俱乐部会员信息用文件存储,因而要提供文件的输入输出操作;要注册新会员,因而要提供文件的添加操作;实现缴纳费用,因而要提供文件的修改操作;要浏览信息因而要提供显示操作;要实现查询则要提供文件的查找操作;另外要提供键盘式选择菜单以实现功能选择。1.2 系统功能图第 5 页 共 26 页第二章 概要设计2.1 整体设计整体设计为登录模块、会员模块、管理员模块。会员模块包括会员注册模块、会员充值模块、会员租用 DVD 模块、会员归还DVD 模块、DVD 浏览模块、会员信息模块。管理模块包括会员管理模块、DVD 管理模块。采用文件管理信息,建立两个文件:DVD 信息文件和会员信息文件。 (实际还有管理员文件,但应不做过多要求所以其功能如修改管理员密码有所忽略,但代码有保留,可以随时添加)数据结构采用结构体:/DVD 信息结构体Struct DVDInfoChar No10; /DVD 编号Char name10; /DVD 名字Int state; /DVD 状态:0 表示已借出,1 表示可出借Dvd200;/会员信息结构体Struct MemberInfoChar No10; /会员编号Char name10; /会员姓名Char password20; /会员密码Float balance; /账户余额DI borrowDVD3; /所借 DVD 信息;Int state; /表示租用 DVD 的数目,取值为 0-3Mem200;电影俱乐部登陆模块充值模块管理员模块 会员模块租用模块注册模块信息模块浏览模块归还模块会员管理模块DVD 管理模块添加模块搜索模块修改模块排序模块搜索模块修改模块第 6 页 共 26 页2.2 模块设计2.2.1 登陆模块否是是否登录会员登陆输入会员名输入管理员账号管理员登陆打开“member.txt”读取会员信息有无此会员?密码正确?有无此帐号?密码正确?输入密码是否继续登陆错误密码次数2)k=1;printf(输入编号错误,请再次输入n);else k=0;while(k=1);if(b=1)Login1();elsemain();if(t=0)printf( 会员名输入错误n);printf(请选择n1.继续登录n2.返回n);doscanf(%d,if(b2)k=1;printf(输入编号错误,请再次输入n);else k=0;while(k=1);if(b=1)Login1();elsemain();return 0; 3.12 管理员登陆int Login2() uifo info; char pw100=0, pw_confirm100=0; int wt = 0; system(cls);memset( read_data( printf(*欢迎进入电影俱乐部*n); while(1) printf(请输入管理员账号n); scanf(%s, pw); if(strcmp(pw, info.name) != 0) printf(无此管理员n); continue; printf(请输入密码n); scanf(%s, pw); if(strcmp(pw, info.pw) != 0) printf(密码错误n); else menu2(); wt +; if(wt = 3) printf(3 times password error, exit!n); return -1; 第 11 页 共 26 页3.2 会员模块3.21 会员注册模块提示输入用户信息:会员编号(昵称) ,会员姓名,密码。将把新的会员信息添加到会员信息文件中,并把账户余额初始化为 0,所借 DVD 信息初始化为空。int Register() int a,i,n,j,b,k;struct Member s;system(cls);fflush(stdin);printf(请输 入增加会员档案的个数:); scanf(%d,n=loadM();for(i=n;i2)k=1;printf(输入编号错误,请再次输入n);else k=0;while(k=1);if(b=1)Register();elsemain();3.22 会员充值模块提示输入交费金额,则在会员信息文件中修改其账户余额。void Payment(int i)/充值模块int n,b,j;float k;system(cls);n=loadM();printf(请输入充值数);scanf(%f,Memi.balance=k+Memi.balance;saveM(n);printf(请选择n1.继续充值n2.返回n);doscanf(%d,if(b2)k=1;printf(输入编号错误,请再次输入n);else k=0;while(k=1);if(b=1)Payment(i);elsemenu1(i);3.23 会员租用 DVD 模块可以通过菜单选择。浏览 DVD 信息调用信息浏览模块,租用则首先查看自己的余额,如果0,则查看状态,如果 state2)k=1;printf(输入编号错误,请再次输入n);else k=0;while(k=1);if(b=1)Payment(i);elsemenu1(i);if(Memi.state=3)printf(借取已满或编号错误,请尝试先归还 DVD);elseprintf(Input the No of DVD what you want to rent!);scanf(%d,printf(ntnum name staten);/t 水平制表for(j=0;j3)k=1;printf(输入编号错误,请再次输入n);else k=0;while(k=1);if(b=2)Rent(i);if(b=3)menu1(i);elseif(Memi.dvd1=0)Memi.dvd1=Dvdj.No;Dvdj.state=1;Memi.state+=1;k+=2;else if(Memi.dvd2=0)Memi.dvd2=Dvdj.No;Dvdj.state=1;Memi.state+=1;k+=2;else if(Memi.dvd3=0)Memi.dvd3=Dvdj.No;Dvdj.state=1;Memi.state+=1;k+=2;Memi.balance=Memi.balance-k;saveM(n);saveD(d);printf(请选择n1.继续租借n2.返回n);doscanf(%d,if(b2)k=1;printf(输入编号错误,请再次输入n);else k=0;while(k=1);if(b=1)Rent(i);elsemenu1(i);/一个任务结束时的选择浏览还是返回3.24 会员归还 DVD 模块提示用户输入要归还的 DVD 编号,把该用户记录的该 DVD 信息初始化为空,state-。同时在DVD 信息文件中把其状态改为可供出借。第 14 页 共 26 页void Reback(int i)/DVD 返还模块int n,l,t,s,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号