消息关闭
    暂无新消息!
c++初学者,之前对c++完全没有了解,其他的编程也知之甚少。现在研究生老师让我去改之前一个做的一个计算软件的程序,赶鸭子上架,遇到了困难,实在没办法,只得上论坛求助,希望各位大大帮忙解答一下,十分感谢!

“工况选择:0
 发动机转速:1000
 档位:3”
上面冒号里面的是我txt中的一部分,我现在要用c++读取txt文件中,每一行的“:”之后的数字,并给他们分别复制变量。试了一些方法,用getline函数不能解决,下面是我结合网上的办法写的函数。
#include <iostream>  
#include <fstream>  
#include <stdlib.h>  
using namespace std;  

double sg[100];
int i;

void main()
{
fstream infile;
infile.open("1.txt",ios::in);
if(!infile)
{
cout<<"can't open.\n";
abort();
}
char s[80];
i=0;
while(!infile.eof())
{
i=i+1;
infile.getline(s,line,':');
cout<<s<<endl;
sscanf(s,"%f",&sg[i]);
cout<<sg[i]<<endl;

}
infile.close();
}

我还用fopen函数谢了,但还是不能用,不知道怎么回事,下面是我用fopen写的函数,调试的时候还是结果全是0,不知道怎么回事。
#include <iostream>  
#include <fstream>  
#include <stdlib.h>  
using namespace std;  

double ne
int gk;
int sg;
void main()
{
FILE *fpara; 
fpara=fopen("1.txt","r");
fscanf(fpara,"工况选择:%d",&gk);
fscanf(fpara,"发动机转速:%lf",&ne);
fscanf(fpara,"档位:%d",&sg);
fclose(fpara);
}


5个回答

︿ 3
fscanf(fpara,"工况选择:%d",&gk);
fscanf(fpara,"发动机转速:%lf",&ne);
fscanf(fpara,"档位:%d",&sg);
//改为
fscanf(fpara,"工况选择:%d",&gk);
fscanf(fpara,"发动机转速:%lf",&ne);
fscanf(fpara,"档位:%d",&sg);
︿ 1
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)

如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
︿ 0
全角和半角的区别,是初学者最容易犯的错误之一。
还有就是循环控制,初学者是很难把握的,经常出现数组越界或者死循环的情况。