求C++高手帮忙修改下代码,谢谢!!急啊!!

[复制链接]
查看11 | 回复2 | 2008-12-20 07:03:34 | 显示全部楼层 |阅读模式
就是编一个程序,将下面一团混乱的数据
TIME:
10: 49: 51
No:

118
CO2: 2
52 251 2
50 252 2
52 251 2
50 251
R
H: 079 079 079 08
0 080 08
0 080 07
9
TC: 32.
9 32.9 32.9 32.9
32.9 32
.9 32.9 32.9
TL:
32.8 32.
8 32.8 3
2.8 32.8
32.8 32
.8 32.8
PA: 0067 0044 0043 0051 0064 0057 0045 0053
Pn: 004.5 004.5 -09.1 000.0 004.5 004.5 001.5 005.0
T
r: 000.0
000.0 00
2.6 000.0 000.0
000.0 000.4 001.
0
We: 00.
0 00.0 -3.5 00.0
00.0 00
.0 -0.6
01.3
Con
d: 00.0 00.0 00.1
00.0 00
.0 00.0
00.0 0.0
2
整理成下边的格式:
TIME: 10: 49:51
No: 118
CO2: 252 251 250 252 252 251 250 251
RH: 079 079 079 080 080 080 080 079
TC: 32.9 32.9 32.9 32.9 32.9 32.9 32.9 32.9
TL: 32.8 32.8 32.8 32.8 32.8 32.8 32.8 32.8
PA: 0067 0044 0043 0051 0064 0057 0045 0053
Pn: 004.5 004.5 -09.1 000.0 004.5 004.5 001.5 005.0
Tr: 000.0 000.0 002.6 000.0 000.0 000.0 000.4 001.0
We: 00.0 00.0 -3.5 00.0 00.0 00.0 -0.6 01.3
Cond: 00.0 00.0 00.1 00.0 00.0 00.0 00.0 0.02。
这是我编的代码,我只能做到这下步了,求高手指教:
#include
#include
#include
#include
#include
const int SIZE = 60;
int main()
{
using namespace std;
char filename[SIZE];
ifstream inFile;
ofstream outFile;

outFile.open("004.txt");
cout>value;
if(isalpha(value[0])&&isupper(value[0]))
outFile<<endl<<value;
else

outFile<<value<<" ";
}

if(inFile.fail())
cout<<"文件异常终止!"<<endl;
inFile.close();
return 0;
}
求各位高手指点一下,很急啊!谢谢!!!

回复

使用道具 举报

千问 | 2008-12-20 07:03:34 | 显示全部楼层
关键问题是判断什么时候输入换行和什么时候输入空格。从数字转为字母时需要输入换行,而最后一个数字的长度等于要求的长度时需要输入空格。//下面的函数获取一个记录里每个数字要求的长度int getNumLen(ifstream inFile) //获得每个记录里每个数字的长度,如果无法获得,则返回0{int len = 0;int firstLine = 1;size_t found;string value, number;while (inFile.good()){inFile.get(value); //读取一行if (isalpha(value[0]) && !firstLine) break;...
回复

使用道具 举报

千问 | 2008-12-20 07:03:34 | 显示全部楼层
规则是不是这样: 变换后的每一行必须以大写英文字母开头,并且每一行:之前的英文字符数不得少于两个。 否则,就把后一行的所有内容移到该行,以便满足前述条件。 如果是这样,就很简单了!...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行