您好,欢迎访问三七文档
C语言课程实习报告所在院系:经济管理学院班级学号:08108120081001833姓名:曾秋颖程序已存档:指导老师:赵曼评分:____________二零一零年一月十五日C语言实习报告电影俱乐部2目录一.题目分析………………………………………………………31.1题目要求1.2需求分析二.总体设计………………………………………………………3三.详细设计………………………………………………………43.1主函数………………………………………………………43.2各功能模块设计………………………………………………63.2.1注册模块3.2.2浏览模块3.2.3查询模块3.2.4交费模块3.2.5租还模块3.3公共函数……………………………………………………15四.程序测试……………………………………………………164.1数据源4.2编译,连接和运行4.3运行结果五.结束语………………………………………………………215.1实习心得C语言实习报告电影俱乐部3一.题目分析名称:电影俱乐部1.1题目要求:允许俱乐部成员租用DVD.若想成为会员,首先应签约并且可按月交纳费用.会员一次可租用三个DVD,没有时间限制.可浏览所有可租用的DVD,能实现新成员的开户,会员对其账户状况的查询以及俱乐部管理者对所有交易情况的查看功能.1.2需求分析:根据题目要求,DVD信息和俱乐部会员信息用文件存储,提供文件的输入输出操作;注册新会员,提供文件的添加操作;浏览信息应提供显示操作;实现查询则提供文件的查找操作;另外提供键盘式选择菜单以实现功能选择.二.总体设计下面来分析一下整个系统,根据上面的需求分析,可以把这个系统的设计分为以下六大模块:会员注册模块,会员交费模块,会员租用DVD模块,会员归还DVD模块,信息浏览模块和信息查询模块.主函数中提供输入输出和部分函数调用,全局变量n,n1实现保存菜单数字等简单功能,程序主要功能体现在各模块中。程序主要采用结构体变量实现操作,以一个会员的所有信息为一个单元,并用文件保存。程序中以选择结构为大框架,通过使用顺序结构和选择结构实现操作。电影俱乐部管理系统会员交费会员注册会员租还DVD信息浏览信息查询C语言实习报告电影俱乐部4三.详细设计1.主函数(1)提供密码验证和输入输出功能,各功能用菜单方式选择,使用文件存放,流程图如图所示,密码123,可在源程序修改。main(){printf(*******************欢迎使用DVD信息管理系统**********************\n);printf(\n\n\n\n请输入管理员密码:);if(check())menu1();else{printf(密码输入错误\n);printf(****************你无权使用本系统*****************\n);quit();}}intcheck()/*验证会员密码*/{chara[20],str[]=123;/*注意:会员初始密码为123*/intcount;for(count=0;count3;count++)开始输入密码判断密码调用各函数结束C语言实习报告电影俱乐部5{gets(a);if(strcmp(a,str)==0)return1;elsecontinue;}return0;}(2)主函数一般设计得比较简洁,只提供输入,功能处理和输出部分的函数调用.其中各功能模块用菜单方式选择;另外,菜单部分也可以写成函数.其流程如图1所示:NYintmenu1()/*主函数功能菜单*/{FILE*fp1;inta;/*变量a保存选择菜单数字*/if((fp1=fopen(n.txt,a+))==NULL){printf(cannotopenfile);exit(0);}显示一系列功能选项输入n,判断m是否是0~7?根据n的值调用各功能模块函数开始结束C语言实习报告电影俱乐部6{fread(&N[1],sizeof(int),1,fp1);fread(&N[2],sizeof(int),1,fp1);}fclose(fp1);n=N[1];n1=N[2];moon();printf(\n1.建立新档案(会员档案和DVD档案)\n);printf(\n2.注册会员\n);printf(\n3.缴纳会费\n);printf(\n4.会员租用DVD\n);printf(\n5.信息浏览\n);printf(\n6.信息查询\n);printf(\n7.退出\n);printf(**********************************************);printf(\n\n\n请选择编号:);scanf(%d,&a);switch(a)/*主函数功能选择*/{case1:{create();menu1();}break;/*建立新档案模块*/case2:{add();menu1();}break;/*注册会员模块*/case3:{monfei();menu1();}break;/*缴纳会费模块*/case4:{dvd();menu1();}break;/*会员租用DVD模块*/case5:menu2();break;/*信息浏览模块菜单*/case6:menu3();break;/*信息查询模块菜单*/case7:quit();break;/*退出模块*/default:printf(输入编号错误\n);menu1();}}2.各功能模块设计(1)注册模块本模块要求用户创建初始会员信息,是后续操作的基础。以会员名,会员编号,会员性别,会费,DVD信息作为结构体变量。C语言实习报告电影俱乐部7printf(请输入增加会员档案的个数:);scanf(%d,&a);for(i=n;i(n+a);i++){printf(请输入会员名:);scanf(%s,&stu1[i].name);fflush(stdin);printf(请输入会员编号:);scanf(%d,&stu1[i].num);fflush(stdin);printf(请输入会员性别:男1女2:);scanf(%d,&stu1[i].sex);fflush(stdin);printf(请输入初始的会费:);scanf(%d,&stu1[i].huifei);stu1[i].day=s1;stu1[i].dvd1=stu1[i].dvd2=stu1[i].dvd3=0;getchar();}if((fp=fopen(huiyuan.txt,a+))==NULL){printf(cannotopenfile);exit(0);}for(i=n;i(n+a);i++)开始输入档案个数输入会员档案输入DVD档案结束C语言实习报告电影俱乐部8fwrite(&stu1[i],sizeof(structdvdA),1,fp);fclose(fp);n=n+a;if((fp=fopen(huiyuan.txt,r+))==NULL){printf(cannotopenfile);exit(0);}for(i=0;in;i++){fread(&stu2[i],sizeof(structdvdA),1,fp);printf(姓名编号性别会费\n);printf(%4s,%5d,%5d,%4d\n,stu2[i].name,stu2[i].num,stu2[i].sex,stu2[i].huifei);}fclose(fp);N[0]=n;if((fp1=fopen(n.txt,w+))==NULL){printf(cannotopenfile);exit(0);}fwrite(&N[0],sizeof(int),1,fp1);fclose(fp1);}(2)浏览模块该模块进行信息浏览操作,通过调用注册模块中创建的文件信息,达到浏览信息的目的。开始会员信息DVD信息显示显示结束C语言实习报告电影俱乐部9search1()/*按会员姓名查询和浏览信息*/{FILE*fp,*fp1;inti,c;charname[20];structdvdAstu2[100];printf(\n请输入会员姓名:\n);scanf(%s,&name);if((fp=fopen(huiyuan.txt,r+))==NULL){printf(cannotopenfile);exit(0);}for(i=0;in;i++){fread(&stu2[i],sizeof(structdvdA),1,fp);c=strcmp(name,stu2[i].name);if(c==0){printf(姓名编号性别会费已租DVD1已租DVD2已租DVD3\n);printf(%4s%5d%4d%5d%7d%10d%10d\n,stu2[i].name,stu2[i].num,stu2[i].sex,stu2[i].huifei,stu2[i].dvd1,stu2[i].dvd2,stu2[i].dvd3);break;}}fclose(fp);menu3();}search2()/*按DVD编号查询和浏览信息*/{FILE*fp,*fp1;inti,c;structdvdBdd2[100];printf(\n请输入DVD编号:\n);scanf(%d,&c);if((fp=fopen(dvd.txt,r+))==NULL){printf(cannotopenfile);exit(0);}for(i=0;in1;i++){fread(&dd2[i],sizeof(structdvdB),1,fp);if(c==dd2[i].num)C语言实习报告电影俱乐部10{printf(编号DVD名数量\n);printf(%4d%5s%7d\n,dvd2[i].num,dvd2[i].name,dvd2[i].k);break;}}fclose(fp);menu3();}printhuiyuan(){FILE*fp;inti;structdvdAstu2[100];if((fp=fopen(huiyuan.txt,r+))==NULL){printf(cannotopenfile);exit(0);}for(i=0;in;i++){fread(&stu2[i],sizeof(structdvdA),1,fp);printf(姓名编号性别会费\n);printf(%4s%5d%5d%4d\n,stu2[i].name,stu2[i].num,stu2[i].sex,stu2[i].huifei);}fclose(fp);menu2();}printdvd(){FILE*fp;inti;structdvdBdd2[100];if((fp=fopen(dvd.txt,r+))==NULL){printf(cannotopenfile);exit(0);}for(i=0;in1;i++){fread(&dd2[i],sizeof(structdvdB),1,fp);printf(编号DVD名数量\n);printf(%4d%5s%4d\n,dd2[i].num,dd2[i].name,dd2[i].k);}C语言实习报告电影俱乐部11fclose(fp);menu2();(3)查询模块根据输入的会员名查找对应记录,也可以通过输入DVD名实现相同功能。menu3(){inta;printf(\n信息查询\n);printf(\n1.按会员名查找\n);printf(\n2.按dvd查找\n);printf(\n3.返回上级菜单\n);printf(\n\n\n请输入编号:);scanf(%d,&a);switch(a)开始判断是否存在记录显示记录提示未找到提示是否继续结束C语言实习报告电影俱乐部12{case1:search1();break;case2:search2();break;case3:menu1();break;default:printf(输入编码错误\n);me
本文标题:c语言实习报告
链接地址:https://www.777doc.com/doc-4457972 .html