问题标题: 计算器编得怎么样

0
0
已解决
徐烨奎
徐烨奎
新手光能
新手光能
#include<windows.h>
#include<bits/stdc++.h>
using namespace std;     
int main(){  
int i=4;
system("color 8E"); 
cout<<"加载中";
cout<<".";
Sleep(700);
cout<<".";
Sleep(700);
cout<<".";
Sleep(500);
system("cls");
cout<<"加载中";
cout<<".";
Sleep(700);
cout<<".";
Sleep(700);
cout<<".";
Sleep(500);
system("cls");
cout<<"加载中";
cout<<".";
Sleep(700);
cout<<".";
Sleep(700);
cout<<".";
Sleep(500);
system("cls");
    system("color F5");
    cout<<"小小计算器\n";
    cout<<"版本2.11,作者:徐烨奎\n"; 
    cout<<"数不能超过7位数!\n";   
    char c; 
    long double a,b;
    for(int i=0;i<1;i--){
    cout<<"请输入一个符号(+加号,-减号,*乘号,/除号)\n";
    cin>>c;
    cout<<"请输入两个数\n"; 
    cin>>a>>b;
    if(a>=1000000||b>=1000000){
        system("cls");
        cout<<"数字超标";
        return 0;
    }
    system("cls");
    if(c=='+'||c=='-'||c=='*'||c=='/'){     
        if(c=='+')
            cout<<a<<"+"<<b<<"="<<a+b<<"\n";
        if(c=='-')
            cout<<a<<"-"<<b<<"="<<a-b<<"\n";
        if(c=='*')
            cout<<a<<"*"<<b<<"="<<a*b<<"\n";
        if(c=='/')
            cout<<a<<"/"<<b<<"="<<a/b<<"\n";
    }
    else{
         cout<<"输入错误\n请重新输入\n";   
        while(cin>>c>>a>>b){          
            system("cls");
            if(c=='+'||c=='-'||c=='*'||c=='/'){     
                if(c=='+')
                    cout<<a<<"+"<<b<<"="<<a+b<<"\n";
                if(c=='-')
                    cout<<a<<"-"<<b<<"="<<a-b<<"\n";
                if(c=='*')
                    cout<<a<<"*"<<b<<"="<<a*b<<"\n";
                if(c=='/')
                    cout<<a<<"/"<<b<<"="<<a/b<<"\n";
                break;
            }
        }
    }
    cout<<"是否继续\n1.是  2.否";
    int n;
    cin>>n;
    if(n==2){
        system("cls");
        return 0;
    }
    system("cls");  
    }         
    return 0;            
}

 


0
已采纳
赵逸凡
赵逸凡
初级启示者
初级启示者

认为更具有真实性

还有个小建议,建议输入改为

scanf("%c",&c);

//%c表示%char

scanf("%f %f",&a,&b);

//%f表示%float,用%lf也可以,可以表示%long float

目前发现int i=4没有任何用处

另外for(int i=0;i<1;i--)可以改成while(1)

if a>=1000000改成a>=1000000.000,b也同样

0
包涵宇
包涵宇
中级天翼
中级天翼

这不是我给你编的吗???

总体还行吧!!!

0
0
我要回答