C语言课程设计电影俱乐部程序设计.docx

上传人:牧羊曲112 文档编号:3155444 上传时间:2023-03-11 格式:DOCX 页数:12 大小:40.99KB
返回 下载 相关 举报
C语言课程设计电影俱乐部程序设计.docx_第1页
第1页 / 共12页
C语言课程设计电影俱乐部程序设计.docx_第2页
第2页 / 共12页
C语言课程设计电影俱乐部程序设计.docx_第3页
第3页 / 共12页
C语言课程设计电影俱乐部程序设计.docx_第4页
第4页 / 共12页
C语言课程设计电影俱乐部程序设计.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言课程设计电影俱乐部程序设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计电影俱乐部程序设计.docx(12页珍藏版)》请在三一办公上搜索。

1、C语言课程设计电影俱乐部程序设计学 院: 专 业: 姓 名: 学 号: 指导老师: 前 言 C语言作为一门最通用的语言,在过去很流行,将来依然会如此。几乎每一个理工科或者其他专业的学生毫不例外地要学习它。记得大学里,很多学校都把谭浩强教授的C程序设计作为入门教材,这是绝佳的选择。然而,要更进一步,更全面而深入地学习呢?显然有点力不从心。本书正是为了弥补这个缺憾而写的,希望能对想比较全面而深入学习C语言程序设计的人有所帮助。 从C语言产生到现在,它已经成为最重要和最流行的编程语言之一。在各种流行编程语言中,都能看到C语言的影子,如Java的语法与C语言基本相同。学习、掌握C语言是每一个计算机技术

2、人员的基本功之一。 C语言具有高级语言的强大功能,却又有很多直接操作计算机硬件的功能,因此,C语言通常又被称为中级语言。学习和掌握C语言,既可以增进对于计算机底层工作机制的了解,又为进一步学习其他高级语言打下了坚实的基础 从入门到精通:本书分上下两篇,上篇针对初学者,从C语言的基础开始,使略有计算机基础的人都能容易地学会C语言编程。下篇则介绍了C语言的高级程序设计技巧,包括常用算法、底层控制鼠标、绘图、加密、压缩等应用。 适用多种操作系统:本书实例都通过GCC编译器调试,读者不仅可在Windows环境下使用本书学习C语言,也可在Linux环境下使用本书学习C语言。循序渐进:本书编写顺序按C语言

3、的知识点循序渐进地介绍。例如,先介绍数据的存储,再介绍数据的输入/输出;先介绍简单的程序设计概念,再介绍指针等C语言的难点。重点突出:指针是C语言的重点和难点,本书用了大量的篇幅,从不同方面对其进行讲解,并列举了大量的实例,帮助读者理解并掌握指针 目 录 一、题目要求 4 二、需求分析 三、总体设计 四、设计图框 五、详细设计 六、程序运行 七上机操作 八、总、结 4 4 5 5 6 17 21 一电影俱乐部 1题目要求 )要求 允许俱乐部成员租用DVD.若想成为会员,首先应签约并且按月交纳费用。会员一次可租用三个DVD,没有时间限制。可浏览所有可租用的DVD,能实现新成员的开户、会员对其账户

4、状况的查询以及俱乐部管理者对其所交易情况的查看功能。 )提示 需求分析:DVD信息和俱乐部会员信息用文件存储,提供文件的输入输出操作;注册新会员,提供文件的添加操作;实现按月缴纳费用,提供文件的修改操作;浏览信息提供显示操作;实现查询提供文件的查找操作;另外提供键盘式选择菜单以实现功能选择。 总体设计:整体设计为会员注册模块、会员交费模块、会员租用DVD模块、会员归还DVD模块、信息浏览模块和信息查询模块等。 2需求分析 ) 应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。 ) 应用程序运行后,要在屏幕上

5、显示一个菜单; 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。 3总体设计 根据需求分析,可以对这个系统的设计分为以下几个模块: 欢迎界面 主菜单 建立新档案注册会员缴纳会费会员信息浏览信息查询退出4详细设计 1)宏定义 #include #include #include #include #include int n,n1; /* 全局*/ int N3;/* 记录着上次建立的档案数,从新运行程序时,不会丢上次信息*/ int yuefei=30; menu1; quit; menu2; menu3; create;/*建立档案 */ add; /*

6、 增加信息*/ monfei; dvd; search1; search2; 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; 2)主函数 主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。其各功能模块用菜单方式选择。本题将main函数体内的界面选择部分语句单独抽取出来作为

7、一独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。 main printf(*欢迎使用dvd信息管理系统*n); printf(nnnn请输入管理员密码:); if(check) menu1; else printf( 密码输入错误n); printf( *你无权使用本系统*n); quit; )各功能模块 密码验证模块 int check char a20,str=123; int count; for(count=0;counttm_mon; d=p-tm_mday; s1=m*30+d; printf(请输入档案的个数:); scanf(%d,&n); N0=n; f

8、or(i=0;in;i+) printf(请输入会员名:); scanf(%s,&stu1i.name); printf(请输入会员编号; ); scanf(%d,&stu1i.num); printf(请输入会员性别:男1女2:); scanf(%d,&stu1i.sex); printf(请输入充入的会费:); scanf(%d,&stu1i.huifei); stu1i.day=s1; stu1i.dvd1=stu1i.dvd2=stu1i.dvd3=0; getchar; if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file

9、); exit(0); for(i=0;in;i+) fwrite(&stu1i,sizeof(struct dvdA),1,fp); fclose(fp); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 编号 性别 会费 n); printf(%4s,%5d,%5d,%4dn, stu2i.name,stu2i.num,stu2i.sex,stu2i.huifei); fc

