Skip to content

Instantly share code, notes, and snippets.

@amaya382
Last active August 29, 2015 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amaya382/6ccb3648510062930b81 to your computer and use it in GitHub Desktop.
Save amaya382/6ccb3648510062930b81 to your computer and use it in GitHub Desktop.
第2回c#講習会演習の一部(サンプル)
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