分数を計算するという目標を達成するために構造体を適切に使用する方法がわかりません (必要です)。率直に言って、私は自分が何をしているのかよくわかりません。これは C++ の 3 番目のクラスにすぎず、途方に暮れています...これが私たちに割り当てられたタスクでした
enter() 関数は、ユーザーからの端数を受け入れます。simple() 関数は、可能であれば、受け取る分数を単純化します。display() 関数は、受け取った分数を表示します。
グローバル関数は Fraction 型を使用します。Fraction 型は、分数の分子と分母を個別のデータ メンバーとして保持します。
これは私のプログラムです。「cin」と「cout 」を除いてメインのみで、GCF関数は教授によって提供されました。他のすべての関数とメイン以外の構造体は自分でやろうとしました...
#include <iostream>
using namespace std;
void entry (int a, int b);
void simplify (double c);
void display(int x, int y)
int main()
{
struct Fraction fraction;
cout << "Enter a numerator: " << endl;
cin >> fraction.num;
cout << "Enter a denominator: " << endl;
cin >> fraction.den;
cout << "Fraction Simplifier" << endl;
cout << "===================" << endl;
enter(&fraction);
simplify(&fraction);
display(fraction);
}
struct Fraction {
int num;
int den;
}
struct Fraction fraction{
fraction.num;
fraction.den;
}
void display(int num, int den) {
cout << fraction.num << endl;
cout << fraction.den << endl;
}
// Great Common Factor (Euclid's Algorithm), provided by Professor
int gcf( int num1, int num2 )
{
int remainder = num2 % num1;
if ( remainder != 0 )
{
return gcf( remainder,num1 );
}
return num1;
}
これらは私のエラーです:
w2.cpp: In function 'int main()':
w2.cpp: 14: error: aggregate 'Fraction fraction' has incomplete type and cannot be defined
w2.cpp: 23: error: 'enter' was not declared in this scope
w2.cpp: At global scope: w2.cpp:35: error: function definition does not declare parameters
w2.cpp: In function 'void display(int, int)':
w2.cpp: 41: error: 'fraction' was not declared in this scope
本当に長い投稿で申し訳ありませんが、すべての助けをいただければ幸いです。また、自宅や講義中に読むことができる便利な C++ の本を誰かが教えてくれたら (言葉の壁のため、教授を十分に理解できないため)、感謝します。