找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1423|回复: 7

[求助]C++一道练习题 我做不出来

[复制链接]
发表于 2009-11-4 00:36:45 | 显示全部楼层 |阅读模式 IP:江苏扬州
有一些日期,在文件 abc.txt 中,后面加*号的表示要加班的日期,试汇总所有每个月25号的天数(这句就不懂写些什么),如果是加班日,则该天乘以2.
abc.txt 文件内容为
oct. 25 2003
oct. 26 2003
sep. 12 2003*
juy. 25 2002*
app. 25 2004
我想用 string 做, ifstream in("abc.txt"); for (string s;getline(in,s);) 再用 for(istringstream cin(s);cin>>a;)
但是输出的 a类型有 char 和 int, 不知道怎么定义它的类型? 我想分开定义,先定义a为char,输出 char 的部分!我直接试过输出a 但什么都没输出来! 改为 int ,double 都什么不能输出来!我比较菜,可能想法都是错的!希望大家帮我做做这题!我看看怎么实现的! 这个不是作业哈! 再次感谢大家对我的帮助!
发表于 2009-11-4 00:36:46 | 显示全部楼层 IP:江苏扬州
以下是引用隐藏着的某人在2006-10-17 10:24:51的发言:

如果是加班日,则该天乘以2.

是说如果25号是加班日,则算两天 吗?
回复

使用道具 举报

发表于 2009-11-4 00:36:47 | 显示全部楼层 IP:江苏扬州
如果是的话
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
ifstream infile("D:\\abc.txt");
if(!infile)
{
cout<<"abc.txt can't open.\n";
return 0;
}
string line,find = "25";
int count = 0;//统计25号的天数
while(getline(infile,line))
{
istringstream stream(line);
string month,day,year;
stream>>month;
stream>>day;
stream>>year;
const char * p = year.c_str();
int i = year.size();
if(day == find)
{
count++;
if(p[i-1] == '*')//如果有*标住的话,再加一天
count++;
}
}
infile.close();
cout<<count<<endl;
return 0;
}
回复

使用道具 举报

发表于 2009-11-4 00:36:48 | 显示全部楼层 IP:江苏扬州
谢谢了哈~~~又麻烦你!!呵呵~~~~
我会仔细研究的!!在次感谢!!!
回复

使用道具 举报

发表于 2009-11-4 00:36:49 | 显示全部楼层 IP:江苏扬州
#include"iostream"
#include"fstream"
using namespace std;
int main()
{
ifstream infile("abc.txt");int sum=0;
for(string str;getline(infile,str);)
{
if(str.find("25")!=-1)
{
++sum;
if(str.find('*')!=-1)++sum;
}
}
cout<<sum;cin.get();
}
回复

使用道具 举报

发表于 2009-11-4 00:36:50 | 显示全部楼层 IP:江苏扬州
我也不会
回复

使用道具 举报

发表于 2009-11-4 00:36:51 | 显示全部楼层 IP:江苏扬州
用freeforever的,
我的程序太丑陋了
回复

使用道具 举报

发表于 2009-11-4 00:36:53 | 显示全部楼层 IP:江苏扬州
wangxiang 写的是有点复杂,(我看了很久,你用到的知识很多).但是,不是一般人能写这么多的!可见他知识之广,博览群书,他一定是个高手!
freeforever 写的非常精妙啊!!字字珠玑!!深不可测啊!!是个非常聪明的人啊!!!
本人鉴定完毕!! 原来这么会……!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 21:36 , Processed in 0.191589 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表