分数计算器项目设计

一、问题描述及功能要求

1、分数计算器程序的每种功能都可以用菜单选项列出,用户可以根据需要选择相应的菜单项,从而执行不同的子程序以完成相应的功能
2、增加运算符重载功能,使所设计的分数计算器可以进行四则运算&幂运算&逻辑运算。四则运算&幂运算可以用菜单选项列出,用户可以根据需要选择相应的运算。
3、程序具有判断功能,当有非法的输入时(如分母等于零等),能给出提示信息并退出运算
4、可将分数化为十进制小数和带分数
5、设计逻辑功能的函数使其可以进行逻辑比较,比如大于、小于的逻辑比较。
6、设计数字选择功能程序,用户可以输入数字键选择进行四则运算&幂运算或逻辑比较,运算结果为TRUE或FLASE。
7、要求界面提示清楚、便于操作

二、代码实现 带有注释
废话不说,直接代码,欢迎指正。
大家CV可能有不兼容的情况,可以跟我滴滴,尽可能解决问题地回复。

#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <fstream>
using namespace std;
void jiafa1()
{system("cls");while(1){long long int a,c,d,f;char b,e;cin>>a>>b>>c>>d>>e>>f;a=a*f+d*c;c=c*f;int flag=1;if((a<0&&c<0)||(a>0&&c>0)) flag=0;a=abs(a);c=abs(c);if(a%c==0){if(flag==0){cout<<a/c<<endl;}if(flag==1){cout<<"-"<<a/c<<endl;}}else if(a>c){int x,y;x=a;y=c;int z=c;while(a%c!=0){z=a%c;a=c;c=z;}a=x/z;c=y/z;if(flag==0){cout<<a<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a<<"/"<<c<<endl;}}else if(c>a){int x,y;x=a;y=c;int z=a;while(c%a!=0){z=c%a;c=a;a=z;}c=y/z;a=x/z;if(flag==0){cout<<a<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a<<"/"<<c<<endl;}}cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}
}
void jiafa2()
{system("cls");while(1){long long int a,c,d;char b;cin>>a>>b>>c>>d;a=a+d*c;cout<<a<<"/"<<c<<endl;cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}}
void jiafa()
{while(1){system("cls");cout<<"(1) 两个分数"<<endl;cout<<"(2) 分数和整数"<<endl;cout<<"(3) 返回上一级"<<endl;int a;cin>>a;if(a==1){jiafa1();}if(a==2){jiafa2();}if(a==3){break;}}
}
void jianfa1()
{system("cls");while(1){int a,c,d,f;char b,e;cin>>a>>b>>c>>d>>e>>f;a=a*f-d*c;c=c*f;int flag=1;if((a<0&&c<0)||(a>0&&c>0)) flag=0;a=abs(a);c=abs(c);if(a%c==0){if(flag==0){cout<<a/c<<endl;}if(flag==1){cout<<"-"<<a/c<<endl;}}else if(a>c){int x,y;x=a;y=c;int z=c;while(a%c!=0){z=a%c;a=c;c=z;}a=x/z;c=y/z;if(flag==0){cout<<a<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a<<"/"<<c<<endl;}}else if(c>a){int z=a;int x,y;x=a;y=c;while(c%a!=0){z=c%a;c=a;a=z;}a=x/z;c=y/z;if(flag==0){cout<<a<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a<<"/"<<c<<endl;}}cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}
}
void jianfa2()
{system("cls");while(1){long long int a,c,d;char b;cin>>a>>b>>c>>d;a=a-d*c;cout<<a<<"/"<<c<<endl;cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}
}
void jianfa()
{while(1){system("cls");cout<<"(1) 两个分数"<<endl;cout<<"(2) 分数和整数"<<endl;cout<<"(3) 返回上一级"<<endl;int a;cin>>a;if(a==1){jianfa1();}if(a==2){jianfa2();}if(a==3){break;}}
}
void chengfa1()
{system("cls");while(1){long long int a,c,d,f;char b,e;cin>>a>>b>>c>>d>>e>>f;a=a*d;c=c*f;int flag=1;if((a<0&&c<0)||(a>0&&c>0)) flag=0;a=abs(a);c=abs(c);if(a%c==0){if(flag==0){cout<<a/c<<endl;}if(flag==1){cout<<"-"<<a/c<<endl;}}else if(a>c){int z=c;int x,y;x=a,y=c;while(a%c!=0){z=a%c;a=c;c=z;}a=x/z;c=y/z;if(flag==0){cout<<a<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a<<"/"<<c<<endl;}}else if(c>a){int z=a;int x,y;x=a;y=c;while(c%a!=0){z=c%a;c=a;a=z;}a=x/z;c=y/z;if(flag==0){cout<<a<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a<<"/"<<c<<endl;}}cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}
}
void chengfa2()
{system("cls");while(1){long long int a,c,d;char b;cin>>a>>b>>c>>d;int flag=1;if((a<0&&d<0)||(a>0&&d>0)) flag=0;a=abs(a);d=abs(d);if(d%c==0) {a=a*(d/c);if(flag==0) {cout<<a<<endl;}if(flag==1) {cout<<"-"<<a<<endl;}}else if(c%d==0){if(flag==0) {cout<<a<<"/"<<c/d<<endl;}if(flag==1) {cout<<"-"<<a<<"/"<<c/d<<endl;}}else{if(flag==0){cout<<a*d<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a*d<<"/"<<c<<endl;}}cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}}
void chengfa()
{while(1){system("cls");cout<<"(1) 两个分数"<<endl;cout<<"(2) 分数和整数"<<endl;cout<<"(3) 返回上一级"<<endl;int a;cin>>a;if(a==1){chengfa1();}if(a==2){chengfa2();}if(a==3){break;}}
}
void chufa1()
{system("cls");while(1){int a,c,d,f;char b,e;cin>>a>>b>>c>>d>>e>>f;int flag=1;a=a*f;c=c*d;if((a<0&&c<0)||(a>0&&c>0)) flag=0;a=abs(a);c=abs(c);if(a%c==0){if(flag==0) cout<<a/c<<endl;if(flag==1) cout<<"-"<<a/c<<endl;}else if(a>c){int z=c;int x,y;x=a;y=c;while(a%c!=0){z=a%c;a=c;c=z;}a=x/z;c=y/z;if(flag==0){cout<<a<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a<<"/"<<c<<endl;}}else if(c>a){int z=a;int x,y;x=a;y=c;while(c%a!=0){z=c%a;c=a;a=z;}a=x/z;c=y/z;if(flag==0){cout<<a<<"/"<<c<<endl;}if(flag==1){cout<<"-"<<a<<"/"<<c<<endl;}}cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}}
void chufa2()
{system("cls");while(1){long long int a,c,d;char b;cin>>a>>b>>c>>d;int flag=1;if((a<0&&d<0)||(a>0&&d>0)) flag=0;a=abs(a);d=abs(d);if(d%c==0) {a=a*(d/c);if(flag==0){cout<<a<<endl;}if(flag==1){cout<<"-"<<a<<endl;}}else if(c%d==0){if(flag==0) {cout<<a<<"/"<<c/d<<endl;}if(flag==1) {cout<<"-"<<a<<"/"<<c/d<<endl;}}else{if(flag==0) {cout<<a*d<<"/"<<c<<endl;}if(flag==1) {cout<<"-"<<a*d<<"/"<<c<<endl;}}cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}}
void chufa()
{while(1){system("cls");cout<<"(1) 两个分数"<<endl;cout<<"(2) 分数和整数"<<endl;cout<<"(3) 返回上一级"<<endl;int a;cin>>a;if(a==1){chufa1();}if(a==2){chufa2();}if(a==3){break;}}
}
void chengfang1()
{system("cls");while(1){long long int a,c,d;char b;cin>>a>>b>>c>>d;int flag=1;if(a<0&&d%2==0) flag=0;if(a>0) flag=0;a=abs(a);long int sum1=1;long int sum2=1;while(d--){sum1*=a;sum2*=c;}if(flag==0){cout<<sum1<<"/"<<sum2<<endl;}if(flag==1){cout<<"-"<<sum1<<"/"<<sum2<<endl;}cout<<"1继续使用,0返回上一级"<<endl;int g;cin>>g;if(g==1) continue;if(g==0) break;}}
void chengfang()
{while(1){system("cls");cout<<"(1) 分数和整数"<<endl;cout<<"(2) 返回上一级"<<endl;int a;cin>>a;if(a==1){chengfang1();}if(a==2){break;}}
}
void sizeyunsuan()
{while(1){system("cls");cout<<"(1) 加法运算"<<endl;cout<<"(2) 减法运算"<<endl;cout<<"(3) 乘法运算"<<endl;cout<<"(4) 除法运算"<<endl;cout<<"(5) 乘方运算"<<endl;cout<<"(6) 返回上一级"<<endl;int a;cin>>a;if(a==1) {jiafa();}if(a==2){jianfa();}if(a==3){chengfa();}if(a==4){chufa();}if(a==5){chengfang();}if(a==6) break;}}
void jiemian()
{cout<<"(1) 四则运算及幂运算"<<endl;cout<<"(2) 退出程序"<<endl;int xxx;cin>>xxx;if(xxx==1){sizeyunsuan();}if(xxx==2){system("cls");cout<<"蟹蟹你的使用,欢迎下次使用哦"<<endl;exit(0);}
}
int main()
{while(1){system("cls");jiemian();}return 0;
}

