C语言课程设计报告—电影俱乐部管理程序.pptx

上传人:摩西的****12 文档编号:144699749 上传时间:2020-09-13 格式:PPTX 页数:24 大小:173.53KB
返回 下载 相关 举报
C语言课程设计报告—电影俱乐部管理程序.pptx_第1页
第1页 / 共24页
C语言课程设计报告—电影俱乐部管理程序.pptx_第2页
第2页 / 共24页
C语言课程设计报告—电影俱乐部管理程序.pptx_第3页
第3页 / 共24页
C语言课程设计报告—电影俱乐部管理程序.pptx_第4页
第4页 / 共24页
C语言课程设计报告—电影俱乐部管理程序.pptx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《C语言课程设计报告—电影俱乐部管理程序.pptx》由会员分享,可在线阅读,更多相关《C语言课程设计报告—电影俱乐部管理程序.pptx(24页珍藏版)》请在金锄头文库上搜索。

1、学 海 无 涯,C 语言课程设计报告,1,055071 班 王耀琪 学号:20071004144 一前言 C 语言是一种编译型程序设计语言,编程设计是学习该语言的一个重要环节。通过温习已 学的知识,在上机实践中熟悉 C 语言的编程环境,进而达到能够编写较复杂程序并将其实 际应用的程度。在实际编程中不断地深入学习数据结构、算法、编译原理、操作系统原理、 软件工程等知识,加深对 C 语言的理解,切实提高编程水平,这是 C 语言课程设计的主要 目的。 二正文 题目:电影俱乐部 【要求】允许俱乐部成员租用 DVD。若想成为会员,首先应签约并且可按月交纳费用。 会员一次可租用三个 DVD,没有时间限制。

2、可浏览所有可租用的 DVD,能实现新成员的开 户、会员对其帐户状况的查询以及俱乐部管理者对所有交易情况的查看功能。 需求分析:DVD 信息和俱乐部会员信息用文件存储,提供文件的输入输出操作; 注册新会员,提供文件的添加操作;实现查询则提供文件的查找操作;另外提供键盘式选择 菜单以实现功能选择。 总体设计:整体设计为会员注册模块、会员缴费模块、会员租用 DVD 模块、会员 归还 DVD 模块、信息浏览模块和信息查询模块等。,程序说明:主函数中提供输入输出和部分函数调用,全局变量 n,n1 实现保存菜单数字等简 单功能,程序主要功能体现在各模块中。程序主要采用结构体变量实现操作,以一个会员的 所有

