Đây là code đơn giản phân số .
làm xong rồi nhưng thấy code onó ko giống như bài c++ , các bác sửa hộ em cho hợp lý nhé.
C++ Code:
#include <iostream> using namespace std ; class Fraction{ int num , de; public : void input(); int ucln(int a , int b); void donGian(int *a , int *b); void output(); }; void Fraction::input(){ } int Fraction::ucln(int a , int b){ int temp , uc; if(b == 0) uc = 0 ; else{ do{ temp = a % b ; a = b ; b= temp ; }while(temp != 0) ; uc = a ; } return uc ; } void Fraction::donGian(int *a , int *b){ int uc ; *a = num ; *b = de ; uc = ucln(*a , *b); *a = *a / uc ; *b = *b / uc ; num = *a ; de = *b ; } void Fraction::output(){ } int main(){ Fraction a ; int c , b ; a.input() ; a.donGian(&c , &b); a.output(); system("pause"); return 0 ; }
C++ Code:
#include <iostream> using namespace std ; class Fraction { private : int nu, de; public : Fraction() { } Fraction( int nu, int de ) :nu( nu ), de( de ) { } int ucln( int a , int b ) const { int temp , uc; if( b == 0 ) uc = 0; else { do { temp = a % b ; a = b ; b= temp ; } while( temp != 0 ); uc = a ; } return uc ; } void donGian( int *a , int *b ) { int uc; *a = nu; *b = de ; uc = ucln(*a , *b); *a = *a / uc; *b = *b / uc; nu = *a; de = *b; } void inputFrac( istream& in ) { in >> nu >> de; } void outputFrac( ostream& out ) const { out << nu << '\\' << de << '\n'; } }; ostream& operator <<( ostream& out, const Fraction& o ) { o.outputFrac( out ); return out; } istream& operator >>( istream& in, Fraction& i ) { i.inputFrac( in ); return in; } int main() { Fraction A( 3, 4 ); Fraction B; }