CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

老师布置的作业出问题啦!

楼主csgasdfg(EarnSomething)2005-06-01 12:33:25 在 C/C++ / C++ 语言 提问

要求:查找文件中特定单词的数量。要求用到vector和string   类的"==".  
    我写的代码:  
  #include<iostream>  
  #include<fstream>  
  #include<string>  
  #include<vector>  
  using   namespace   std;  
   
        int   main()  
        {  
     
            int   j=0;  
            string   str;  
    vector<string>   v;  
    ifstream   in("TestFile.txt");  
          while   (in>>str)//每次读入一个单词;  
  v.push_back(str);  
        for(int   i=0;i<v.size();i++)  
        {    
        if(v[i]=="copy")  
                  j++;      
         
        }  
                            cout<<j<<endl;  
        }  
    TestFile.txt   文件的内容是:  
    copy   copy   copy   copy,   enter   this   is   a   test   file.  
  出现的问题:结果为3,我想是因为最后一个copy后面有个逗号.高手来改下,让它过滤掉这个逗号啊! 问题点数:30、回复次数:14Top

1 楼sunman1982(冥王星)回复于 2005-06-01 12:39:04 得分 0

#include<iostream>  
  #include<fstream>  
  #include<string>  
  #include<vector>  
  using   namespace   std;  
   
        int   main()  
        {  
     
            int   j=0;  
            string   str;  
    vector<string>   v;  
    ifstream   in("TestFile.txt");  
          while   (in>>str)//每次读入一个单词;  
  v.push_back(str);  
        for(int   i=0;i<v.size();i++)  
        {    
        if(v[i]=="copy"||v[i]=="copy,")//呵呵  
                  j++;      
         
        }  
                            cout<<j<<endl;  
                            system("pause");  
        }  
  顺便一问     楼主你大几     学习什么专业的?Top

2 楼sunman1982(冥王星)回复于 2005-06-01 12:40:08 得分 0

或者你在copy后面加个空格     因为string是按照空格来划分的Top

3 楼sunman1982(冥王星)回复于 2005-06-01 12:40:58 得分 0

我得意思是  
  TestFile.txt   文件的内容是:  
    copy   copy   copy   copy   ,   enter   this   is   a   test   file.  
  这样Top

4 楼csgasdfg(EarnSomething)回复于 2005-06-01 12:41:05 得分 0

这么快啊!我刚大2呢!软件专业的!  
   
  谢谢了哈!Top

5 楼goodboy1881(积木)(谁都别拦着我在水源升星)回复于 2005-06-01 12:41:38 得分 25

根据你这样的情况,你可以写如下的代码  
   
  if(v[i].substr(0,4)=="copy")Top

6 楼csgasdfg(EarnSomething)回复于 2005-06-01 12:42:58 得分 0

我晕!要是别的标点符号怎么办啊!Top

7 楼lbing7(向青润老大学习!!!)回复于 2005-06-01 12:43:52 得分 5

我晕!  
   
  去改人家的题目了!!  
   
  .....................................  
  你在读文件的时候能不能一个字符一个字符的读?  
   
  读到空隔或者非字符再将前面的单词赋给string?  
   
  这样不用去改人家的题目Top

8 楼csgasdfg(EarnSomething)回复于 2005-06-01 12:44:29 得分 0

哪个testfile文件是我随便写的啊~~~不是老师给的哦~Top

9 楼majcos(千里之行,始于足下)回复于 2005-06-01 12:44:41 得分 0

不知道C++里面有没有正则表达式的类,用正则表达式比较方便Top

10 楼foochow(无聊,灌水......)回复于 2005-06-01 12:48:26 得分 0

goodboy1881(三井寿)(快要闭关了)   的方法不错Top

11 楼sunman1982(冥王星)回复于 2005-06-01 12:51:59 得分 0

回复人:   goodboy1881(三井寿)(快要闭关了)   (   )   信誉:105     2005-06-01   12:41:00     得分:   0      
     
     
        根据你这样的情况,你可以写如下的代码  
   
  if(v[i].substr(0,4)=="copy")  
       
     
  ------------------  
  可是要是这种情况呢  
  copy   ,copy   ......Top

12 楼cmoring(my study will go on)回复于 2005-06-01 13:04:04 得分 0

if   (v[i].substr(0,4)   ==   "copy"   )     可以的,即使是copy   ,copy   ......也成,sting按空格分开每一个串的。  
  Top

13 楼sunman1982(冥王星)回复于 2005-06-01 13:09:12 得分 0

楼上你可能看错了   后面那个逗号是和copy连在一起了   呵呵     所以   不可以Top

14 楼csgasdfg(EarnSomething)回复于 2005-06-01 23:14:24 得分 0

谢谢各位的指教Top

相关问题

  • 老师布置的作业!
  • 老师布置的作业,各位哥哥姐姐,帮帮我。
  • 老师布置了这样的作业,我看不太懂。。。
  • 老师布置的作业:现代web信息处理技术的综述
  • 今天老师布置的作业,哪位达人进来看看~
  • [100分请帮忙]这几天考试,同学结婚,乱七八糟事太多,老师布置的作业没时间查资料了,谁能帮忙?
  • [100分请帮忙]这几天考试,同学结婚,乱七八糟事太多,老师布置的作业没时间查资料了,谁能帮忙?
  • [100分请帮忙]这几天考试,同学结婚,乱七八糟事太多,老师布置的作业没时间查资料了,谁能帮忙?
  • 软件工程课老师布置的大作业,好多技术一点不懂,请有经验的软件人推荐几本书或方向
  • 帮忙看看老师的作业

关键词

  • vector
  • ifstream
  • testfile
  • str
  • 读入一个单词
  • back
  • include
  • push
  • txt
  • using namespace std

得分解答快速导航

  • 帖主:csgasdfg
  • goodboy1881
  • lbing7

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo