《《C面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告.doc(14頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告
題 目: 分?jǐn)?shù)計(jì)算器設(shè)置
班 級: K0312415
專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)
學(xué) 號: K031241521
K031241535
姓 名: 周林
指導(dǎo)教師:
小組成員: 周林,張齊滿
2、
二O一三 年 10 月 15 日
一、課程設(shè)計(jì)問題描述
分?jǐn)?shù)計(jì)算器設(shè)計(jì)是高等學(xué)校教務(wù)管理的重要組成部分,其內(nèi)容較多,為了簡化計(jì)論,要求設(shè)計(jì)的管理系統(tǒng)能夠完成以下功能:
(1)定義整數(shù)類和分?jǐn)?shù)類。其中,包括構(gòu)造函數(shù)、析構(gòu)函數(shù)、顯示函數(shù)等。
(2)輸入/輸出:對流提取和流插入運(yùn)算符進(jìn)行重載。
(3)計(jì)算功能:可進(jìn)行分?jǐn)?shù)的加、減、乘和除法運(yùn)算。
(4)化簡功能:將分?jǐn)?shù)化簡為最簡分?jǐn)?shù)。
(5)異常處理功能:分?jǐn)?shù)中分母不能為零。
(6)菜單功能:每種功能的操作都是在菜單中進(jìn)行相應(yīng)選擇。
二、課程設(shè)計(jì)目的和要求:
經(jīng)過一個(gè)學(xué)期的《C++面向?qū)ο?/p>
3、程序設(shè)計(jì)》課程的學(xué)習(xí),已經(jīng)有了一定地程序設(shè)計(jì)基礎(chǔ),但是要學(xué)好C++面向?qū)ο蟪绦蛟O(shè)計(jì)這門課程,不僅要認(rèn)真閱讀課本知識和從事課堂學(xué)習(xí),更重要的是要進(jìn)行上機(jī)實(shí)踐,通過上機(jī)實(shí)踐才能增強(qiáng)和鞏固知識。
三、系統(tǒng)設(shè)計(jì)(算法分析)
1、 系統(tǒng)由5功能,可分別執(zhí)分?jǐn)?shù)的.加法運(yùn)算, 減法運(yùn)算 ,.乘法運(yùn)算 和除法運(yùn)算,還可以將分?jǐn)?shù)化簡。
1.加法運(yùn)算可計(jì)算兩個(gè)分?jǐn)?shù)相加。
2.減法運(yùn)算可計(jì)算兩個(gè)分?jǐn)?shù)相減。
3.乘法運(yùn)算可計(jì)算兩個(gè)分?jǐn)?shù)相乘。
4.除法運(yùn)算可計(jì)算兩個(gè)分?jǐn)?shù)相除。
5.化簡運(yùn)算可計(jì)算一個(gè)分?jǐn)?shù)化簡。
2、流程圖
主菜單
加法運(yùn)算
減法運(yùn)算
4、
成法運(yùn)算
除法運(yùn)算
結(jié)束
分母是否為0
是
否
技術(shù)輸出結(jié)果
3、分?jǐn)?shù)計(jì)算器設(shè)置各函數(shù)的功能和實(shí)現(xiàn)的相關(guān)功能由對應(yīng)的函數(shù)來實(shí)現(xiàn)。
(1) 函數(shù)jia()實(shí)現(xiàn)分?jǐn)?shù)加法運(yùn)算。
(2)函數(shù)jian()實(shí)現(xiàn)分?jǐn)?shù)減法運(yùn)算。
(3)函數(shù)cheng()實(shí)現(xiàn)分?jǐn)?shù)乘法運(yùn)算。
(4)函數(shù)chu()實(shí)現(xiàn)分?jǐn)?shù)除法運(yùn)算。
(5)函數(shù)shuchu()實(shí)現(xiàn)分?jǐn)?shù)的輸出和化簡。
四、程序源代碼
// 分?jǐn)?shù)管理系統(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<<"_______________ 分?jǐn)?shù)計(jì)算器__________\n"<
13、減法運(yùn)算"<>i;
if(i==5)
{
cout<<"請輸入兩個(gè)數(shù),分子在前"<>a>>s;
shuchu(a,s);
}
else
{
cout<<"請輸入四個(gè)數(shù),
14、分子在前"<0 && i<7)
cin>>a>>s>>d>>f;
if(s==0||f==0)
cout<<"輸入錯(cuò)誤"<
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<<"輸入錯(cuò)誤"<
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<<"結(jié)果為"<