24小时热门版块排行榜    

查看: 969  |  回复: 9

xiaowu787

木虫 (正式写手)

[交流] 【求助】帮忙看一段程序 已有5人参与

现在刚学习c++,写个小程序准备处理一下数据(暂时未做处理):
从一个文件向另一个文件按照格式写入,但是没有实现--就是小数点保留四位,有效数字位数不固定,每个数据占9个字符,帮忙看一下哪里有问题,该如何实现?谢谢!!
CODE:
#include
#include
#include
using namespace std;
int main()
{
  void read1();
  read1();
  return 0;
}
//
void read1()
{
  int i;
  double a[18];
  ifstream read("data.dat",ios::in);
  for(i=0;i<18;i++)
     {
     read>>a[i];
     if(i<2)
       {
       ofstream write("dat.dat",ios::app);
       write<        }
     else if(i>=2&&i<10)
       {
       ofstream write("dat.dat",ios::app);
       write<        }
     else if(i==10)
       {
       ofstream write("dat.dat",ios::app);
       write<        }
     else
       {
       ofstream write("dat.dat",ios::app);
       write<        }
     }
}

data.dat格式如下:

  1  2 167.1752   0.0000   0.0000  -0.4421   0.0000   1.0000   6.0000   0.5969  
        17.4194   1.0000   0.0000   1.0000  -0.0099   8.5445   0.0000   0.0000

[ Last edited by nono2009 on 2010-9-25 at 06:47 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stephenliu89

银虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与应助! 2010-09-23 18:39:18
把当成字符串来读呢?
读到' '就判断为一个数字的结束
Email:stephenliu1989@163.com
2楼2010-09-22 23:48:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与应助! 2010-09-23 18:39:27
楼主写的是文本还是二进制?
如果是二进制数据,那data.dat的那段东西是哪里来的?

二进制数据是不需要设置格式的,你只需要显示的时候处理格式就可以了
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
3楼2010-09-23 12:05:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaowu787

木虫 (正式写手)

引用回帖:
Originally posted by magic7004 at 2010-09-23 12:05:39:
楼主写的是文本还是二进制?
如果是二进制数据,那data.dat的那段东西是哪里来的?

二进制数据是不需要设置格式的,你只需要显示的时候处理格式就可以了

是文本格式,输出时格式控制不住呀?
4楼2010-09-24 21:20:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaowu787

木虫 (正式写手)

引用回帖:
Originally posted by stephenliu89 at 2010-09-22 23:48:32:
把当成字符串来读呢?
读到' '就判断为一个数字的结束

数据很多,那么多字符串输出时感觉不好处理呀!
5楼2010-09-24 21:22:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stephenliu89

银虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by xiaowu787 at 2010-09-24 21:22:12:



数据很多,那么多字符串输出时感觉不好处理呀!

写一个函数嘛,处理多少数据都是一样的
Email:stephenliu1989@163.com
6楼2010-09-24 21:25:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaowu787

木虫 (正式写手)

引用回帖:
Originally posted by stephenliu89 at 2010-09-24 21:25:29:

写一个函数嘛,处理多少数据都是一样的

就是小数点保留四位,有效数字位数不固定,每个数据占9个字符,C++怎么实现,在C里有%9.4f可以实现?C++用set怎么设置不成功?请指点?
7楼2010-09-24 22:41:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluewhale

铁杆木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
C++ prime里好像有介绍。

[ Last edited by bluewhale on 2010-9-24 at 23:11 ]
8楼2010-09-24 23:07:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stephenliu89

银虫 (小有名气)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2):谢谢参与应助! 2010-09-25 23:11:31
引用回帖:
Originally posted by xiaowu787 at 2010-09-24 22:41:20:


就是小数点保留四位,有效数字位数不固定,每个数据占9个字符,C++怎么实现,在C里有%9.4f可以实现?C++用set怎么设置不成功?请指点?

#include
#include
#include
using namespace std;
int main()
{
float i = 123.253;
cout.setf(ios_base::fixed, ios_base::floatfield);
cout.precision(2); //设置要保留的小数位数
cout << i;
return 0;
}
Email:stephenliu1989@163.com
9楼2010-09-25 00:45:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

burkut65

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009:专业区请勿灌水。谢谢。 2010-09-25 06:49:34
不知道!
10楼2010-09-25 01:16:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaowu787 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见