分数计算器设计.docx
《分数计算器设计.docx》由会员分享,可在线阅读,更多相关《分数计算器设计.docx(11页珍藏版)》请在冰豆网上搜索。
分数计算器设计
黔南民族师范学院计算机科学系
姓名:
何--
指导老师:
任--
学号:
1208075---
班级:
B12计科班
日期:
1、问题描述
定义一个整数类。
定义一个分数类,由整数类派生出。
能对分数进行各种计算和输入/输出。
2、功能要求
(1)定义整数类和分数类。
其中,包括构造函数、析构函数、显示函数等。
(2)输入/输出:
对流提取和流插入运算符进行重载。
(3)计算功能:
可进行分数的加、减、乘和除法运算。
(4)化简功能:
将分数化简为最简分数。
(5)异常处理功能:
分数中分母不能为零。
(6)菜单功能:
每种功能的操作都是在菜单中进行相应选择。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
分数计算器.obj
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
源代码:
//分数计算器:
#include<>
classInteger//整数类
{
protected:
intfz;
intfm;
public:
Integer(inta=0,intb=1):
fz(a),fm(b){}
~Integer(){}
voiddisplay();
};
classFraction:
publicInteger//分数类,进行计算和输入输出
Fraction(inta=0,intb=1):
Integer(a,b){}
friendistream&operator>>(istream&,Fraction&);//重载输入流
friendostream&operator<<(ostream&,Fraction&);//重载输出流
Fractionoperator+(Fraction&c);//重载+运算符(分数与分数)
Fractionoperator+(intn);//重载+运算符(整数与分数)
Fractionoperator-(Fraction&c);//重载-运算符(分数与分数)
Fractionoperator-(intn);//重载-运算符(整数与分数)
friendFractionoperator-(intn,Fraction&c);
Fractionoperator*(Fraction&c);//重载*运算符(分数与分数)
Fractionoperator*(intn);//重载*运算符(整数与分数)
Fractionoperator/(Fraction&c);//重载/运算符(分数与分数)
Fractionoperator/(intn);//重载/运算符(整数与分数)
friendFractionoperator/(intn,Fraction&c);
Fractionpredigest();//约分函数
//实现函数(分数计算器设计)
#include"分数计算器"
voidInteger:
:
display()
cout<cout<<"------------------分数计算器-----------------"<cout<<"请选择功能:"<cout<<"1分数与整数的四则运算。"<cout<<"2整数与分数的四则运算。"<cout<<"3分数与分数的四则运算。"<cout<<"0输入0退出。"<}FractionFraction::predigest()//定义约分函数{intn,d,t,sign=1;Fractiontemp;if(fz<0&&fm<0){fz=-fz;fm=-fm;}if(fz>0&&fm<0){fm=-fm;sign=-1;}if(fz<0&&fm>0){fz=-fz;sign=-1;}n=fz;d=fm;intr;if(n{t=n;n=d;d=t;}r=n%d;while(r!=0){n=d;d=r;//d为最大公约数r=n%d;}=sign*(fz/d);=fm/d;returntemp;}FractionFraction::operator+(Fraction&c)//重载两个分数的加法运算符{Fractiontemp;=fz*+fm*;=fm*;returntemp;}FractionFraction::operator+(intn)//重载分数和整数的加法运算{Fractiontemp;=fm*n+fz;=fm;returntemp;}Fractionoperator-(intn,Fraction&c){Fractiontemp;=*;=;returntemp;}FractionFraction::operator-(intn)//重载分数减整数的减法运算符{Fractiontemp;=fz-fm*n;=fm;returntemp;}FractionFraction::operator-(Fraction&c)//重载两个分数的减法运算符{Fractiontemp;=fz*-fm*;=fm*;returntemp;}FractionFraction::operator*(Fraction&c)//重载两个分数的乘法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator*(intn)//重载分数与整数的乘法运算符{Fractiontemp;=fz*n;=fm;returntemp;}FractionFraction::operator/(Fraction&c)//重载两个分数的除法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator/(intn)//重载分数除以整数的除法运算符{Fractiontemp;=fz;=fm*n;returntemp;}Fractionoperator/(intn,Fraction&c){Fractiontemp;=n*;=;returntemp;}ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数{inta,b,c;a=;b=;if(a==0||b==0)//当分子,或者分母为0时,输出0cout<<"0";if(b==1)//当分母为1时,输出分子cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<<"------------------分数计算器-----------------"<cout<<"请选择功能:"<cout<<"1分数与整数的四则运算。"<cout<<"2整数与分数的四则运算。"<cout<<"3分数与分数的四则运算。"<cout<<"0输入0退出。"<}FractionFraction::predigest()//定义约分函数{intn,d,t,sign=1;Fractiontemp;if(fz<0&&fm<0){fz=-fz;fm=-fm;}if(fz>0&&fm<0){fm=-fm;sign=-1;}if(fz<0&&fm>0){fz=-fz;sign=-1;}n=fz;d=fm;intr;if(n{t=n;n=d;d=t;}r=n%d;while(r!=0){n=d;d=r;//d为最大公约数r=n%d;}=sign*(fz/d);=fm/d;returntemp;}FractionFraction::operator+(Fraction&c)//重载两个分数的加法运算符{Fractiontemp;=fz*+fm*;=fm*;returntemp;}FractionFraction::operator+(intn)//重载分数和整数的加法运算{Fractiontemp;=fm*n+fz;=fm;returntemp;}Fractionoperator-(intn,Fraction&c){Fractiontemp;=*;=;returntemp;}FractionFraction::operator-(intn)//重载分数减整数的减法运算符{Fractiontemp;=fz-fm*n;=fm;returntemp;}FractionFraction::operator-(Fraction&c)//重载两个分数的减法运算符{Fractiontemp;=fz*-fm*;=fm*;returntemp;}FractionFraction::operator*(Fraction&c)//重载两个分数的乘法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator*(intn)//重载分数与整数的乘法运算符{Fractiontemp;=fz*n;=fm;returntemp;}FractionFraction::operator/(Fraction&c)//重载两个分数的除法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator/(intn)//重载分数除以整数的除法运算符{Fractiontemp;=fz;=fm*n;returntemp;}Fractionoperator/(intn,Fraction&c){Fractiontemp;=n*;=;returntemp;}ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数{inta,b,c;a=;b=;if(a==0||b==0)//当分子,或者分母为0时,输出0cout<<"0";if(b==1)//当分母为1时,输出分子cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<<"请选择功能:
"<cout<<"1分数与整数的四则运算。"<cout<<"2整数与分数的四则运算。"<cout<<"3分数与分数的四则运算。"<cout<<"0输入0退出。"<}FractionFraction::predigest()//定义约分函数{intn,d,t,sign=1;Fractiontemp;if(fz<0&&fm<0){fz=-fz;fm=-fm;}if(fz>0&&fm<0){fm=-fm;sign=-1;}if(fz<0&&fm>0){fz=-fz;sign=-1;}n=fz;d=fm;intr;if(n{t=n;n=d;d=t;}r=n%d;while(r!=0){n=d;d=r;//d为最大公约数r=n%d;}=sign*(fz/d);=fm/d;returntemp;}FractionFraction::operator+(Fraction&c)//重载两个分数的加法运算符{Fractiontemp;=fz*+fm*;=fm*;returntemp;}FractionFraction::operator+(intn)//重载分数和整数的加法运算{Fractiontemp;=fm*n+fz;=fm;returntemp;}Fractionoperator-(intn,Fraction&c){Fractiontemp;=*;=;returntemp;}FractionFraction::operator-(intn)//重载分数减整数的减法运算符{Fractiontemp;=fz-fm*n;=fm;returntemp;}FractionFraction::operator-(Fraction&c)//重载两个分数的减法运算符{Fractiontemp;=fz*-fm*;=fm*;returntemp;}FractionFraction::operator*(Fraction&c)//重载两个分数的乘法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator*(intn)//重载分数与整数的乘法运算符{Fractiontemp;=fz*n;=fm;returntemp;}FractionFraction::operator/(Fraction&c)//重载两个分数的除法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator/(intn)//重载分数除以整数的除法运算符{Fractiontemp;=fz;=fm*n;returntemp;}Fractionoperator/(intn,Fraction&c){Fractiontemp;=n*;=;returntemp;}ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数{inta,b,c;a=;b=;if(a==0||b==0)//当分子,或者分母为0时,输出0cout<<"0";if(b==1)//当分母为1时,输出分子cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<<"1分数与整数的四则运算。
"<cout<<"2整数与分数的四则运算。"<cout<<"3分数与分数的四则运算。"<cout<<"0输入0退出。"<}FractionFraction::predigest()//定义约分函数{intn,d,t,sign=1;Fractiontemp;if(fz<0&&fm<0){fz=-fz;fm=-fm;}if(fz>0&&fm<0){fm=-fm;sign=-1;}if(fz<0&&fm>0){fz=-fz;sign=-1;}n=fz;d=fm;intr;if(n{t=n;n=d;d=t;}r=n%d;while(r!=0){n=d;d=r;//d为最大公约数r=n%d;}=sign*(fz/d);=fm/d;returntemp;}FractionFraction::operator+(Fraction&c)//重载两个分数的加法运算符{Fractiontemp;=fz*+fm*;=fm*;returntemp;}FractionFraction::operator+(intn)//重载分数和整数的加法运算{Fractiontemp;=fm*n+fz;=fm;returntemp;}Fractionoperator-(intn,Fraction&c){Fractiontemp;=*;=;returntemp;}FractionFraction::operator-(intn)//重载分数减整数的减法运算符{Fractiontemp;=fz-fm*n;=fm;returntemp;}FractionFraction::operator-(Fraction&c)//重载两个分数的减法运算符{Fractiontemp;=fz*-fm*;=fm*;returntemp;}FractionFraction::operator*(Fraction&c)//重载两个分数的乘法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator*(intn)//重载分数与整数的乘法运算符{Fractiontemp;=fz*n;=fm;returntemp;}FractionFraction::operator/(Fraction&c)//重载两个分数的除法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator/(intn)//重载分数除以整数的除法运算符{Fractiontemp;=fz;=fm*n;returntemp;}Fractionoperator/(intn,Fraction&c){Fractiontemp;=n*;=;returntemp;}ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数{inta,b,c;a=;b=;if(a==0||b==0)//当分子,或者分母为0时,输出0cout<<"0";if(b==1)//当分母为1时,输出分子cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<<"2整数与分数的四则运算。
"<cout<<"3分数与分数的四则运算。"<cout<<"0输入0退出。"<}FractionFraction::predigest()//定义约分函数{intn,d,t,sign=1;Fractiontemp;if(fz<0&&fm<0){fz=-fz;fm=-fm;}if(fz>0&&fm<0){fm=-fm;sign=-1;}if(fz<0&&fm>0){fz=-fz;sign=-1;}n=fz;d=fm;intr;if(n{t=n;n=d;d=t;}r=n%d;while(r!=0){n=d;d=r;//d为最大公约数r=n%d;}=sign*(fz/d);=fm/d;returntemp;}FractionFraction::operator+(Fraction&c)//重载两个分数的加法运算符{Fractiontemp;=fz*+fm*;=fm*;returntemp;}FractionFraction::operator+(intn)//重载分数和整数的加法运算{Fractiontemp;=fm*n+fz;=fm;returntemp;}Fractionoperator-(intn,Fraction&c){Fractiontemp;=*;=;returntemp;}FractionFraction::operator-(intn)//重载分数减整数的减法运算符{Fractiontemp;=fz-fm*n;=fm;returntemp;}FractionFraction::operator-(Fraction&c)//重载两个分数的减法运算符{Fractiontemp;=fz*-fm*;=fm*;returntemp;}FractionFraction::operator*(Fraction&c)//重载两个分数的乘法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator*(intn)//重载分数与整数的乘法运算符{Fractiontemp;=fz*n;=fm;returntemp;}FractionFraction::operator/(Fraction&c)//重载两个分数的除法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator/(intn)//重载分数除以整数的除法运算符{Fractiontemp;=fz;=fm*n;returntemp;}Fractionoperator/(intn,Fraction&c){Fractiontemp;=n*;=;returntemp;}ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数{inta,b,c;a=;b=;if(a==0||b==0)//当分子,或者分母为0时,输出0cout<<"0";if(b==1)//当分母为1时,输出分子cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<<"3分数与分数的四则运算。
"<cout<<"0输入0退出。"<}FractionFraction::predigest()//定义约分函数{intn,d,t,sign=1;Fractiontemp;if(fz<0&&fm<0){fz=-fz;fm=-fm;}if(fz>0&&fm<0){fm=-fm;sign=-1;}if(fz<0&&fm>0){fz=-fz;sign=-1;}n=fz;d=fm;intr;if(n{t=n;n=d;d=t;}r=n%d;while(r!=0){n=d;d=r;//d为最大公约数r=n%d;}=sign*(fz/d);=fm/d;returntemp;}FractionFraction::operator+(Fraction&c)//重载两个分数的加法运算符{Fractiontemp;=fz*+fm*;=fm*;returntemp;}FractionFraction::operator+(intn)//重载分数和整数的加法运算{Fractiontemp;=fm*n+fz;=fm;returntemp;}Fractionoperator-(intn,Fraction&c){Fractiontemp;=*;=;returntemp;}FractionFraction::operator-(intn)//重载分数减整数的减法运算符{Fractiontemp;=fz-fm*n;=fm;returntemp;}FractionFraction::operator-(Fraction&c)//重载两个分数的减法运算符{Fractiontemp;=fz*-fm*;=fm*;returntemp;}FractionFraction::operator*(Fraction&c)//重载两个分数的乘法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator*(intn)//重载分数与整数的乘法运算符{Fractiontemp;=fz*n;=fm;returntemp;}FractionFraction::operator/(Fraction&c)//重载两个分数的除法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator/(intn)//重载分数除以整数的除法运算符{Fractiontemp;=fz;=fm*n;returntemp;}Fractionoperator/(intn,Fraction&c){Fractiontemp;=n*;=;returntemp;}ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数{inta,b,c;a=;b=;if(a==0||b==0)//当分子,或者分母为0时,输出0cout<<"0";if(b==1)//当分母为1时,输出分子cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<<"0输入0退出。
"<}FractionFraction::predigest()//定义约分函数{intn,d,t,sign=1;Fractiontemp;if(fz<0&&fm<0){fz=-fz;fm=-fm;}if(fz>0&&fm<0){fm=-fm;sign=-1;}if(fz<0&&fm>0){fz=-fz;sign=-1;}n=fz;d=fm;intr;if(n{t=n;n=d;d=t;}r=n%d;while(r!=0){n=d;d=r;//d为最大公约数r=n%d;}=sign*(fz/d);=fm/d;returntemp;}FractionFraction::operator+(Fraction&c)//重载两个分数的加法运算符{Fractiontemp;=fz*+fm*;=fm*;returntemp;}FractionFraction::operator+(intn)//重载分数和整数的加法运算{Fractiontemp;=fm*n+fz;=fm;returntemp;}Fractionoperator-(intn,Fraction&c){Fractiontemp;=*;=;returntemp;}FractionFraction::operator-(intn)//重载分数减整数的减法运算符{Fractiontemp;=fz-fm*n;=fm;returntemp;}FractionFraction::operator-(Fraction&c)//重载两个分数的减法运算符{Fractiontemp;=fz*-fm*;=fm*;returntemp;}FractionFraction::operator*(Fraction&c)//重载两个分数的乘法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator*(intn)//重载分数与整数的乘法运算符{Fractiontemp;=fz*n;=fm;returntemp;}FractionFraction::operator/(Fraction&c)//重载两个分数的除法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator/(intn)//重载分数除以整数的除法运算符{Fractiontemp;=fz;=fm*n;returntemp;}Fractionoperator/(intn,Fraction&c){Fractiontemp;=n*;=;returntemp;}ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数{inta,b,c;a=;b=;if(a==0||b==0)//当分子,或者分母为0时,输出0cout<<"0";if(b==1)//当分母为1时,输出分子cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
}
FractionFraction:
predigest()//定义约分函数
intn,d,t,sign=1;
Fractiontemp;
if(fz<0&&fm<0)
fz=-fz;
fm=-fm;
if(fz>0&&fm<0)
sign=-1;
if(fz<0&&fm>0)
n=fz;
d=fm;
intr;
if(n{t=n;n=d;d=t;}r=n%d;while(r!=0){n=d;d=r;//d为最大公约数r=n%d;}=sign*(fz/d);=fm/d;returntemp;}FractionFraction::operator+(Fraction&c)//重载两个分数的加法运算符{Fractiontemp;=fz*+fm*;=fm*;returntemp;}FractionFraction::operator+(intn)//重载分数和整数的加法运算{Fractiontemp;=fm*n+fz;=fm;returntemp;}Fractionoperator-(intn,Fraction&c){Fractiontemp;=*;=;returntemp;}FractionFraction::operator-(intn)//重载分数减整数的减法运算符{Fractiontemp;=fz-fm*n;=fm;returntemp;}FractionFraction::operator-(Fraction&c)//重载两个分数的减法运算符{Fractiontemp;=fz*-fm*;=fm*;returntemp;}FractionFraction::operator*(Fraction&c)//重载两个分数的乘法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator*(intn)//重载分数与整数的乘法运算符{Fractiontemp;=fz*n;=fm;returntemp;}FractionFraction::operator/(Fraction&c)//重载两个分数的除法运算符{Fractiontemp;=fz*;=fm*;returntemp;}FractionFraction::operator/(intn)//重载分数除以整数的除法运算符{Fractiontemp;=fz;=fm*n;returntemp;}Fractionoperator/(intn,Fraction&c){Fractiontemp;=n*;=;returntemp;}ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数{inta,b,c;a=;b=;if(a==0||b==0)//当分子,或者分母为0时,输出0cout<<"0";if(b==1)//当分母为1时,输出分子cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
{t=n;n=d;d=t;}
r=n%d;
while(r!
=0)
n=d;
d=r;//d为最大公约数
=sign*(fz/d);
=fm/d;
returntemp;
operator+(Fraction&c)//重载两个分数的加法运算符
=fz*+fm*;
=fm*;
operator+(intn)//重载分数和整数的加法运算
=fm*n+fz;
=fm;
Fractionoperator-(intn,Fraction&c)
=*;
=;
operator-(intn)//重载分数减整数的减法运算符
=fz-fm*n;
operator-(Fraction&c)//重载两个分数的减法运算符
=fz*-fm*;
operator*(Fraction&c)//重载两个分数的乘法运算符
=fz*;
operator*(intn)//重载分数与整数的乘法运算符
=fz*n;
operator/(Fraction&c)//重载两个分数的除法运算符
operator/(intn)//重载分数除以整数的除法运算符
=fz;
=fm*n;
Fractionoperator/(intn,Fraction&c)
=n*;
ostream&operator<<(ostream&output,Fraction&t)//重载输出运算符,输出分数
inta,b,c;
a=;
b=;
if(a==0||b==0)//当分子,或者分母为0时,输出0
cout<<"0";
if(b==1)//当分母为1时,输出分子
cout<if(a>b&&b!=1)//判断分数为假分数{c=a/b;a=a%b;cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
if(a>b&&b!
=1)//判断分数为假分数
c=a/b;
a=a%b;
cout<if(a!=0)cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
if(a!
cout<<"又"<}if(a<0&&-a>b&&b!=1)//当分数为负时,判断为假分数{c=-a/b;a=-a%b;c=-c;cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
if(a<0&&-a>b&&b!
=1)//当分数为负时,判断为假分数
c=-a/b;
a=-a%b;
c=-c;
cout<<'='<if(a!=0)cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<<"又"<}if>0&&<&&!=0&&!=1)//判断为真分数output<<<<'/'<<;if<0&&<&&!=0&&!=1)//判断为真分数output<<"("<<<<'/'<<<<")";returnoutput;}istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数{inta,c;charb;input>>a>>b>>c;if(b=='/'&&c!=0){=a;=c;}elsecout<<"错误!!!输入格式错误或分母为0!请退出重新输入!"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
if>0&&<&&!
=0&&!
=1)
//判断为真分数
output<<<<'/'<<;
if<0&&<&&!
output<<"("<<<<'/'<<<<")";
returnoutput;
istream&operator>>(istream&input,Fraction&t)//重载输入运算符,输入分数
{inta,c;
charb;
input>>a>>b>>c;
if(b=='/'&&c!
=a;
=c;
else
cout<<"错误!
!
输入格式错误或分母为0!
请退出重新输入!
"<returninput;}//main函数#include<>#include"分数计算器"intmain(){Integerdis;Fractiona,b,result,real;intm,z;charc;//数据类型();while(m!=0){cout<<"请输入:(0-3):";cin>>m;if(m==1)//分数与整数的运算{cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
returninput;
//main函数
intmain()
Integerdis;
Fractiona,b,result,real;
intm,z;
charc;//数据类型
();
while(m!
cout<<"请输入:
(0-3):
";
cin>>m;
if(m==1)//分数与整数的运算
cout<";cin>>a;cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cin>>a;
cout<";cin>>c;cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cin>>c;
cout<";cin>>z;if(c=='+')result=a+z;if(c=='-')result=a-z;if(c=='*')result=a*z;if(c=='/')result=a/z;real=();cout<<"运算式规范为:"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cin>>z;
if(c=='+')
result=a+z;
if(c=='-')
result=a-z;
if(c=='*')
result=a*z;
if(c=='/')
result=a/z;
real=();
cout<<"运算式规范为:
"<cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<}if(m==2)//整数与分数的运算{cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
if(m==2)//整数与分数的运算
cout<cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<";cin>>z;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<";cin>>c;cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<";cin>>b;if(c=='+')result=b+z;if(c=='-')result=z-b;if(c=='*')result=b*z;if(c=='/')result=z/b;real=();cout<<"运算式规范为:"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cin>>b;
result=b+z;
result=z-b;
result=b*z;
result=z/b;
"<cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<}if(m==3)//分数与分数的运算{cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
if(m==3)//分数与分数的运算
cout<cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<";cin>>a;cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<";cin>>c;cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<";cin>>b;if(c=='+')result=a+b;if(c=='-')result=a-b;if(c=='*')result=a*b;if(c=='/')result=a/b;real=();cout<<"运算式规范为:"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
result=a+b;
result=a-b;
result=a*b;
result=a/b;
"<cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
cout<}}return0;}总结报告:这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。其中也遇到很多麻烦,在网上搜索解决了问题。
return0;
总结报告:
这是我的第一次课程设计,刚开始拿到手感觉一头雾水,不知道到底是从哪里开头去设计一个课题,虽然提供了解决方案让我可以照着步骤去做,但是没有老师的辅导,下手真不容易。
不过,在理清了程序设计的一条条思路后,画了设计层次图,然后一步一步深入,把程序完成了。
其中也遇到很多麻烦,在网上搜索解决了问题。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1