c++文件流(txt文件处理)
来源:互联网 发布:幼儿园宣传制作软件 编辑:程序博客网 时间:2024/05/17 02:48
//解题思路:(按C++语言特性表述)
//1.读取1.txt文件的前两列
//2.按照题中要求把符合要求的数存放在一个数组中
//3.把十进制数组转化为字符串形式并以文件的方式输出。
#include<iostream>
#include<string.h>
#include<stdlib.h>
#include<fstream>
using namespace std;
const float PI=3.14;
char a[200][50];
float b[200][5],res[140][3];//1.txt前两列数字,存放结果集数组 (十进制)
//按题中要求,求出目标的三列数字(十进制)
void result(float b[][5],float res[][3])
{
int i,j,k;
for(i=0;i<135;i++)
{
if(i<27)
{
res[0][0]=3;res[i][1]=2;res[i][2]=2*PI*b[i][0]/b[i][2]*2;
res[i+1][0]=res[i][0]+2;
}
if(i>=27&&i<51){
res[27][0]=6;res[i][1]=4;res[i][2]=2*PI*b[i][0]/b[i][2]*4;
res[i+1][0]=res[i][0]+2;
}
if(i>=51&&i<72){
res[51][0]=9;res[i][1]=6;res[i][2]=2*PI*b[i][0]/b[i][2]*6;
res[i+1][0]=res[i][0]+2;
}
if(i>=72&&i<90){
res[72][0]=12;res[i][1]=8;res[i][2]=2*PI*b[i][0]/b[i][2]*8;
res[i+1][0]=res[i][0]+2;
}
if(i>=90&&i<105){
res[90][0]=15;res[i][1]=10;res[i][2]=2*PI*b[i][0]/b[i][2]*10;
res[i+1][0]=res[i][0]+2;
}
if(i>=105&&i<117){
res[105][0]=18;res[i][1]=12;res[i][2]=2*PI*b[i][0]/b[i][2]*12;
res[i+1][0]=res[i][0]+2;
}
if(i>=117&&i<126){
res[117][0]=21;res[i][1]=14;res[i][2]=2*PI*b[i][0]/b[i][2]*14;
res[i+1][0]=res[i][0]+2;
}
if(i>=126&&i<132){
res[126][0]=24;res[i][1]=16;res[i][2]=2*PI*b[i][0]/b[i][2]*16;
res[i+1][0]=res[i][0]+2;
}
if(i>=132&&i<135){
res[132][0]=27;res[i][1]=18;res[i][2]=2*PI*b[i][0]/b[i][2]*18;
res[i+1][0]=res[i][0]+2;
}
}
}
//读取1.txt文件提取前两列
void f(char a[][50],int row)
{
int i,j;
for(i=0;i<row;i++)//
{
int konge=0,fushu=0;
float number=0,number1=0,number2=0;
for(j=0;j<strlen(a[i]);j++)
{
if(a[i][j]==' ')
{
if(fushu==1)
{
b[i][konge++]=-(number1+number*0.01);
}
else
b[i][konge++]=number1+number*0.01;
number=0;number1=0;
continue;
}
if(a[i][j]=='.')
{
number1=number;
number=0;
continue;
}
if(a[i][j]=='-')
{
fushu=1;
continue;
}
number=number*10+(a[i][j]-'0');
}
}
}
int main()
{
int i=0,j=0,k;
char ch,cres[100];
ifstream filein("1.txt");//读入文件
ofstream fileout("daan.txt");//输出文件
while(filein.get(ch))
{
a[i][j++]=ch;
if(ch=='\n')
{
j=0;
i++;
}
}
k=i;
filein.close();
f(a,k);//读出1.tx文件中的前两列,存入数组b[][]中
result(b,res);//
char cha;
//把结果数组十进制形式转化为字符串形式,方便txt形式文件读出
for(i=0;i<135;i++)
{
for(j=0;j<3;j++)
{
//初始化字符串
memset(cres,0,100);//整数形式转化为字符串形式
if(j==2){
gcvt(res[i][j],5,cres);//浮点数的数字转化为字符串
}
else
itoa(res[i][j],cres,10);
for(k=0;k<strlen(cres);k++)
{
cha=cres[k];
fileout<<cha;
}
fileout<<' ';
}
fileout<<'\n';
}
fileout.close();
return 0;
}
- c++文件流(txt文件处理)
- PHP 处理 TXT 文件
- C++处理txt文件
- python处理txt文件
- java文件处理 之 读写TXT(比之c++,重置文件头,int转string)
- C#--读取txt文件
- 【c#】读写txt文件
- C++ fstream流批量处理txt文件
- 第十五章,读取txt文件(C++)
- C#封装Txt文件处理
- java NIO 处理 txt文件
- txt文件非法字符处理
- python导入处理txt文件
- java处理txt文件,并生成文件
- java 利用输入输出流处理txt文件,并生成新txt文件
- C语言生成TXT文件
- C语言读写txt文件
- C++ c创建txt文件
- atitit.提升开发效率---动态语言总结
- 【linux】文件断点上传功能 客户端和服务器端实现
- atitit.js 各版本 and 新特性跟浏览器支持报告
- hdu 1863(最小生成树)
- Qt浅谈之一:内存泄露(总结)
- c++文件流(txt文件处理)
- opencv中关于图像图像处理时出现Bad argument (Array should be the cvMat or IplImage) in unknown function ……错误的解决办法
- C#中Array与ArrayList与泛型数组 list<>的区别
- c#编程 datagridview显示数据的两种方法
- 网络安全综合性实验 - 分部通过IPSec VPN访问总部的两个网段
- atitit.软件开发方法总结O6
- text-align,word-space,letter-space
- 组合模式
- 函数指针----函数int (*f)(int x); double (*ptr)(double x); 指针函数---指针