| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 581 人关注过本帖
标题:[求助]不知所措!速来指点!在此谢过!
只看楼主 加入收藏
zxingxy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-5-28
收藏
 问题点数:0 回复次数:3 
[求助]不知所措!速来指点!在此谢过!
错在那里?a和b两个文件内容比较,如果b中有a的内容那么a中相对应的数组标志为1,否则为0.内容如下:
a.txt           b.txt


       1231435     2342424

       3425255     6758582

       3226342     2354255<-

       2542525     7895422

   -> 2354255     9865433  

结果应是ch[ 5 ].Flag =1,其他为0.可结果不对!请大家赐教!

#include<stdio.h>

main()

{

 FILE    *fp;

 FILE   *fpp;

 int record;

 int conum;

 struct ch { char txt[ 7 ]; int Flag; }ch[ 10 ];

 struct ci { char txt[ 7 ]; }ci[ 10 ];



 fp = fopen( "a.txt" , "rb" );

 if( fp == NULL )

 {

  printf( "\na.txt is NULL!!!");

  return( 0 );

 }



 fpp = fopen( "b.txt" , "rb" );

 if( fpp == NULL )

 {

  printf( "\nb.txt is NULL!!!");

  return( 0 );

 }



 printf( "\nRead text!" );

 

 for( record = 0 ; record < 10 ; record ++)

  fscanf( fp , "%7s" , ch[ record ].txt );

  

 for( conum = 0 ; conum < 10 ; conum ++ )

  fscanf( fpp , "%7s" , ci[ conum ].txt );

  

 

 for( record = 0 ; record < 10 ; record ++ )

 {ch[ record ].Flag = 0;

  for( conum = 0 ; conum < 10 ; conum ++ )

    {

    if( strcmp( ch[ record ].txt , ci[ conum ].txt ) != 0 )

      ch[ record ].Flag = 1;



     else

      ch[ record ].Flag = 0;

    }

 }

  for( record = 0 ; record < 10 ; record ++ )

  printf( "\n%d" , ch[ record ].Flag );

}
搜索更多相关主题的帖子: 不知所措 
2005-05-28 22:19
zxingxy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-5-28
收藏
得分:0 
没有那位高人可以指点一下迷津吗?
2005-05-30 00:50
城门口
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-4-8
收藏
得分:0 
应该把else ch[recore].flag=0改为else {ch[recore].flag=0;break;}。
2005-05-31 20:30
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-4-25
收藏
得分:0 

关键错误在这里: struct ch { char txt[ 7 ]; int Flag; }ch[ 10 ]; struct ci { char txt[ 7 ]; }ci[ 10 ]; 数组下标错了 应该是8 其它还有些小错误 正确的如下: #include<stdio.h> main() { FILE *fp,*fpp; int record,conum; struct ch { char txt[ 8 ]; int Flag; }ch[ 10 ]; struct ci { char txt[ 8 ]; }ci[ 10 ];

if((fp = fopen( "a.txt" , "r" ))== NULL ) {printf( "\na.txt is NULL!!!"); return( 0 );} if((fpp = fopen( "b.txt" ,"r" ))== NULL ) {printf( "\nb.txt is NULL!!!"); return( 0 );} for( record = 0 ; record < 10 ; record ++) {fscanf( fpp,"%s",ci[record].txt); fscanf( fp,"%s",ch[record].txt);} for( record = 0 ; *ch[record].txt; record ++ ) {ch[ record ].Flag = 0; for( conum = 0 ; *ci[conum].txt; conum ++ ) if( !strcmp( ch[ record ].txt , ci[ conum ].txt ) ) {ch[ record ].Flag = 1;break;} } for( record = 0 ; *ch[record].txt ; record ++ ) printf( "\n%d" , ch[ record ].Flag );

}


/bbs/showimg.asp?BoardID=5&filename=2005-4/2005427111228529.jpg" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://bbs./bbs/showimg.asp?BoardID=5&filename=2005-4/2005427111228529.jpg');}" onmousewheel="return imgzoom(this);" alt="" /> 欢迎加入C语言QQ群698156 我们都是菜鸟乃至新手 坚信有一天定能展翅高飞 因为有着努力的决心 衷心盼望你的到来 让我们一起进步
2005-06-03 12:27
快速回复:[求助]不知所措!速来指点!在此谢过!
数据加载中...
 
   



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

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