如何从文件中读取一个数据到C++程序中,并进行运算(在线等)

#include<iostream>
#include<fstream>
using namespace std;
main()
{
int i,j;
float a[4097];
FILE *fp;
if((fp=fopen("e:\\123.txt","r"))==NULL)
{
printf("1cannot open file!\n");
return 0;
}
for(j=1;j<=4096;j++)
fscanf(fp,"%f",&a[j]);
fclose(fp);
float x,R=0.5,b;
x=a[j];
if(x>R)
b=12.56*(1+0.75*(x/R)*(x/R));
else
{
b=12.56*(0.5*(R/x)*(R/x)*(R/x)+0.5625*(R/x)*(R/x)*(R/x)*(R/x)*(R/x));
}

cout<<"b="<<b<<endl;
}
高手给看看;

第1个回答  2009-05-14
其实从文件读的数据一般都是字符,要想进行运算必须进行处理
string s;
ifstream infile;
infile.open("test.txt");//
while(getline(infile,s))
{
int a; //存放数据
for( istringstream sin(s) ; sin>>a ; a=a-"0");//你可以添加运算
}
不知道是不是你想要的
如果你是想读取表达式进行运算,那就比较麻烦了
第2个回答  2009-05-14
假设

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main()
{
string str;
ifstream infile("number.txt",ios::binary);

int number[65536] = {0};
infile>>str;
int i=0;
while(1)
{
number[i++] = atoi(str.c_str());
infile>>str;
if( str.empty() ) break;
}

return 0;
}
至于读取指定的第n行数据,肯定需要一个参数n,ifstream有个函数getline但没这个参数,只能这样略过n-1行后再读的就是第n行:(
for(int i=0; i<n-1; i++) infile.getline(buffer, 1024);
第3个回答  2009-05-14
经过for循环后,j= 4097,所以下面的语句导致数组访问越界。
x=a[j];本回答被提问者采纳
第4个回答  2009-05-14
char sRead[1024];
CFile mFile(_T("file.txt"),CFile::modeRead);
while (sRead!=null)
{
mFile.Read(sRead,1024);
CString strnum(sRead);
int num=atoi(strnum);
}

c++如何从TXT文件中吧数据读入到程序中结构体中
} STUDENT;然后你用这个结构去产生A.txt文件。再用这个结构读取就不会出错。一次读取sizeof(STUDENT)长度的数据。如果你的数据是手工生成的,那么你只能通过判断是不是空格来进行赋值。getline之后,取得一行,那么就判断哪个字符不是空格,然后按照设置的规则进行手动赋值就可以了。这个也不难实现。用两个...

c++的文件输入输出流中,能够从文件中读取数据的方法有哪些?
1.get()方法:get()方法是文件输入流中最基本的读取字符的方法。通过get()方法可以读取一个字符并将其放入字符变量中。语法:int get()2. getline()方法:getline()方法可以从文件输入流中读取一行数据,并将其存储在字符串变量中。语法:istream& getline(char* str, streamsize n)3. read()方法...

c++ 中如何读取文件 并使用文件中的数据
1、在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。3、向数据文件中写入一些演示用数据。4、标准库的输入输出类的关系。5、第一个操作读文件,我们可以...

如何将txt中的数据导入c++程序
void main (){ int n,i,a,b;float h1i,h2i;float s;i=0;n=h1i=h2i=0;cout<<"请输入N的值:"<<endl;cin>>n;freopen("a.txt","r",stdin);for(i=1;i<n+1;i++){ cout<<"请输入h1"<<i<<":";cin>>h1i;cout<<"正确输入1,错误输入0"<<endl;cin>>a;if(a==0){...

在使用C++编写的程序中,如何从一个文件把数据读入程序?
文件流类:(1) ifstream ifile:只输入用,它是从istream 类派生的。(2) ofstream ofile:只输出用,它是从ostream 类派生的。(3) fstream iofile:既输入又输出用,它是从iostream 类派生的。\/\/应用举例 include"iostream.h"include "fstream.h"include "stdlib.h"void main(){char s[100];...

请问C++ 如何从txt文件中读取数据,然后保存在类的数组中?
要声明一个信息(学生)类的数组然后再读文件,读文件大概代码如下:ifstream File_read;while(!File_read.eof()){ File_read>>data[i].num>>data[i].name>>data[i].score;i++;} 数组data是的类型是信息类。自己试试。

C++如何从文件中读取字符串
一般来说在C++语言中读取txt文件的信息有三种方法:1、使用C语言标准文件I\/O中的fopen()、fread()等等函数。示例如下(vc6.0下编译通过):include<stdio.h>FILE*stream;void main(void){long l;float fp;char s[81];char c; stream=fopen("fscanf.out","w+");if(stream==NULL)printf("The...

如何用C++对一个文本文档里面的许多数据进行逐行读取,并放入数组中
然后在下次非数字字符之前对逐个数字字符进行按值进位累加。若是要从任意一行开始读入的话,添加一个跳行函数就行了。如果你是用的清华版的那种C++教材,跳行函数在书中有的,我就不再赘述了。有了跳行函数,直接在主程序中添加一个循环,使用跳行函数就可以了。希望我的回答对你有帮助 ...

编写一个C++程序,进行模式匹配要求如下 可以从一个txt文档中读取...
这个是VC6的,VS2008也差不多:打开VC6,新建工程->MFCAppWizard(exe),假设工程名为Abc->选择SingleDocument,在第4步里点击Advanced,在FileExtension里填上txt,在第6步里,把CAbcView的父类改为CEditView,点Finish即可。这样编译生成的程序已经是一个功能完整的文本编辑器了。

C++如何逐行读取txt文件,并将读取出来的数据进行运算导入到另一个文件...
1、首先我们在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。3、向数据文件中写入一些演示用数据。4、读取文件。输入如下代码:运行下,看来我们读取成功了...

相似回答