- 2
- 0
- 约 10页
- 2016-12-03 发布于重庆
- 举报
面向對象程序课程设计报告WY
《面向对象程序课程设计》课程设计报告
班级:2010级6班 学号 姓名:王遥
一.设计任务分析
任务一:
设计一个分数计算器,要把一个分数按照分数的形势输出到屏幕上,并且重载运算符“”和“”,使它们满足输入输出的条件;还要重载“+”,“-”,“*”,“/”四个运算符,是它们四个满足分数的计算法则。在此基础上,设计一个函数,用来对分数进行约分化简。
任务二:
学生成绩管理,其中包括课程的各种属性、本科生的信息、研究生的信息,还包括学期的成绩。学生可以选课(包括身份的确认以及学分限制),学生成绩的输入、计算和排名还要筛选某个科目不及格的人,查看选课的人数。
二.设计方案
任务一设计方案:
仅用一个类来表示分数,它有两个对象,通过这两个对象来进行四则运算,重载通过成员函数来实现。
任务二设计方案:
由于分类多,因此采用工作空间来设计刺程序,这样可以实现多个类相互独立,让程序层次清晰。总体思路是采用文件来持久保存信息,因此对文件的创建较多,文件分类也多,并且充分利用文件的灵活性来显示信息。本程序特点就是对文件的使用。确定了三个类,分别对应课程、本科生、研究生的信息,同时各个类里面有给里面的成员赋值的函数,同时也有获取成员信息的函数。其中的功能就通过这些函数以及和文件的配合来实现,由于有类似于“专业”这种在一定范围内确定值的成员,因此采用枚举类型来处理这些成员。采用获取成员信息的小函数来实现排名、筛选等的功能。
三.详细设计
任务一:
首先定义一个类,此类是分数类(class FractionWY),它有两个数据成员( int Fenzi和int Fenmu),由于要求四则运算的重载要用成员函数来实现,因此在类中还有四则运算的重载的申明
FractionWY operator+(FractionWY );
FractionWY operator-(FractionWY );
FractionWY operator*(FractionWY );
FractionWY operator/(FractionWY );
我的思路是在程序运行是就已经存在一个分数,然后再输入一个分数,使这两个分数进四则运算,因此类里面的构造函数来初始化第一个分数 FractionWY(int x,int y)
{
Fenzi=x;
Fenmu=y;
}
接下来是“”和“”的重载,由于这两个运算符是双目运算符,因此它有两个参数于是重载的实现如下
istream operator(istream in,FractionWY fenshu)
{
infenshu.Fenzifenshu.Fenmu;
if(fenshu.Fenmu==0)
{
coutinput errorendl;
}
return in;
}
前者依旧是istream类里面的对象,后者就是分数类里面的对象了。
在重载四则运算符时,同样遵循双目运算的要求(此出只列举加法的重载)
FractionWY FractionWY::operator+(FractionWY b)
{
FractionWY c;
c.Fenzi=Fenzi*b.Fenmu+b.Fenzi*Fenmu;
c.Fenmu=Fenmu*b.Fenmu;
return c;
}
由于是通过成员函数实现,因此只用一个参数,第一个参数默认为类的对象,只用定义第二个参数即可,然后在里面实现分数的运算,重载定义完成。
接下来进入约分的步骤,我首先定义了一个求最大公约数的函数
int gongyue(int a,int b)
{
int c;
while(c!=0)
{
c=a%b;
a=b;
b=c;
}
return a;
}
通过辗转相除法来求最大公约数,此函数会返回一个值,这个值就是最大公约数。
最后再设计一个对输入的分数约分的函数,返回值是一个分数类的对象,
FractionWY yuefen(FractionWY a)
{ int x;
x=a.Fenmu;
a.Fenmu=a.Fenmu/gongyue(a.Fenzi,a.Fenmu);
a.Fenzi=a.Fenzi/gongyue(a.Fenzi,x);
return a;
}
进入主函数,首先定义一个分数类的对象,并对其初始化值,此函数是负的三分之一,
FractionWY Fenshu1(-1,3);
接下来通过手动输入一个函数,下面就是将输入的分数输出到显示器上,并把它和已知分数做四则运算的结果输出,再输出此输入函数的约分化简后的分数, FractionWY Fenshu;
cinFenshu;
coutFenshu;
coutFen
您可能关注的文档
- 靜海县房地产市场调研报告.doc
- 靜电知识讲座.doc
- 靜电防护基本知识.doc
- 靜电防护管理规定.doc
- 靜疗基本知识试卷201409(带答案).doc
- 靜脉注射手册.doc
- 非上市公眾公司收购管理办法.doc
- 靜雅酒店财务管理制度.doc
- 非上市公司股權激励资料汇编.doc
- 非上市公眾公司监督管理办法(2012注释版).docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)