《C语言课程设计___电影俱乐部程序设计》由会员分享,可在线阅读,更多相关《C语言课程设计___电影俱乐部程序设计(22页珍藏版)》请在人人文库网上搜索。
1、学 院: 专 业: 姓 名: 学 号:指导老师: 前 言 C语言作为一门最通用的语言,在过去很流行,将来依然会如此。几乎每一个理工科或者其他专业的学生毫不例外地要学习它。记得大学里,很多学校都把谭浩强教授的C程序设计作为入门教材,这是绝佳的选择。然而,要更进一步,更全面而深入地学习呢?显然有点力不从心。本书正是为了弥补这个缺憾而写的,希望能对想比较全面而深入学习C语言程序设计的人有所帮助。从C语言产生到现在,它已经成为最重要和最流行的编程语言之一。在各种流行编程语言中,都能看到C语言的影子,如Java的语法与C语言基本相同。学习、掌握C语言是每一个计算机技术人员的基本功之一。C语言具有高级语言。
2、的强大功能,却又有很多直接操作计算机硬件的功能(这些都是汇编语言的功能),因此,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总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:欢迎界面主菜单注册会员缴纳会费会员DVD信息浏览信息查询退出建立新档案4详细设计1)宏定义#include #include #include #include #include int n,n1; /* 全局*/ int N3;/* 记录着上次建立的档案数,从新运行程序时,不会丢上次信息*/ int yuefei=30; menu1(); quit(); menu2(); menu3(); create();/*建立档案 */ add(); /* 增加信息*/ mo。
6、nfei(); 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(%。
8、d,&n); N0=n; for(i=0;itm_mon; d=p-tm_mday; s1=m*30+d; printf(请输入增加会员档案的个数:); scanf(%d,&a); for(i=n;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,。
9、w+)=NULL) printf(cannot open file); exit(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(姓名 。
10、编号 性别 会费 n); printf(%4s,%5d,%5d,%4dn, stu2i.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); print。
11、f(%4d,%5s %4dn, dd2i.num,dd2i.name,dd2i.k); 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); 。
12、c=strcmp(name,stu2i.name); if(c=0) printf(姓名 编号 性别 会费 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。
13、,&c); 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); 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(。
14、n 2.按dvd查找n); printf(n 3.返回上级菜单 n); printf(nnn请输入编号:); 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程序的兴趣。