私は学校の課題に取り組んでいますが、その一部で少し行き詰まっています。分子に0が入力されるまで、ユーザーに必要な数の分数を入力してもらい、それらの分数を作成した構造に保存する必要があります。
ユーザー入力をスペースで保存し、次に「/」で保存するために使用するc文字列をstrtokで分割しようとしましたが、非常に行き詰まり、適切な出力を取得できませんでした(以下のコードはmain( )実行時エラーがあり、2番目のforループは明らかにdenに適切なものを割り当てるのに失敗します)。
これを達成するための最も簡単な方法は何でしょうか。
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
struct Fraction
{
int num, den;
};
int main()
{
Fraction* fractions[100];
char s[100] ;
cout << "Enter fractions (end by entering a 0): ";
cin >> s;
const char* p;
int count = 0;
for (p = strtok( s, " " ); p; p = strtok( NULL, "," ))
{
const char* frac = p;
for (frac = strtok( s, " " ); frac; frac = strtok( NULL, "/" ))
{
fractions[count]->num = (int)frac;
count++;
}
}
return 0;
}