C++分数计算器项目设计相关推荐

  1. 能表示分数的计算机,分数计算器的实现

    <分数计算器的实现>由会员分享,可在线阅读,更多相关<分数计算器的实现(6页珍藏版)>请在人人文库网上搜索. 1.紡財保九際学生实验报告学院:软件与通信工程学院课程名称:C+课 ...

  2. 分数计算器java报告_20182307 2019-2020-1 《数据结构与面向对象程序设计》实验四报告...

    20182307 2019-2020-1 <数据结构与面向对象程序设计>实验四报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 陆彦杰 学号:20182307 实验 ...

  3. 可以算积分的计算机软件,分数计算器设计

    <分数计算器设计>由会员分享,可在线阅读,更多相关<分数计算器设计(20页珍藏版)>请在人人文库网上搜索. 1.分数计算器设计黔南民族师范学院 计算机科学系姓名: 何- 指导老 ...

  4. 【python】分数计算器

    [python]分数计算器 制作过程 fractions中的Fraction(a, b)可以以a为分子,b为分母转换为分数进行计算 这样的话就可以简便的进行制作了 首先导入库 这里只用fraction ...

  5. 039分数计算器程序

    039分数计算器程序 1.题目 2.代码 3.输出结果截图 1.题目 在实际应用中,有很多时候我们希望计算机给出的结果是分数而不是小数,本实例在这个前提下产生,具体要求如下:如果用户输入形式是1 2 ...

  6. 代分数计算机气在线,c++课程设计--分数计算器.doc

    c课程设计--分数计算器 C++课程设计报告 题 目: 分数计算器 年 级: 11级 专 业: 通信工程 姓 名: 吴辰炜 指导老师: 朱红 难 度 B 级 教师评语: 1.程序功能介绍 分数计算器及 ...

  7. 分数加法怎么用计算机算,加法分数计算器的运算符

    我正在写一个分数计算器.我已经编写了一个解析代码的方法,但是很难弄清楚如何将plus运算符添加到parseExpression方法中.例如:1_1 / 2 + 1 = 2_1 / 2.如果你选择回答尽 ...

  8. 分数计算器(C++课设)

    需求概述 (1)设计一个分数计算器,进行分数的算术运算和逻辑运算. (2)能够像使用基本数据的对象一样,对分数进行"+"."-"."*"和& ...

  9. C++小型复数计算器项目设计

    小型复数计算器项目设计 一.问题描述及功能要求 1.实现复数的设置和显示. 2.声明一个复数类Complex,重载运算符 "+". "-". "*&q ...

