⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intcount.cpp

📁 大整数计算
💻 CPP
字号:
#include"intcount.h"
void main()
{
	char str1[30]="0",str2[30]="0";
	char chr;
	char stamp1[30]="0",stamp2[30]="0";
	count c("0");
	int line=1,k=0,judge=1;
	fstream fp;
	fstream fp1;
	cout<<"输入文件的路径:"<<endl;
	cin.getline(stamp1,30,'\n');
	cout<<"输出文件的路径:"<<endl;
	cin.getline(stamp2,30,'\n');
	fp.open(stamp1,ios::in);
	fp1.open(stamp2,ios::out);
	while(fp.eof()==0)
	{
		k=0;
		fp.get(chr);
		while(chr<='9'&&chr>='0')
		{
			str1[k]=chr;
			k++;
			fp.get(chr);
		}
		str1[k]='\0';
    	fp.getline(str2,30,'\n');
		int i=0;
		for(;i<strlen(str2);i++)
		{
			if(str2[i]<='9'&&str2[i]>='0')
			{
				judge=1;
			}
			else
			{
				judge=0;
				break;
			}
		}
		if(judge==0)
			fp1<<"第"<<line<<"行出错!"<<'\n';
		else
		{
			count a(str1);
			count b(str2);
			switch(chr)
			{
			case '+':
				c=a+b;
				fp1<<str1<<"+"<<str2<<"=";
				i=0;
				while(c.p[i]==0)
					i++;
				if(i<30)
				{
					if(c.sign==1)
						for(;i<30;i++)
							fp1<<c.p[i];
						else
						{
							fp1<<"-";
							for(;i<30;i++)
								fp1<<c.p[i];
						}
						fp1<<'\n';
				}
				else
					fp1<<"0"<<'\n';
				break;
			case '-':
				c=a-b;
				fp1<<str1<<"-"<<str2<<"=";
				i=0;
				while(c.p[i]==0)
					i++;
				if(i<30)
				{
					if(c.sign==1)
						for(;i<30;i++)
							fp1<<c.p[i];
						else
						{
							fp1<<"-";
							for(;i<30;i++)
								fp1<<c.p[i];
						}
						fp1<<'\n';
				}
				else
					fp1<<"0"<<'\n';
				break;
			case '*':
				c=a*b;
				fp1<<str1<<"*"<<str2<<"=";
				i=0;
				while(c.p[i]==0)
					i++;
				if(i<30)
				{
					if(c.sign==1)
						for(;i<30;i++)
							fp1<<c.p[i];
					else
					{
						fp1<<"-";
						for(;i<30;i++)
							fp1<<c.p[i];
					}
					fp1<<'\n';
				}
				else
					fp1<<"0"<<'\n';
				break;
			default:
				fp1<<"第"<<line<<"行出错!"<<'\n';
			}
		}
		line++;
	}
	cout<<"运算完成,请从输出文件中浏览结果!"<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -