您好,登錄后才能下訂單哦!
這篇文章主要介紹“C++實現分數計算器的方法”,在日常操作中,相信很多人在C++實現分數計算器的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++實現分數計算器的方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
分數計算器項目設計,供大家參考,具體內容如下
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++實現分數計算器的方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。