C语言电影俱乐部系统
- 格式:doc
- 大小:576.00 KB
- 文档页数:25
电影院票务系统程序设计C语言编程需自行编辑TXT文件1--6#include<stdio.h>#include<stdlib.h>void menu(){FILE *fp;char ch;fp=fopen("menu.txt","r");for(ch=fgetc(fp);ch!=EOF;ch=fgetc(fp))putchar(ch);fclose(fp);}void book(){int a1,b1,c1,d1,m,k;FILE *fp;printf("请输入目标电影序号:(1-6)");scanf("%d",&k);switch(k){case 1:fp=fopen("ticket1.txt","r+");break;case 2:fp=fopen("ticket2.txt","r+");break;case 3:fp=fopen("ticket3.txt","r+");break;case 4:fp=fopen("ticket4.txt","r+");break;case 5:fp=fopen("ticket5.txt","r+");break;case 6:fp=fopen("ticket6.txt","r+");break;default :printf("you enter an wrong number!\n");}fscanf(fp,"%d %d %d %d",&a1,&b1,&c1,&d1);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",a1,b1,c1,d1); if(d1<1) printf(" 对不起,票已售完,请下次再来\n");else {printf("确定订票?1(Y)/0(N)\n");scanf("%d",&m);if(m==1) {c1++;d1--;printf(" 谢谢购买!祝您观影愉快!\n"); rewind(fp);fprintf(fp,"%d %d %d %d",a1,b1,c1,d1); }}fscanf(fp,"%d %d %d %d",&a1,&b1,&c1,&d1);fclose(fp);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",a1,b1,c1,d1); }void cancel(){int e1,f1,g1,h1,m,w;FILE *fp;printf("请输入目标电影序号:(1-6)");scanf("%d",&w);switch(w){case 1:fp=fopen("ticket1.txt","r+");break;case 2:fp=fopen("ticket2.txt","r+");break;case 3:fp=fopen("ticket3.txt","r+");break;case 4:fp=fopen("ticket4.txt","r+");break;case 5:fp=fopen("ticket5.txt","r+");break;case 6:fp=fopen("ticket6.txt","r+");break;default :printf("you enter an wrong number!\n");}fscanf(fp,"%d %d %d %d",&e1,&f1,&g1,&h1);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",e1,f1,g1,h1); if(g1<1) printf(" 对不起您的输入有误,请重试!\n");else {printf("确定退票?1(Y)/0(N)\n");scanf("%d",&m);if(m==1) {g1--;h1++;printf(" 已退票,欢迎下次再来\n"); rewind(fp);fprintf(fp,"%d %d %d %d",e1,f1,g1,h1); }}fscanf(fp,"%d %d %d %d",&e1,&f1,&g1,&h1);fclose(fp);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",e1,f1,g1,h1); }void inquire(){int i,j,k,l,t;FILE *fp;printf("请输入目标电影序号:(1-6)");scanf("%d",&t);switch(t){case 1:fp=fopen("ticket1.txt","r+");break;case 2:fp=fopen("ticket2.txt","r+");break;case 3:fp=fopen("ticket3.txt","r+");break;case 4:fp=fopen("ticket4.txt","r+");break;case 5:fp=fopen("ticket5.txt","r+");break;case 6:fp=fopen("ticket6.txt","r+");break;default :printf("you enter an wrong number!\n");}fscanf(fp,"%d %d %d %d",&i,&j,&k,&l);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",i,j,k,l);}main(){int c;int w;start:printf(" *************************************\n");printf(" Welcome to our ticket system!\n" );printf(" 1. Movies menu \n");printf(" 2. book the ticket. \n");printf(" 3. cancel the ticket \n");printf(" 4. inquire the ticket \n");printf(" 5. exit \n");printf(" *************************************\n");scanf("%d",&c);switch(c){case 1:menu();break;case 2:book();break;case 3:cancel();break;case 4:inquire();break;case 5:goto end;default :printf("you enter an wrong number!\n");}printf("continue? 1(Y)/0(N) \n");scanf("%d",&w); system("cls");loop:{if(w==1)goto start;else goto end;}end: printf(" Thank you for use my system! Bye!\n\n\n author:percyfan\n\n\n");}。
c语言课程设计电影院一、教学目标本课程旨在通过C语言编程的教学,让学生掌握C语言的基本语法、数据结构、算法和编程技巧,培养学生具备基本的编程能力和逻辑思维能力。
同时,通过电影院主题的项目设计,使学生能够将所学知识应用于解决实际问题,提高学生的实践能力和创新意识。
具体来说,知识目标包括:1.掌握C语言的基本语法和编程规则。
2.理解数据结构的基本概念,学会使用常见的数据结构进行编程。
3.学习常用的算法和编程技巧,能够独立解决问题。
技能目标包括:1.能够使用C语言编写简单的程序,解决实际问题。
2.具备基本的编程能力和逻辑思维能力,能够阅读和理解他人的代码。
3.学会使用调试工具,能够发现并修复程序中的错误。
情感态度价值观目标包括:1.培养学生的团队合作意识和沟通能力,提高学生的问题解决能力。
2.激发学生对计算机科学的兴趣和热情,培养学生的创新精神和探究精神。
3.培养学生的自主学习能力,使学生养成良好的学习习惯和态度。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程技巧。
具体安排如下:1.C语言的基本语法:包括变量、数据类型、运算符、控制结构等基本概念,以及函数、指针等高级概念。
2.数据结构:包括数组、链表、栈、队列等基本数据结构,以及排序算法、查找算法等常用算法。
3.算法和编程技巧:包括常用的排序算法(冒泡排序、选择排序、插入排序等)、查找算法(二分查找、线性查找等)、循环结构、递归结构等编程技巧。
4.项目实践:以电影院为主题,设计相关的项目,如电影信息管理系统、电影票销售系统等,让学生将所学知识应用于解决实际问题。
三、教学方法本课程将采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过教师的讲解,让学生掌握C语言的基本语法、数据结构、算法和编程技巧。
2.案例分析法:通过分析实际案例,让学生理解编程的实际应用,提高学生的实践能力。
3.实验法:通过实验课,让学生动手编写代码,培养学生的编程能力和实验能力。
图2 此流程图主要判断能否输出电影具体信息。
Search 函数的流程图
}
3.设计结果与分析
主菜单如图显示:
图3:该系统总共有6个功能。
1.输入电影
2.电影列表
3.查找电影
4.修改信息
5.保存退出
3.1在键盘上输入1
进入以下界面:
图4 此图为输入信息之前的截面图。
然后在依据上图界面依次输入信息:
所得电影基本信息如下图:
图5 电影基本信息存进struct film结构体中。
3.2 退回主页面,输入2键,进入了查看电影列表的函数list,此函数把电影列表输到屏幕上。
电影列表如下图所示:
图6 通过以上操作获得电影列表截面图。
3.3 输入3键,根据提示键入电影名称
图7 此时系统进入了search函数,查找电影,函数中有选择语句。
若电影列表中存在此电影,则执行else语句,则显示如上界面:
图8 若电影不存在则执行if语句,则显示:3.4 退回主页面,输入4键
图9 进入到alter函数,显示如下界面:
图10 若键入shangcheng,修改信息后,显示下图:
图11 若假如输入lengshan,由于不存在,则显示:
3.5 回到主页面,输入5键,则会执行save函数,然后执行fclose(fp),。
c语言movie函数在C语言中,我们可以使用一个叫做movie的函数来实现简单的电影票售卖系统。
该函数可以接收用户输入的电影名和票价,并根据用户的选择输出相应的电影票信息。
下面是一个简单的示例代码实现:#include<stdio.h>//定义movie函数void movie(char name[],float price){printf("您购买的电影是:%s\n",name);printf("票价为:%.2f元\n",price);printf("祝您观影愉快!\n");int main(){char movieName[30];float moviePrice;printf("请输入电影名称:");scanf("%s",movieName);printf("请输入票价:");scanf("%f",&moviePrice);//调用movie函数movie(movieName,moviePrice);return0;在这个示例中,我们定义了一个movie函数,该函数接收电影名称和票价作为参数,并输出对应的信息。
在主函数中,我们先接收用户输入的电影名称和票价,然后调用movie函数来输出电影票信息。
通过这个简单的实例,我们可以看到如何利用C语言中的函数来实现一个简单的电影票售卖系统。
使用函数能够让代码结构更清晰、模块化,提高代码的可读性和可维护性。
希望以上内容能够帮助您更好地理解C语言中的函数的使用,祝您编程愉快!。
目录第一部分:课程设计编号、名称、内容 (1)第二部分:程序总体设计思路 (2)第三部分:程序功能模块划分、图示及流程图 (2)第四部分:程序设计数据、运行结果 (8)第五部分:程序的优缺点 (14)第六部分:程序改进思路 (16)第七部分:附录(源代码) (17)第一部分:课程设计编号、名称、内容编号:二十九题名称:电影俱乐部内容:【要求】允许俱乐部成员租用DVD。
若想成为会员,首先应签约并且可按月缴纳费用。
会员一次可租用三个DVD,没有时间限制。
浏览所有可租用的DVD,新成员的开户,会员对其账户状况的查询以及俱乐部管理者对所有交易情况的查看。
【提示】(1)需要分析DVD信息和俱乐部会员信息文件存储,提供文件的输入输出操作;注册新会员;提供文件的添加操作;实现按月缴纳费用;提供文件的修改操作;浏览信息应提供显示操作;实现查询则提供文件的查找操作;另外提供健盘式选择菜单以实现功能选择。
(2)总体设计整体设计为会员注册模块、会员交费模块、会员租用DVD模块、会员归还DVD模块、信息浏览模块和信息查询模块等。
第二部分:程序总体设计思路由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。
在编写本程序的过程中,首先借助老师给的指导材料,确定了目标程序运行的次序与界面,即本程序首先运行[用户欢迎及版本说明]界面,其次程序运行[用户登陆]及[新会员注册]菜单界面,如果用户选择[会员注册]选项则程序进入新会员注册界面,如果用户选择[用户登陆]选项则程序进入用户登陆界面,在用户登陆界面中分[管理员登陆]和[会员登陆]选项,如果用户选择[管理员登陆]选项则程序进入管理员管理程序部分(此部分具有[浏览俱乐部所有DVD信息功能][浏览俱乐部所有会员信息功能][浏览俱乐部所有交易情况功能][向俱乐部添加新DVD的功能]四大功能),如果用户选择了[会员登陆]则程序自动进入会员身份验证,如果会员信息验证成功,程序将进入会员信息管理程序部分(此部分具有[租借DVD功能][归还DVD功能][会员账户充值功能][会员详细账户查询功能]四大功能)。
影院管理系统c课程设计一、课程目标知识目标:1. 学生能理解影院管理系统的基本概念、功能模块和业务流程。
2. 学生能掌握数据库设计原则,运用SQL语句进行数据查询、插入、删除和更新操作。
3. 学生能了解C语言在影院管理系统中的应用,如文件操作、字符串处理等。
技能目标:1. 学生能运用结构化分析方法,完成影院管理系统的需求分析。
2. 学生能设计合理的数据库表结构,编写相应的SQL语句实现数据操作。
3. 学生能运用C语言编写功能模块,实现影院管理系统的核心功能。
情感态度价值观目标:1. 学生通过课程学习,培养对信息技术的兴趣和热情,提高学习积极性。
2. 学生在团队协作中,学会沟通、分享和承担责任,培养良好的团队合作精神。
3. 学生能够关注社会发展,了解信息技术在生活中的应用,提高社会责任感。
课程性质:本课程为计算机科学与技术专业的实践课程,旨在让学生通过实际操作,掌握影院管理系统的设计与实现。
学生特点:学生具备一定的C语言基础,对数据库知识有一定了解,但缺乏实际项目经验。
教学要求:注重理论与实践相结合,鼓励学生动手实践,提高学生的实际操作能力和解决问题的能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 影院管理系统概述:介绍系统的基本概念、功能模块和业务流程,分析实际应用场景,让学生对课程项目有整体的认识。
教材章节:第一章 影院管理系统简介2. 数据库设计:讲解数据库设计原则,指导学生完成影院管理系统数据库的设计,包括表结构设计、关系定义等。
教材章节:第二章 数据库设计3. C语言基础:回顾C语言基础知识,重点讲解文件操作、字符串处理等与本项目相关的内容。
教材章节:第三章 C语言基础4. 影院管理系统功能模块实现:分析系统需求,引导学生运用结构化分析方法,完成功能模块的设计与实现。
教材章节:第四章 功能模块实现5. 数据库操作:教授SQL语言,让学生掌握数据库的增删改查等基本操作,实现影院管理系统中的数据管理功能。
C语言课程设计报告055071班王耀琪学号:20071004144一.前言C语言是一种编译型程序设计语言,编程设计是学习该语言的一个重要环节。
通过温习已学的知识,在上机实践中熟悉C语言的编程环境,进而达到能够编写较复杂程序并将其实际应用的程度。
在实际编程中不断地深入学习数据结构、算法、编译原理、操作系统原理、软件工程等知识,加深对C语言的理解,切实提高编程水平,这是C语言课程设计的主要目的。
二.正文(1)题目:电影俱乐部【要求】允许俱乐部成员租用DVD。
若想成为会员,首先应签约并且可按月交纳费用。
会员一次可租用三个DVD,没有时间限制。
可浏览所有可租用的DVD,能实现新成员的开户、会员对其帐户状况的查询以及俱乐部管理者对所有交易情况的查看功能。
(2)需求分析:DVD信息和俱乐部会员信息用文件存储,提供文件的输入输出操作;注册新会员,提供文件的添加操作;实现查询则提供文件的查找操作;另外提供键盘式选择菜单以实现功能选择。
(3)总体设计:整体设计为会员注册模块、会员缴费模块、会员租用DVD模块、会员归还DVD模块、信息浏览模块和信息查询模块等。
程序说明:主函数中提供输入输出和部分函数调用,全局变量n,n1实现保存菜单数字等简单功能,程序主要功能体现在各模块中。
程序主要采用结构体变量实现操作,以一个会员的所有信息为一个单元,并用文件保存。
程序中以选择结构为大框架,通过使用顺序结构和选择结构实现操作。
(4)代码设计1.主函数提供密码验证和输入输出功能,各功能用菜单方式选择,使用文件存放,流程图如图所示,密码123,可在源程序修改。
main(){printf("*******************欢迎使用DVD信息管理系统**********************\n"); printf("\n\n\n\n请输入管理员密码:");if(check())menu1();else{printf(" 密码输入错误\n");printf(" ****************你无权使用本系统*****************\n");quit();}}int check() /* 验证会员密码*/{char a[20],str[]="123"; /*注意:会员初始密码为123*/int count;for(count=0;count<3;count++){ gets(a);if(strcmp(a,str)==0)return 1 ;elsecontinue;}return 0;}int menu1() /*主函数功能菜单*/{FILE *fp1;int a; /*变量a保存选择菜单数字*/if((fp1=fopen("n.txt","a+"))==NULL){printf("cannot open file");exit(0);}{fread(&N[1],sizeof(int),1,fp1);fread(&N[2],sizeof(int),1,fp1);}fclose(fp1);n=N[1];n1=N[2];moon();printf("\n 1. 建立新档案(会员档案和DVD档案)\n");printf("\n 2. 注册会员\n");printf("\n 3. 缴纳会费\n");printf("\n 4. 会员租用DVD\n");printf("\n 5. 信息浏览\n");printf("\n 6. 信息查询\n");printf("\n 7. 退出\n");printf("**********************************************");printf("\n\n\n请选择编号:");scanf("%d",&a);switch(a)/*主函数功能选择*/{ case 1: {create(); menu1();}break; /*建立新档案模块*/case 2: {add(); menu1(); } break; /*注册会员模块*/case 3: {monfei();menu1();}break; /*缴纳会费模块*/case 4: {dvd();menu1();}break; /*会员租用DVD模块*/case 5: menu2();break; /*信息浏览模块菜单*/case 6: menu3();break; /*信息查询模块菜单*/case 7: quit();break;/*退出模块*/default: printf("输入编号错误\n");menu1();}}1.2.注册模块本模块要求用户创建初始会员信息,是后续操作的基础。
C语⾔课程设计——电影院订票系统1. 课题简介⼤家都爱看电影,现请参考⼀个熟悉电影票预订系统,实现C语⾔版的订票系统。
了解订票如何实现的。
系统主要有2类⽤户:管理员⽤户和顾客⽤户。
管理员⽤户登录系统后,实现电影放映厅信息管理和电影场次信息管理。
具体菜单有:1.电影放映厅信息管理选择该菜单能展⽰所有放映厅,⽤户输⼊某个放映厅编号后,能实现对放映厅增加、删除、修改功能。
主要对movie_house.txt数据修改。
放映厅主要字段信息有:放映厅编号、放映厅名称、放映厅⾏数、放映厅列数、放映厅座位初始状态。
假如放映厅是⼀个10⾏10列座位安排,其初始状态可以⽣成⼀个⼆维数组house[10][10]={0,1,2,0,0},存储座位状态。
0表⽰未定、1表⽰已定、2表⽰不能定。
初始时候应该只有0,2两种状态。
2.电影场次信息管理实现对movie.txt数据增删改及查找。
答辩务必演⽰增删改操作,对于已存在场次能提⽰不得修改。
不存在场次不能删除等容错处理。
修改和添加记录时候,⼀个放映厅⼀个时段只能排1部电影。
若超过要提⽰不能修改。
movie.txt主要字段有:电影场次编号、电影名称、播放⽇期、播放时间段、所在放映厅、放映厅座位当前状态。
(1)放映厅位置当前状态,表⽰当前位置购票情况,如house[10][10]={0,1,2,0,0}。
其中:0表⽰未定座位、1表⽰已定座位、2表⽰不能定座位。
(2)当前状态初始值应该是从movie_house.txt读取放映厅座位初始状态。
顾客登录系统后,主菜单:查看我的订单展⽰所有历史订票信息,然后可删除未看的电影订单。
(选做)注意删除订单后,相应电影场次中位置信息状态也要修改。
电影订票操作步骤如下:(1) 展⽰当前时间段后可看的电影场次信息。
(注意时间,⼀定是当前时间段后的电影信息)(2) 顾客输⼊观看电影名称和时间段,展⽰⽬前厅内位置信息。
注意⽤矩阵⽅式显⽰位置信息,每⾏10列左右,具体⾃⼰设计。
电影管理系统课程设计C语言一、教学目标本课程的目标是让学生掌握使用C语言设计电影管理系统的基本知识和技能。
通过本课程的学习,学生将能够理解C语言的基本语法和数据结构,掌握电影管理系统的需求分析和设计方法,以及实现电影管理系统的核心功能。
具体来说,知识目标包括:1.掌握C语言的基本语法和数据结构。
2.理解电影管理系统的基本需求和设计方法。
技能目标包括:1.能够使用C语言编写简单的程序。
2.能够根据需求分析,使用C语言实现电影管理系统的核心功能。
情感态度价值观目标包括:1.培养学生对计算机编程的兴趣和热情。
2.培养学生解决问题的能力和团队合作的精神。
二、教学内容本课程的教学内容主要包括C语言的基本语法和数据结构,电影管理系统的设计和实现。
具体安排如下:1.C语言的基本语法和数据结构:包括变量、数据类型、运算符、控制结构、函数等。
2.电影管理系统的设计和实现:包括需求分析、系统设计、核心功能的实现等。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:用于讲解C语言的基本语法和数据结构,以及电影管理系统的设计和实现方法。
2.讨论法:用于引导学生讨论和思考电影管理系统的需求分析和设计方法。
3.案例分析法:通过分析实际的电影管理系统案例,帮助学生理解和掌握系统的实现方法。
4.实验法:让学生动手编写代码,实现电影管理系统的核心功能。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选择合适的C语言和电影管理系统相关教材,用于引导学生学习。
2.参考书:提供相关的参考书籍,帮助学生深入理解C语言和电影管理系统。
3.多媒体资料:制作和收集与课程内容相关的多媒体资料,如PPT、视频等,用于辅助教学。
4.实验设备:准备计算机和相关设备,供学生进行编程实验和实践。
五、教学评估为了全面反映学生的学习成果,本课程将采用多种评估方式,包括平时表现、作业和考试等。
数据结构电影院影片管理系统代码以下是一个简单的示例代码,演示了如何使用数据结构来管理电影院的影片信息。
class Movie:def __init__(self, title, genre, duration):self.title = titleself.genre = genreself.duration = durationclass Cinema:def __init__(self):self.movies = []def add_movie(self, movie):self.movies.append(movie)def remove_movie(self, movie):self.movies.remove(movie)def search_movie_by_title(self, title):for movie in self.movies:if movie.title == title:return moviereturn Nonedef search_movie_by_genre(self, genre):result = []for movie in self.movies:if movie.genre == genre:result.append(movie)return result# 创建电影实例movie1 = Movie("The Shawshank Redemption", "Drama", 142) movie2 = Movie("Inception", "Sci-Fi", 148)movie3 = Movie("The Dark Knight", "Action", 152)# 创建电影院实例cinema = Cinema()# 添加电影到电影院cinema.add_movie(movie1)cinema.add_movie(movie2)cinema.add_movie(movie3)# 根据标题搜索电影search_title = "Inception"result_movie =cinema.search_movie_by_title(search_title)if result_movie:print(f"找到了电影:{result_movie.title},类型:{result_movie.genre},时长:{result_movie.duration}分钟") else:print("未找到该电影")# 根据类型搜索电影search_genre = "Action"result_movies =cinema.search_movie_by_genre(search_genre)if result_movies:print(f"找到了以下类型为{search_genre}的电影:") for movie in result_movies:print(f"电影名:{movie.title},时长:{movie.duration}分钟")else:print("未找到该类型的电影")这只是一个简单示例,你可以根据实际需求进行扩展和修改。
中国地质大学(武汉)C语言课程设计论文学院:计算机学院专业: ***********题目:电影俱乐部________班级: ***********姓名: ***********学号: *********** _指导教师: ***********2010年6月25日题目:电影俱乐部【要求】允许俱乐部成员租用DVD. 若想成为会员,首先应签约并且可按月缴纳费用. 会员一次可租用三个DVD,没有时间限制. 可浏览所有可租用DVD,能实现新成员的开户,会员对帐户状态的查询以及俱乐部管理者对所有交易情况的查看功能.[提示](1)需求分析: DVD信息和俱乐部会员信息用文件储存,提供文件的输入输出操作;注册新会员,提供文件的添加操作;实现按月缴纳费用,提供文件的修改操作;浏览信息因提供显示操作;实现查询则提供文件的查找操作;另外提供键盘式菜单以实现功能选择.(2)总体设计: 整体设计为会员注册模块, 会员交费模块, 会员租用DVD模块, 会员归还DVD模块, 信息浏览模块和信息查询模块等.设计流程图:主函数选择功能函数会员注册会员登录会员选择菜单DVD信息浏览DVD租用DVD归还管理员登录管理员选择菜单用户信息DVD信息DVD添加电影俱乐部程序#include <stdio.h>#include <string.h>#include <stdlib.h>/********************注册**********************/void zhuche(){struct UserInfo{char ID[30];char pwd[20];};struct UserInfo Users[1];FILE *fp;fp=fopen("User.txt","ab+");printf("\n请输入您的注册账户:____________\b\b\b\b\b\b\b\b\b\b\b");scanf("%s",&Users[0].ID);printf("请输入您的密码:____________\b\b\b\b\b\b\b\b\b\b\b");scanf("%s",&Users[0].pwd);fwrite(&Users[0],sizeof(struct UserInfo),1,fp);fclose(fp);printf("\n\t\t\t\t<<注册成功>>\n");void huiyuan();huiyuan();}/*****************管理员选择菜单********************/void xuanze(){int n;void DVDview();void menu(); // 主菜单void InfoView(); // 用户信息显示void addDVD(); // DVD添加printf("\t___________________________________________\n\n");printf("\t 1).用户信息2).DVD添加\n");printf("\t 3).DVD信息4).返回主菜单\n");printf("\t___________________________________________\n");printf("Please enter your choice:[ ]\b\b");scanf("%d",&n);switch(n){case 1: InfoView();xuanze();break;case 2: addDVD();xuanze();break;case 3: DVDview();xuanze();break;case 4: menu();break;default: printf("选择错误");xuanze();break;}}/**********************用户信息显示**********************/void InfoView(){printf("\n");struct UserInfo{char ID[30];char pwd[20];};struct UserInfo Users[20];FILE *fp;int i;fp=fopen("User.txt","rb");for (i = 0; fread(&Users[i],sizeof(struct UserInfo),1,fp) > 0; i++){printf("编号:%d ID:%10s 密码:%10s\n\n",i+1,Users[i].ID,Users[i].pwd);}fclose(fp);}/***********************DVD添加************************/void addDVD(){struct DVDInfo{char name[30];char roller[20];};struct DVDInfo DVD[1];FILE *fp;fp=fopen("DVD.txt","ab+");printf("请输入DVD名称:____________\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%s",&DVD[0].name);printf("请输主演名字:____________\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%s",&DVD[0].roller);fwrite(&DVD[0],sizeof(struct DVDInfo),1,fp);fclose(fp);}/******************************管理员*****************************/ void Admin(){void xuanze() ;FILE *fplast; //文件尾指针FILE *fp; //文件指针int last;int i=0;int PASS;char CPassWord[20];char CID[20]="jiawei"; //账户char ID[20];char PassWord[20];fp=fopen("mima.txt","r");fplast=fopen("mima.txt","r");fseek(fplast,0,SEEK_END);last=ftell(fplast);for(i=0;i<last;i++){CPassWord[i]=fgetc(fp);}CPassWord[i]='\0';fclose(fp);printf("请输入管理员账户及密码查看:\n\n\n");do{printf("\t\t\t账户__________________\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%s",ID);printf("\t\t\t密码__________________\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%s",PassWord);if(strcmp(CPassWord,PassWord)==0 && strcmp(CID,ID)==0){printf("Welcome!\n\n");PASS=1;xuanze();}else{printf("Password or ID error\n");PASS=0;}}while(PASS!=1);}/**************************会员登陆*******************************/ void huiyuandenglu(){void huiyuan();struct UserInfo{char ID[30];char pwd[20];};struct UserInfo Users[20];char huiyuanID[30];char huiyuanmima[20];int w=0;FILE *fp;int i;fp=fopen("User.txt","rb");do{printf("\n请输入您的会员账户及密码\n\n");printf("\t\t\t ID:____________\b\b\b\b\b\b\b\b\b\b");scanf("%s", huiyuanID);printf("\t\t\tPassword:____________\b\b\b\b\b\b\b\b\b\b");scanf("%s",huiyuanmima);for (i = 0; fread(&Users[i],sizeof(struct UserInfo),1,fp) > 0; i++){if(strcmp(huiyuanID,Users[i].ID) == 0 && strcmp(huiyuanmima,Users[i].pwd) == 0) {w=1;break;}elsew=0;}if(w==1)huiyuan();elseprintf("输入错误");}while(w!=1);fclose(fp);system("pause");}/*******************会员选择菜单*********************/void huiyuan(){int n;void DVD_return();void menu();void jiaofei();void DVDview();void DVD_choice();printf("\n\t______________________________________________________\n");printf("\n\n\t\t1).DVD信息浏览2).DVD租用3).DVD归还\n\n");printf("\t\t4).交费5).返回主菜单\n");printf("\t______________________________________________________\n\n");printf("Please enter your choice:[ ]\b\b");scanf("%d",&n);switch(n){case 1:DVDview();huiyuan();break;case 2:DVD_choice(); huiyuan();break;case 3:DVD_return(); huiyuan();break;case 4:jiaofei();huiyuan();break;case 5:menu();break;default :printf("输入错误");}}/***********************DVD选择****************************/void DVD_choice(){struct DVDInfo{char name[30];char roller[20];}DVD[10];char name[20];FILE *fp; //dvd文件int i;fp=fopen("DVD.txt","rb");printf("请输入您要租用的电影名:_____________\b\b\b\b\b\b\b\b\b\b");scanf("%s",name);for (i = 0; i<1; i++){fread(&DVD[i],sizeof(struct DVDInfo),1,fp);if(strcmp(name,DVD[i].name)!=0){printf("choice succeed\n");printf("\t\t\t<<%s>>",name);}elseprintf("error\n");}fclose(fp);}/*********************归还**************************/void DVD_return(){struct DVDInfo{char name[30];char roller[20];}DVD[10];char name[20];FILE *fp; //dvd文件int i;fp=fopen("DVD.txt","rb");printf("请输入您要归还的电影名:_____________\b\b\b\b\b\b\b\b\b\b");scanf("%s",name);for (i = 0; i<1; i++){fread(&DVD[i],sizeof(struct DVDInfo),1,fp);if(strcmp(name,DVD[i].name)!=0){printf("return succeed\n");printf("\t\t\t<<%s>>",name);}elseprintf("error\n");}fclose(fp);}void jiaofei(){printf("已交费\n");}/****************DVD信息******************/void DVDview(){printf("\n");struct DVDInfo{char name[30];char roller[20];};struct DVDInfo DVD[20];FILE *fp;int i;fp=fopen("DVD.txt","rb");for (i = 0; fread(&DVD[i],sizeof(struct DVDInfo),1,fp) > 0; i++){printf("编号:%d 片名:%10s 主演:%10s\n\n",i+1,DVD[i].name,DVD[i].roller);}fclose(fp);}/********************主菜单***********************/void menu(){int n;void zhuche();void InfoView();void huiyuandenglu();printf("\n\t**********************电影俱乐部*********************\n\n\n");printf("\t\t\t\t1).会员注册\n\n");printf("\t\t\t\t2).会员登录\n\n");printf("\t\t\t\t3).管理员登陆\n\n");printf("\t\t\t\t4).注销\n\n\n");printf("\t********************************************************\n");printf("Please enter your choice:[ ]\b\b");scanf("%d",&n);switch(n){case 1: zhuche();break;case 2: huiyuandenglu();break;case 3: Admin();break;case 4: exit(0);}system("pause");}/***********主函数*************/int main(){void menu();menu();system("pause");}选择功能函数(主菜单)会员注册会员登录DVD信息浏览DVD租用DVD归还交费返回主菜单管理员登陆用户信息DVD添加DVD信息返回主菜单。