3、信息为一个单元,并用文件保存。程序中以选择结构为大框架,通过使用顺序结构和选 择结构实现操作。 (4)代码设计 1.主函数 提供密码验证和输入输出功能,各功能用菜单方式选择,使用文件存放,流程图如图所示, 密 码 123 , 可 在 源 程 序 修 改 。,main() printf(*欢迎使用 DVD 信息管理系统*n); printf(nnnn 请输入管理员密码:); if(check() menu1(); else printf( 密码输入错误n); printf( *你无权使用本系统*n); quit(); int check() /* 验证会员密码*/ char a20,str=12

4、3; /*注意: 会员初始密码为 123*/ int count; for(count=0;count3;count+) gets(a); if(strcmp(a,str)=0) return 1 ; else continue; return 0; int menu1() /*主函数功能菜单*/ ,学 海 无 涯 开始,输入密码,判 断 密 码,调用各函数,结束,2,3,学 海 无 涯 FILE *fp1; int a; /*变量 a 保存选择菜单数字*/ if(fp1=fopen(n.txt,a+)=NULL) printf(cannot open file); exit(0); frea

5、d( 2注册模块 本模块要求用户创建初始会员信息,是后续操作的基础。以会员名,会员编号,会员性别, 会费,DVD 信息作为结构体变量。,printf(请输入增加会员档案的个数:); scanf(%d,学 海 无 涯 开始,输入档案 个数,输入会员 档案,输入 DVD 档案,结束,4,search1() /*按会员姓名查询和浏览信息*/ FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n 请输入会员姓名:n); scanf(%s,学 海 无 涯 if(fp=fopen(huiyuan.txt,r+)=NULL) p

6、rintf(cannot open file); exit(0); for(i=0;in;i+) fread( 3浏览模块 该模块进行信息浏览操作,通过调用注册模块中创建的文件信息,达到浏览信息的目的。 开始,会员信息,DVD 信息,显示,显示,结束,5,6,学 海 无 涯 if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(,7,学 海 无 涯 exit(0); for(i=0;in;i+) fread( 4.查询模块 根据输入的会员名查找对应记录,也可以通过输入

7、DVD 名实现相同功能。,menu3() int a; printf(n 信 息 查 询 n ); printf(n 1.按会员名查找n); printf(n 2. 按 dvd 查 找 n); printf(n 3.返回上级菜单 n); printf(nnn 请输入编号:); scanf (%d, 5 缴费模块 实现会员缴费操作,其实质是对保存的文件信息进行修改操作。,学 海 无 涯 开始,判断是否 存在记录,显示记录,提示未找到,提 示 是 否继续,结束,8,学 海 无 涯,monfei() FILE *fp,*fp1; int i,c; char name20; struct dvdA s

8、tu2100; printf(n 请 输 入 会 员 姓 名 :n); scanf(%s,i+),开始,输入会 员姓名,显示信 息,输入会 费,显示修改 后信息,结束,9,学 海 无 涯 fwrite( 6,租用模块 实现 DVD 租用操作。其实质也是通过找到会员信息,对 DVD 信息进行修改操作。,开始,输入信息,判断是 否找到,DVD 信息修 改,结束 dvd() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n 请 输 入 会 员 姓 名 :n); scanf(%s,10,学 海 无 涯 scanf(%d

9、,if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite( (5)运行与测试 测 试 结 果 正 常 , 程 序 可 以 顺 利,使 用 。 可 见 截 图 。,11,学 海 无 涯,12,学 海 无 涯,(三)后记 通过近三个星期的程序编写及课程报告的书写,对 C 语言的认识大大加深了, 课程设计尤其对具体编程能力的提高有着极大帮助。使我受益非浅。在设计过 程中,主要遇到的问题是考虑具体算法时遇到的困难以及实际编写时的编写错 误,虽然造成了困扰,但是在参考设计指导书的

10、例子后,算法问题基本解决, 而编写错误经过不断努力也减少了,当然这其中离不开老师和同学的帮助。 (四)附录:源代码 #include #include #include #include #include int n,n1; /* 全局变量*/ int N3;/* 上次输入的信息不会丢失*/ int yuefei=30; check(); /* 验证密码*/ menu1(); quit(); menu2(); menu3(); create();/*建立档案*/ add(); /* 增加信息*/ monfei(); dvd(); search1(); search2();,13,14,学 海

11、无 涯,欢迎使 用 电影俱乐部 程序,printhuiyuan(); printdvd(); moon(); struct dvdA char name20; int num; int sex; int huifei; int day; int dvd1; int dvd2; int dvd3; stu1100; struct dvdB int num; char name20; int k; dd1100; main() printf(* *n); printf(nnnn 输入密码:); if(check() menu1(); else printf( 密码错误n);,printf( *请检

12、查*n); quit(); int check() char a20,str=123; int count; for(count=0;count3;count+) gets(a); if(strcmp(a,str)=0) return 1 ; else continue; ,15,学 海 无 涯 return 0; int menu1() FILE *fp1; int a; if(fp1=fopen(n.txt,a+)=NULL) printf(cannot open file); exit(0); fread( ,int menu2() int a; printf( 信息浏览n);,16,学

13、 海 无 涯 printf(n 1.会员信息浏览n); printf(n 2.dvd 信息浏览n); printf(n 3.返回上级菜单n); printf(nnn 请输入编号:); scanf(%d,17,学 海 无 涯,getchar(); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(,18,学 海 无 涯 printf( 编号 dvd 名 数量n); printf(%4d,%5s %dn, dd2i.num,dd2i.name,dd2i.k); fcl

14、ose(fp); if(fp1=fopen(n.txt,w+)=NULL) printf(cannot open file); exit(0); fwrite(,19,学 海 无 涯 stu1i.dvd1=stu1i.dvd2=stu1i.dvd3=0; getchar(); if(fp=fopen(huiyuan.txt,a+)=NULL) printf(cannot open file); exit(0); for(i=n;i(n+a);i+) fwrite(,20,学 海 无 涯 printf(%4s,%5d,%5d,%4d%4d%4d%4dn, stu2i.name,stu2i.num

15、,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i. dvd3); printf(请输入你要充入会费n); scanf(%d,21,学 海 无 涯 if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;itm_mon; d=p-tm_mday; s1=m*30+d; if(fp=fopen(huiyuan.txt,a+)=NULL) printf(cannot open file); exit(0); for(i=0;i0) stu2i.huifei=stu2i.huifei-yuefei*s2; stu2i.day=s1; fclose(fp); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(,22,学 海 无 涯,char name20; struct dvdA stu2100; printf(n 请 输 入 会

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号