标题:大神们看过来啦>0<
只看楼主
傻菲有傻福
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-12-19
结帖率:0
已结贴  问题点数:20 回复次数:1 
大神们看过来啦>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();
}

搜索更多相关主题的帖子: 百度 俱乐部 管理者 C语言 会员 
2015-12-19 10:51
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
得分:20 
你要问的问题没写清楚。错误提示呢?
不知道你从哪里找的代码。但是不同的编译器,编译调试时不一定通过。
代码太长,你懒得说,我也懒得看。就说一点。
最突出的问题,if((fp=fopen("huiyuan.txt","r+"))==NULL)  
fopeng()中,"huiyuan.txt"在磁盘哪个位置?C盘?D盘?E盘?


普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2015-12-19 23:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460384-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.358325 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved