《《C面向對象程序設計》課程設計報告.doc》由會員分享,可在線閱讀,更多相關《《C面向對象程序設計》課程設計報告.doc(14頁珍藏版)》請在裝配圖網上搜索。
1、
《C++面向對象程序設計》課程設計報告
題 目: 分數計算器設置
班 級: K0312415
專 業(yè): 計算機科學與技術
學 號: K031241521
K031241535
姓 名: 周林
指導教師:
小組成員: 周林,張齊滿
2、
二O一三 年 10 月 15 日
一、課程設計問題描述
分數計算器設計是高等學校教務管理的重要組成部分,其內容較多,為了簡化計論,要求設計的管理系統(tǒng)能夠完成以下功能:
(1)定義整數類和分數類。其中,包括構造函數、析構函數、顯示函數等。
(2)輸入/輸出:對流提取和流插入運算符進行重載。
(3)計算功能:可進行分數的加、減、乘和除法運算。
(4)化簡功能:將分數化簡為最簡分數。
(5)異常處理功能:分數中分母不能為零。
(6)菜單功能:每種功能的操作都是在菜單中進行相應選擇。
二、課程設計目的和要求:
經過一個學期的《C++面向對象
3、程序設計》課程的學習,已經有了一定地程序設計基礎,但是要學好C++面向對象程序設計這門課程,不僅要認真閱讀課本知識和從事課堂學習,更重要的是要進行上機實踐,通過上機實踐才能增強和鞏固知識。
三、系統(tǒng)設計(算法分析)
1、 系統(tǒng)由5功能,可分別執(zhí)分數的.加法運算, 減法運算 ,.乘法運算 和除法運算,還可以將分數化簡。
1.加法運算可計算兩個分數相加。
2.減法運算可計算兩個分數相減。
3.乘法運算可計算兩個分數相乘。
4.除法運算可計算兩個分數相除。
5.化簡運算可計算一個分數化簡。
2、流程圖
主菜單
加法運算
減法運算
4、
成法運算
除法運算
結束
分母是否為0
是
否
技術輸出結果
3、分數計算器設置各函數的功能和實現(xiàn)的相關功能由對應的函數來實現(xiàn)。
(1) 函數jia()實現(xiàn)分數加法運算。
(2)函數jian()實現(xiàn)分數減法運算。
(3)函數cheng()實現(xiàn)分數乘法運算。
(4)函數chu()實現(xiàn)分數除法運算。
(5)函數shuchu()實現(xiàn)分數的輸出和化簡。
四、程序源代碼
// 分數管理系統(tǒng).cpp : Defines the entry point for the console ap
5、plication.
//
#include "stdafx.h"
#include "fenshu.h "
#include "zhengshu.h"
int main(int argc, char* argv[])
{
fenshu aa;
return 0;
}
// zhengshu.h: interface for the zhengshu class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ZHE
6、NGSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_)
#define AFX_ZHENGSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class zhengshu
{
public:
zhengshu();
virtual ~zhengshu();
};
#endif // !defined(AFX_ZHEN
7、GSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_)
// zhengshu.cpp: implementation of the zhengshu class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "zhengshu.h"
//////////////////////////////////////////////////////////////
8、////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
zhengshu::zhengshu()
{
}
zhengshu::~zhengshu()
{
}
// fenshu.h: interface for the fenshu class.
//
//////////////////////////////////////////////////////////////////////
#i
9、f !defined(AFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_)
#define AFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "zhengshu.h"
class fenshu : public zhengshu
{
public:
fenshu();
i
10、nt disply();
int jia();
int jian();
int cheng();
int chu();
int a,s,d,f;
int k,l;
//0 int q,w;
int shuchu(int q,int w);
virtual ~fenshu();
};
#endif // !defined(AFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_)
// fenshu.cpp: implementation of th
11、e fenshu class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "fenshu.h"
#include "iostream"
using namespace std;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
/////////////////
12、/////////////////////////////////////////////////////
fenshu::fenshu()
{
disply();
}
fenshu::~fenshu()
{
}
int fenshu::disply()
{
while(!0)
{
int i;
system("pause");
system("cls");
cout<<"_______________ 分數計算器__________\n"<
13、減法運算"<>i;
if(i==5)
{
cout<<"請輸入兩個數,分子在前"<>a>>s;
shuchu(a,s);
}
else
{
cout<<"請輸入四個數,
14、分子在前"<0 && i<7)
cin>>a>>s>>d>>f;
if(s==0||f==0)
cout<<"輸入錯誤"<
15、;
shuchu(k,l);
return 0;
}
fenshu::jian()
{
k=a+d;
l=s+f;
shuchu(k,l);
return 0;
}
fenshu::cheng()
{
k=a*d;
l=s*f;
shuchu(k,l);
return 0;
}
fenshu::chu()
{
if(f=0)
{ cout<<"輸入錯誤"<
16、 return 0;
}
fenshu::shuchu(int q,int w)
{
int p;
if(q>w)
p=w;
else
p=q;
for(int i=p;i>1;i--)
{
if(q%i==0 && w%i==0)
{
q=q/i;
w=w/i;
}
}
cout<<"結果為"<