大神们看过来啦>0<
编译的时候总是有错误提醒,但是我是个C语言渣(这是百度里找的,但是就是有错误不知道为啥),不能理解啊啊啊啊啊。麻烦各位帮忙看看!!!!啊啊啊啊!【要求】允许俱乐部成员租用DVD。若想成为会员,首先应签约并且可按月交纳费用。会员一次可租用三个DVD,没有时间限制。可浏览所有可租用的DVD,能实现新成员的开户、会员对其帐户状况的查询以及俱乐部管理者对所有交易情况的查看功能。【提示】(1)需求分析:DVD信息和俱乐部会员信息用文件存储,提供文件的输入输出操作;注册新会员,提供文件的添加操作;实现查询则提供文件的查找操作;另外提供键盘式选择菜单以实现功能选择。
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
else continue;
}
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();
}
}
printf("请输入增加会员档案的个数:");
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("cannot open file");
exit(0);
}
for(i=n;i<(n+a);i++)
fwrite(&stu1[i],sizeof(struct dvdA),1,fp);
fclose(fp);
n=n+a;
if((fp=fopen("huiyuan.txt","r+"))==NULL)
{
printf("cannot open file");
exit(0);}
for(i=0;i<n;i++)
{
fread(&stu2[i],sizeof(struct dvdA),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("cannot open file");
exit(0);}
fwrite(&N[0],sizeof(int),1,fp1);
fclose(fp1);
}
monfei()
{
FILE *fp,*fp1;
int i,c;
char name[20];
struct dvdA stu2[100];
printf("\n请输入会员姓名:\n");
scanf("%s",&name);
if((fp=fopen("huiyuan.txt","r+"))==NULL)
{
printf("cannot open file");
exit(0);}
for(i=0;i<n;i++)
{
fread(&stu2[i],sizeof(struct dvdA),1,fp);
c=strcmp(name,stu2[i].name);
if(c==0)
{
printf("姓名 编号 性别 会费 dvd1 dvd2 dvd3 \n");
printf("%4s,%5d,%5d,%4d %4d %4d %4d\n", stu2[i].name,stu2[i].num,stu2[i].sex,stu2[i].huifei,stu2[i].dvd1,stu2[i].dvd2,stu2[i].dvd3);
printf("请输入你要充入会费\n");
scanf("%d",&stu2[i].huifei);
}
}
fclose(fp);
if((fp=fopen("huiyuan.txt","w+"))==NULL)
{
printf("cannot open file");
exit(0);
}
for(i=0;i<n;i++)
fwrite(&stu2[i],sizeof(struct dvdA),1,fp);
fclose(fp);
}
menu3()
{
int a;
printf("\n 信息查询\n ");
printf("\n 1.按会员名查找\n");
printf("\n 2.按dvd查找\n");
printf("\n 3.返回上级菜单 \n");
printf("\n\n\n请输入编号:");
scanf ("%d",&a);
switch (a)
{
case 1: search1();break;
case 2: search2();break;
case 3: menu1();break;
default:printf("输入编码错误\n");menu3();
}
}
search1() /*按会员姓名查询和浏览信息*/
{
FILE *fp,*fp1;
int i,c;
char name[20];
struct dvdA stu2[100];
printf("\n请输入会员姓名:\n");
scanf("%s",&name);
if((fp=fopen("huiyuan.txt","r+"))==NULL)
{
printf("cannot open file");
exit(0);
}
for(i=0;i<n;i++)
{
fread(&stu2[i],sizeof(struct dvdA),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;
int i,c;
struct dvdB dd2[100];
printf("\n请输入DVD编号:\n");
scanf("%d",&c);
if((fp=fopen("dvd.txt","r+"))==NULL)
{
printf("cannot open file");
exit(0);
}
for(i=0;i<n1;i++)
{fread(&dd2[i],sizeof(struct dvdB),1,fp);
if(c==dd2[i].num)
{ printf(" 编号 DVD名 数量\n");
printf("%4d%5s%7d\n", dd2[i].num,dd2[i].name,dd2[i].k);
break;
}
}
fclose(fp);
menu3();
}
printhuiyuan()
{FILE *fp;
int i;
struct dvdA stu2[100];
if((fp=fopen("huiyuan.txt","r+"))==NULL)
{printf("cannot open file");
exit(0);}
for(i=0;i<n;i++)
{ fread(&stu2[i],sizeof(struct dvdA),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;
int i;
struct dvdB dd2[100];
if((fp=fopen("dvd.txt","r+"))==NULL)
{printf("cannot open file");
exit(0);}
for(i=0;i<n1;i++)
{fread(&dd2[i],sizeof(struct dvdB),1,fp);
printf(" 编号 DVD名 数量\n");
printf("%4d%5s%4d\n", dd2[i].num,dd2[i].name,dd2[i].k);
}
fclose(fp);
menu2()
dvd()
{
FILE *fp,*fp1;
int i,c;
char name[20];
struct dvdA stu2[100];
printf("\n请输入会员姓名:\n");
scanf("%s",&name);
if((fp=fopen("huiyuan.txt","r+"))==NULL)
{
printf("cannot open file");
exit(0);
}
for(i=0;i<n;i++)
{
fread(&stu2[i],sizeof(struct dvdA),1,fp);
c=strcmp(name,stu2[i].name);
if(c==0)
{
printf("姓名 编号 性别 会费 dvd1 dvd2 dvd3 \n");
printf("%4s,%5d,%5d,%4d %4d %4d %4d\n");
stu2[i].name,stu2[i].num,stu2[i].sex,stu2[i].huifei,stu2[i].dvd1,stu2[i].dvd2,stu2[i].dvd3);
printf("请输入你要修改后的dvd1编号:");
scanf("%d",&stu2[i].dvd1);
printf("\n请输入你要修改后的dvd2编号:");
scanf("%d",&stu2[i].dvd2);
printf("\n请输入你要修改后的dvd3编号:");
scanf("%d",&stu2[i].dvd3);
}
}
fclose(fp);
if((fp=fopen("huiyuan.txt","w+"))==NULL)
{
printf("cannot open file");
exit(0);}
for(i=0;i<n;i++)
fwrite(&stu2[i],sizeof(struct dvdA),1,fp);
fclose(fp);
menu1();
}