| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 494 人关注过本帖
标题:char 用 if 判断貌似一直出问题,,谁帮忙看看?
取消只看楼主 加入收藏
mxstone
Rank: 1
来 自:广州
等 级:新手上路
帖 子:19
专家分:0
注 册:2014-8-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
char 用 if 判断貌似一直出问题,,谁帮忙看看?
void CheckData()                  /*查询函数*/
{
        char inName[NUM1];
    char inNum[NUM1];
    char inTitle[NUM2];
    char inWage[NUM2];

        ifstream ifile;
        ifile.open("WageMessage.dat",ios::binary);

        int iDelcount=0;
        int j=0;
    int p=0;
    int iFileLength=0;
    char tmpd[128];         /*临时变量(关键词)*/
        
    iFileLength=GetFileLength(ifile);     /*调用获得文件长度函数*/
        iDelcount=iFileLength/(NUM1+NUM1+NUM2+NUM2);/*获得记录数*/
        
        cout << "现有记录数为 :"<<iDelcount;
        cout << endl;
        cout <<"请输入查找关键词 :";
                cin >>tmpd;
        cout <<endl;
try
{     ifile.seekg(0,ios::beg);
      if(!ifile.fail())
      {  
          for(int i=0;i<iDelcount;i++)
         {
          memset(inName,0,NUM1);             /*将变量清零*/
          memset(inNum,0,NUM1);
          memset(inTitle,0,NUM2);
          memset(inWage,0,NUM2);

          ifile.read(inName,NUM1);          /*读取一组信息*/
          ifile.read(inNum,NUM1);
          ifile.read(inTitle,NUM2);
          ifile.read(inWage,NUM2);
          j=j+1;                       /*J用来判断是否到头了*/
         
          if(tmpd==inName||tmpd==inNum)       /*判断是否与关键词相同*/
          { cout <<"您所查询的信息为:"<<endl;
            cout <<endl;
            cout <<"姓名:"<<inName<<endl;
            cout <<"工号:"<<inNum<<endl;
            cout <<"职位:"<<inTitle<<endl;
            cout <<"工资:"<<inWage<<endl;
            p=p+1;
          }
          else p=0;

          if(j==iDelcount&&p==0)            /*再判断是否到末尾*/
          cout <<setw(24)<<"并未检索到有关信息请重新确认后再检索!"<<endl;
         }
       }
}
catch(...)
  {
          cout<<"抛出异常";
          throw"file error occurred";
          ifile.close();
   }
        ifile.close();
        WaitUser();
}





上面设了一个char的tmpd,输入后 在下面 我想用if 来对比是否和信息符合,符合就输出,不符合就执行别的操作,如果到最后都不符合就输出检索不到。 但运行的结果总是检索不到,我读取信息里面明明都有....之前做过一些改动,结果是所有信息都输出了。。。。。我就觉得应该是if这个判断有问题了..这是一个查询功能,附带运行图片....求教
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 mxstone 于 2014-8-19 03:19 编辑 ]
搜索更多相关主题的帖子: 关键词 关键词 
2014-08-19 03:17
mxstone
Rank: 1
来 自:广州
等 级:新手上路
帖 子:19
专家分:0
注 册:2014-8-19
收藏
得分:0 
回复 2 楼 stop1204
嗯,大概知道自己错哪了。 对了,那我这里错的,其实它是在比较地址是麼?而不是对字符串在比较.

始乱终弃.
2014-08-19 11:10
mxstone
Rank: 1
来 自:广州
等 级:新手上路
帖 子:19
专家分:0
注 册:2014-8-19
收藏
得分:0 
回复 5 楼 embed_xuel
问题解决了,恩改成了if(strcmp(tmpd,inName)==0||strcmp(tmpd,inNum)==0).就可以了。哈哈, 谢谢.

始乱终弃.
2014-08-19 12:00
快速回复:char 用 if 判断貌似一直出问题,,谁帮忙看看?
数据加载中...
 
   



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

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