15週間報告2
2787 ワード
(プログラムヘッダ注釈開始)*プログラムの著作権とバージョン宣言部分*Copyright(c)2011、煙台大学コンピュータ学院学生*All rights reserved.*ファイル名:*作者:呉瑕*完成日:2012年05月28日*バージョン番号:*タスクおよび解法の説明部分
*説明を入力:ウィンドウでスコアクラスを求める
実行結果:
上机感言:
窓口を作るのはやはり理解することが一番重要です!!これをやり終えた後、前よりずっと考えがはっきりしているような気がします.
*説明を入力:ウィンドウでスコアクラスを求める
MyCFriangle.h
class CFraction
{private:
int nume; //
int deno; //
public:
CFraction(int nu=0,int de=1); // ,
void Set(int nu=0,int de=1); // ,
void input(); // "nu/de" , "5/2"
void Simplify(); // ( )
int Get_nume(){return nume;}
int Get_deno(){return deno;}
CFraction operator+(CFraction &c);//
CFraction operator-(CFraction &c);//
CFraction operator*(CFraction &c);//
CFraction operator/(CFraction &c);//
};
MyCFriangle.cpp
#include"stdafx.h"
#include "MyCFriangle.h"
CFraction::CFraction (int nu, int de)//
{
nume=nu;
deno=de;
}
void CFraction::Set(int nu,int de)
{
nume=nu;
deno=de;
}
void CFraction::Simplify()
{
int i;
if(nume>deno)//
{
for(i=2;i<=nume;i++)
{
if(nume%i==0&&deno%i==0)
{
nume=nume/i;
deno=deno/i;
i=2;
}
}
}
else
for(i=2;i<=deno;i++)
{
if(nume%i==0&&deno%i==0)
{
nume=nume/i;
deno=deno/i;
i=2;
}
}
}
CFraction CFraction::operator+(CFraction &c)//
{
CFraction c1;
c1.deno=deno*c.deno;
c1.nume=nume*c.deno+c.nume*deno;
c1.Simplify();
return c1;
}
CFraction CFraction::operator-(CFraction &c)//
{
CFraction c1;
c1.deno=deno*c.deno;
c1.nume=nume*c.deno-c.nume*deno;
c1.Simplify();
return c1;
}
CFraction CFraction::operator*(CFraction &c)//
{
CFraction c1;
c1.deno=deno*c.deno;
c1.nume=nume*c.nume;
c1.Simplify();
return c1;
}
CFraction CFraction::operator/(CFraction &c)//
{
CFraction c1;
c.deno=c.nume;
c.nume=c.deno;
c1.deno=deno*c.deno;
c1.nume=nume*c.nume;
c1.Simplify();
return c1;
}
UpdateData();
CFraction c3,c1(c1_n,c1_d),c2(c2_n,c2_d);
if(f=='+')
{
c3=c1+c2;
}
if(f=='-')
{
c3=c1-c2;
}
if(f=='*')
{
c3=c1*c2;
}
if(f=='/')
{
c3=c1/c2;
}
c3_n=c3.Get_nume();
c3_d=c3.Get_deno();
UpdateData(FALSE);
}
#include "MyCFriangle.h"
実行結果:
上机感言:
窓口を作るのはやはり理解することが一番重要です!!これをやり終えた後、前よりずっと考えがはっきりしているような気がします.