最新文章

  1. Windows10下SSH远程拷贝文件
  2. Java 内存区域和GC机制
  3. poi设置自动换行后显示不全_WPS表格:如何让数据超过单元格就自动换行并完全显示?...
  4. hdu 5072 Coprime
  5. C/C++ 宏定义中#、##、#@的区别
  6. Java常用分析工具Jps、Jstat、Jinfo、Jstack以及Jconsole的简单介绍和使用
  7. ITK:详尽的优化器
  8. 机器学习常见基本概念笔记
  9. java 模拟qq源码
  10. 为什么表格后面打不出0_同样的LOL游戏,为什么BO5和BO3的结局差距如此之大?...
  11. struts响应用户请求的工作流程
  12. OC中iO操作相关方法
  13. 开源编解码项目FFmpeg迎来20周年生日 凭一己之力养活全球无数播放器!
  14. 典型芯片封装及其特征间距
  15. 不同版本CLODOP 预览关闭窗口时返回值不同
  16. 几乎没人教你的用poi导出如此复杂的考勤表
  17. 42个最好的海外 app ASO工具
  18. Android三级缓存机制工具类的实现
  19. 防御性编程:足够偏执
  20. 阿里云centos6.9搭建ngrok服务器

热门文章

  1. 【c语言】蓝桥杯算法提高 GDP计算
  2. AM2302(又称DHT22)温湿度传感器的使用及Proteus仿真(附源码)
  3. iScroll5 API速查
  4. 供应链金融(四):保理业务中的风控手段
  5. Basics of Apache Ant
  6. Internet101- 1 - Wires, cables WiFi (电线,电缆WiFi)
  7. Android 代码强制启动GPU渲染
  8. 后天就要苦瓜研发团队和人生观的建议大家
  9. python装饰器理解_python装饰器理解
  10. Python从键盘上输入自己的身份证号,从中提取出生年份、月份、日期以及性别信息