| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4583 人关注过本帖
标题:如何用EOF判断文件是否结束,我的程序哪里错了
取消只看楼主 加入收藏
WJHHHH
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-1-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
如何用EOF判断文件是否结束,我的程序哪里错了
问题描述
有一个由字符组成的文件,请输出其中字母的个数和数字的个数。
 
【输入格式】
  输入文件由不多于10^6个字符组成(文件是否结束可用流对象的成员函数eof来判断,若为文件结束则返回值为非0值,例如cin.eof()或fin.eof()为真则表示文件结束).
 
【输出格式】
 输出文件有两行,第一行是字符串中字母的个数;第二行是字符串中数字的个数。
 
【输入输出样例】
chardigit.in
dk!@#$f  j87&^%^34-3
 
chardigit.out
4
5



我的程序
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    freopen("chardigit.in","r",stdin);  
    freopen("chardigit.out","w",stdout);
    char n;
    int s=0,t=0;
    while(cin>>n,n!=EOF)
    {
        if('a'<=(char)(n)<='z'||'A'<=(char)(n)<='Z')  
            s=s+1;  
        if('1'<=(char)(n)<='9')  
            t=t+1;
    }
    cout<<s<<endl<<t;
    return 0;
}
搜索更多相关主题的帖子: include 字符串 如何 字母 
2016-03-01 15:54
WJHHHH
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-1-19
收藏
得分:0 
回复 2楼 wp231957
那我该怎么写
2016-03-01 18:14
WJHHHH
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-1-19
收藏
得分:0 
我的新程序  为什么数字多算了一个?
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    char n;
    int s=0;
    int t=0;
    ifstream fi("chardigit.in");
    ofstream fo("chardigit.out");
    while(!fi.eof())
    {
        fi>>n;
        if((n>='A'&&n<='Z')||(n>='a'&&n<='z'))
            s++;
        else if(n>='0'&&n<='9')
            t++;
    }
    fo<<s<<endl;
    fo<<t;
    return 0;
}
2016-03-01 19:20
WJHHHH
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-1-19
收藏
得分:0 
那我该怎么写    老师没讲    说这道题不对  但我想尝试一下
2016-03-02 19:02
快速回复:如何用EOF判断文件是否结束,我的程序哪里错了
数据加载中...
 
   



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

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