10、lose(fp); printf(请输入dvd档案的个数:); scanf(%d,&n1); N2=n1; for(i=0;in1;i+) printf(请输入dvd编号:); scanf(%d,&dd1i.num); printf(请输入dvd名; ); scanf(%s,&dd1i.name); dd1i.k=1; getchar; if(fp=fopen(dvd.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in1;i+) fwrite(&dd1i,sizeof(struct dvdB),1,fp); fclose(fp

11、); if(fp=fopen(dvd.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;itm_mon; d=p-tm_mday; s1=m*30+d; printf(请输入增加会员档案的个数:); scanf(%d,&a); for(i=n;i(n+a);i+) printf(请输入会员名:); scanf(%s,&stu1i.name); printf(请输入会员编号: ); scanf(%d,&stu1i.num); printf(请输入会员性别:男1女2:); scanf(%d,&stu1i.sex); printf(请输

12、入初始的会费:); scanf(%d,&stu1i.huifei); stu1i.day=s1; 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(&stu1i,sizeof(struct dvdA),1,fp); fclose(fp); n=n+a; if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file)

13、; exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 编号 性别 会费 n); printf(%4s,%5d,%5d,%4dn, stu2i.name,stu2i.num,stu2i.sex,stu2i.huifei); fclose(fp); N0=n; if(fp1=fopen(n.txt,w+)=NULL) printf(cannot open file); exit(0); fwrite(&N0,sizeof(int),1,fp1); fclose(fp1); 缴纳会费模块 monfei

14、FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n请输入会员姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcmp(name,stu2i.name); if(c=0) printf(姓名 编号 性别 会费 dvd1 dvd2 dvd3 n); printf(%

15、4s,%5d,%5d,%4d %4d %4d %4dn, stu2i.name,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); printf(请输入你要充入会费n); scanf(%d,&stu2i.huifei); fclose(fp); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(&stu2i,sizeof(struct dvdA),1,fp); fclose(fp)

16、; 会员DVD信息模块 dvd FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n请输入会员姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcmp(name,stu2i.name); if(c=0) printf(姓名 编号 性别 会费 dvd1 dvd2 d

17、vd3 n); printf(%4s,%5d,%5d,%4d %4d %4d %4dn, stu2i.name,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); printf(请输入你要修改后的dvd1编号:); scanf(%d,&stu2i.dvd1); printf(n请输入你要修改后的dvd2编号:); scanf(%d,&stu2i.dvd2); printf(n请输入你要修改后的dvd3编号:); scanf(%d,&stu2i.dvd3); fclose(fp); if(fp=fopen(hui

18、yuan.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); e

19、xit(0); for(i=0;in;i+) fwrite(&stu2i,sizeof(struct dvdA),1,fp); fclose(fp); printhuiyuan FILE *fp; int i; struct dvdA stu2100; if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 编号 性别 会费 n); printf(%4s,%5d,%5d,%4dn, s

20、tu2i.name,stu2i.num,stu2i.sex,stu2i.huifei); fclose(fp); menu2; printdvd FILE *fp; int i; struct dvdB dd2100; if(fp=fopen(dvd.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in1;i+) fread(&dd2i,sizeof(struct dvdB),1,fp); printf( 编号 dvd名 数量n); printf(%4d,%5s %4dn, dd2i.num,dd2i.name,dd2i.k);

21、 fclose(fp); menu2; 信息查询模块 search1 FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n请输入会员姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcmp(name,stu2i.name); if(c=0) printf(姓名 编

22、号 性别 会费 dvd1 dvd2 dvd3 n); printf(%4s,%5d,%5d,%4d %4d %4d %4dn, stu2i.name,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); break; fclose(fp); menu3; search2 FILE *fp,*fp1; int i,c; struct dvdB dd2100; printf(n请输入dvd编号:n); scanf(%d,&c); if(fp=fopen(dvd.txt,r+)=NULL) printf(cannot

23、open file); exit(0); for(i=0;in1;i+) fread(&dd2i,sizeof(struct dvdB),1,fp); if(c=dd2i.num) printf( 编号 dvd名 数量n); printf(%4d,%5s %dn, dd2i.num,dd2i.name,dd2i.k); break; fclose(fp); menu3; menu3 int a; printf(n 信息查询n ); printf(n 1.按会员名查找n); printf(n 2.按dvd查找n); printf(n 3.返回上级菜单 n); printf(nnn请输入编号:);

24、 scanf (%d,&a); switch (a) case 1: search1;break; case 2: search2;break; case 3: menu1;break; default:printf(输入编码错误n);menu3; 退出模块 quit char ch; printf(n真的要退出?(Y/N); scanf(%c,&ch); if(ch=Y|ch=y) printf(n谢谢使用!_); exit(0); menu1; 上机操作 各模块截图如下: 1)密码验证模块 2)主菜单功能选择模块 3)建立新档案模块 4)注册新会员模块 5)缴纳会费模块 6)会员DVD模块 7)信息浏览 8)信息查询 9)退出系统 三总结 通过本次的课程设计,我了解到自己在C程序领域还有许多的欠缺之处,通过和同学的相互探讨,还有老师的指导,我对C语言有了更加深入的了解,会编写简单的程序。这次实习也激发起了我对C程序的兴趣。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号