E******T 发帖数: 59 | 1 找了半天,也没有看到怎样用I/O txt文件中读入分数如: 1/4,2/5等等
包子谢谢 |
A******g 发帖数: 612 | 2 maybe read as string and then parse
【在 E******T 的大作中提到】 : 找了半天,也没有看到怎样用I/O txt文件中读入分数如: 1/4,2/5等等 : 包子谢谢
|
E******T 发帖数: 59 | 3
能给个例子吗? 还有以后还要做运算,
【在 A******g 的大作中提到】 : maybe read as string and then parse
|
N***m 发帖数: 4460 | 4 你不就是一行行读入,然后parse?
may be you can try boost split
http://www.boost.org/doc/libs/1_41_0/doc/html/string_algo/usage
【在 E******T 的大作中提到】 : : 能给个例子吗? 还有以后还要做运算,
|
a********e 发帖数: 508 | 5 string word;
vector data;
while (input >> word) {
double x,y;
stringstream str(word);
str >> x;
str.ignore();
str >> y;
data.push_back(x/y);
}
【在 E******T 的大作中提到】 : 找了半天,也没有看到怎样用I/O txt文件中读入分数如: 1/4,2/5等等 : 包子谢谢
|
l*********s 发帖数: 5409 | 6 Better way is to declare a rational class and store the numerator and
denominators instead of the float value.
【在 a********e 的大作中提到】 : string word; : vector data; : while (input >> word) { : double x,y; : stringstream str(word); : str >> x; : str.ignore(); : str >> y; : data.push_back(x/y); : }
|
E******T 发帖数: 59 | 7
谢谢, 如果说我们想把x and y 分开,分别存放在两个变量里,因为如果用x/y就变成
了小数了,不
再是分数的形式了。
【在 a********e 的大作中提到】 : string word; : vector data; : while (input >> word) { : double x,y; : stringstream str(word); : str >> x; : str.ignore(); : str >> y; : data.push_back(x/y); : }
|
E******T 发帖数: 59 | 8
好像还不容易做,数组必须是2维的,才行吧? 不同分数的分子和分母
【在 l*********s 的大作中提到】 : Better way is to declare a rational class and store the numerator and : denominators instead of the float value.
|
l*********s 发帖数: 5409 | 9 2d array is certainly ok, though it is of C style, not C++ style.
【在 E******T 的大作中提到】 : : 好像还不容易做,数组必须是2维的,才行吧? 不同分数的分子和分母
|
H***a 发帖数: 735 | 10 Like littlebirds suggested, better define a class storing numerator and
denominators.
Then simply override ">>" operator for this class and you are all set. |
E******T 发帖数: 59 | 11
Thanks!
那可不可以像array一样的使用class? such as class1, class2, 用来保存1/2, 3/5
不同的
分数?
【在 H***a 的大作中提到】 : Like littlebirds suggested, better define a class storing numerator and : denominators. : Then simply override ">>" operator for this class and you are all set.
|
l*********s 发帖数: 5409 | 12 yes
5
【在 E******T 的大作中提到】 : : Thanks! : 那可不可以像array一样的使用class? such as class1, class2, 用来保存1/2, 3/5 : 不同的 : 分数?
|
E******T 发帖数: 59 | 13
thanks
【在 l*********s 的大作中提到】 : yes : : 5
|
c**b 发帖数: 2999 | 14 agree
class numdenum {
int num;
int denum;
public:.....
}
【在 l*********s 的大作中提到】 : Better way is to declare a rational class and store the numerator and : denominators instead of the float value.
|