高精度计算器1.0

今天闲来无事,写一个 高精度计算器,嘻嘻ヾ(≧▽≦*)o

新手蒟蒻,望大家多关照呀,[]~( ̄▽ ̄)~*

还想看什么,留言告诉我呀,o(* ̄▽ ̄*)ブ

#include<bits/stdc++.h> //万能头文件 
#include <stdlib.h> //如果用system函数,需要用到此头文件 
#include<windows.h> //如果用SetConsoleTextAttribute函数和Sleep函数,需要用到此头文件 
const long long n=1000000;
int a[n],b[n],c[n];
using namespace std;
string dele(string s1)
{
	int i=0;
	int len1=s1.size();
	while(s1[i]=='0'&&i<len1-1)i++;
	return s1.substr(i,len1-i);
}
vector<int> add(vector<int> &a,vector<int> &b)
{
    vector<int> c;
    int t=0;
    for(int i=0;i<a.size()||i<b.size();i++)
    {
        //不能非法越界
        if(i<a.size())  t+=a[i];
        if(i<b.size())  t+=b[i];
        
        //每一位的运算结果
        c.push_back(t%10);
        //进位
        t=t/10;
    }
    if(t==1) c.push_back(1);
    return c;
}
int main()
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0B); //SetConsoleTextAttribute函数,用来调整字体颜色 
    cout<<"高精度计算器"<<endl;
    cout<<"按1进入"<<endl;
    int a1;
    cin>>a1;
    if(a1==1)
    {
    	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x03);
		cout<<"正在加载中......"<<endl;
		Sleep(1000); //Sleep函数用来让程序暂停 
		cout<<"20%"<<"  ";				
		Sleep(1000); 
		cout<<"40%"<<"  ";
		Sleep(1000); 
		cout<<"60%"<<"  ";
		Sleep(1000); 
		cout<<"80%"<<"  ";
		Sleep(1000); 
		cout<<"100%"<<endl;
		Sleep(1000);
		system("cls");
		while(1) //无限循环,只靠break退出 
		{
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0B);
			cout<<"            高精度计算器"<<endl;
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0A);
			cout<<"--------------------------------------"<<endl;
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0B);
			cout<<"按1进入计算"<<endl;
			cout<<"按2查看简介"<<endl;
			cout<<"按3退出"<<endl; 
			int b1;
			cin>>b1;
			if(b1==1)
			{
				system("cls");
				while(1)
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0A);
					cout<<"输入样例:"<<endl;
					cout<<"10 2222 + 3333 "<<endl;
					cout<<"提示:第一个数'10'是进制."<<endl; 
					string s1,s2,s3,s4;
					char ch;
					int j;
					cin>>j>>s3>>ch>>s4;
					system("cls");
					int len1,len2,len;
					if(ch='+')
					{
						    vector<int> a,b;
						    string m,n;
						    cin>>m;
						    cin>>n;
						    
						    for(int i=m.size()-1;i>=0;i--) a.push_back(m[i]-'0');
						    for(int i=n.size()-1;i>=0;i--) b.push_back(n[i]-'0');
						    
						    auto c= add(a,b);
						    
						    for(int i=c.size()-1;i>=0;i--) 
						        cout<<c[i];

					}
					Sleep(5000);
				    system("cls");
				    cout<<"按e退出,其他键继续。";
				    char ch1;
					cin>>ch1;
					if(ch1=='e')
					{
						system("cls");
						break;
					} 
					
				} 
			
			}
			if(b1==2)
			{
				system("cls");
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x06);
				cout<<"使用说明:"<<endl;
				cout<<"本计算器支持1000000位计算."<<endl;
				cout<<"也支持16位及以下进制计算."<<endl;
				cout<<"且可计算加,减,乘,除,取模(余数)."<<endl;
				Sleep(4000);
				system("cls");
				
			}
			
			if(b1==3)
			{
				break;
			}
			
			 
		}
		
    }
    return 0; 
}

拜拜ヾ(•ω•`)o

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值