Last active
August 29, 2015 14:01
-
-
Save amaya382/6ccb3648510062930b81 to your computer and use it in GitHub Desktop.
第2回c#講習会演習の一部(サンプル)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
using System.Threading.Tasks; | |
namespace ConsoleApplication4 | |
{ | |
class Fraction | |
{ | |
#region プロパティ その1 | |
//private int _denominator; | |
//public int Denominator | |
//{ | |
// get { return _denominator; } | |
// set { _denominator = value; } | |
//} | |
//private int _numerator; | |
//public int Numerator | |
//{ | |
// get { return _numerator; } | |
// set { _numerator = value; } | |
//} | |
#endregion | |
#region プロパティ その2-自動プロパティver.(推奨) | |
public int Denominator | |
{ | |
get; | |
private set; | |
} | |
public int Numerator | |
{ | |
get; | |
private set; | |
} | |
#endregion | |
public Fraction(int numerator, int denominator) | |
{ | |
//if (denominator == 0) throw new Exception(); | |
Denominator = denominator; | |
Numerator = numerator; | |
} | |
static public Fraction Create(int numerator, int denominator) | |
{ | |
return new Fraction(numerator, denominator); | |
} | |
public void Show() | |
{ | |
Console.WriteLine(Numerator + "/" + Denominator); | |
} | |
#region 四則演算 その1 | |
public Fraction Add(Fraction frac1, Fraction frac2) | |
{ | |
int numerator1 = frac1.Numerator * frac2.Denominator; | |
int numerator2 = frac2.Numerator * frac1.Denominator; | |
int denominator = frac1.Denominator * frac2.Denominator; | |
return new Fraction(numerator1 + numerator2, denominator); | |
} | |
public Fraction Subtract(Fraction frac1, Fraction frac2) | |
{ | |
int denominator = frac1.Denominator * frac2.Denominator; | |
int numerator1 = frac1.Numerator * frac2.Denominator; | |
int numerator2 = frac2.Numerator * frac1.Denominator; | |
return new Fraction(numerator1 - numerator2, denominator); | |
} | |
public Fraction Multiply(Fraction frac1, Fraction frac2) | |
{ | |
return new Fraction(frac1.Numerator * frac2.Numerator, frac1.Denominator * frac2.Denominator); | |
} | |
public Fraction Divide(Fraction frac1, Fraction frac2) | |
{ | |
//if (frac2.Numerator == 0) throw new DivideByZeroException(); | |
return new Fraction(frac1.Numerator * frac2.Denominator, frac1.Denominator * frac2.Numerator); | |
} | |
#endregion | |
#region 四則演算 その2(推奨) | |
public Fraction Add(Fraction frac) | |
{ | |
int numerator1 = this.Numerator * frac.Denominator; | |
int numerator2 = frac.Numerator * this.Denominator; | |
int denominator = this.Denominator * frac.Denominator; | |
return new Fraction(numerator1 + numerator2, denominator); | |
} | |
public Fraction Subtract(Fraction frac) | |
{ | |
int denominator = this.Denominator * frac.Denominator; | |
int numerator1 = this.Numerator * frac.Denominator; | |
int numerator2 = frac.Numerator * this.Denominator; | |
return new Fraction(numerator1 - numerator2, denominator); | |
} | |
public Fraction Multiply(Fraction frac) | |
{ | |
return new Fraction(this.Numerator * frac.Numerator, this.Denominator * frac.Denominator); | |
} | |
public Fraction Divide(Fraction frac) | |
{ | |
if (frac.Numerator == 0) throw new DivideByZeroException(); | |
return new Fraction(this.Numerator * frac.Denominator, this.Denominator * frac.Numerator); | |
} | |
#endregion | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment