自己搞的计算器
  • 板块灌水区
  • 楼主__BSD_003__
  • 当前回复6
  • 已保存回复7
  • 发布时间2024/6/16 19:07
  • 上次更新2024/6/16 21:41:12
查看原帖
自己搞的计算器
1328360
__BSD_003__楼主2024/6/16 19:07

计算器代码:```cpp

```cpp
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
void reada(string a) {
	for (int i = 0; i < a.size(); i++) {
		cout << a[i];
		Sleep(30);
	}
}
void readb(string a) {
	for (int i = 0; i < a.size(); i++) {
		cout << a[i];
		Sleep(500);
	}
}
void clean(){
	system("cls");
}
void ys(char a12) {
	if (a12 == 'Z')
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
	if (a12 == 'A')
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
	if (a12 == 'B')
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
	if (a12 == 'C')
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
	if (a12 == 'D')
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
	if (a12 == 'E')
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
	if (a12 == 'F')
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE | FOREGROUND_RED);
	if (a12 == 'G')
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE | FOREGROUND_GREEN);
}
int main(){
	for(int i=1;i<=10;i++){
		cout<<i*10<<'%'<<endl;
		if(i<=3) cout<<"nitializing Game Main Logic......";
		else if(i<=5) cout<<"Preparing......";
		else if(i<=7) cout<<"Initializing Volrender Engine......";
		else if(i<=9) cout<<"Almost there......";
		else cout<<"Ready";
		Sleep(500);
		system("cls");
	}
	reada("Start!\n"); 
	reada("兰奇计算器\n版本号:1.20.6\n制作者:小企鹅兰奇\n计算机版本号:5.11Dev-C++\n");
	for(int k=0;k<1;k--){
		char z;
		reada("\n\n输入后请按回车!\n\n\n请输入一个字母:\na-计算\nb-完全数\nc-质数\nd-关于兰奇计算器\ne-退出程序\nf-乘方开方\ng-小数计算\nh-换背景色\ni-查看文件位置\nj-更改文字颜色\nh-小游戏");
		cin>>z;
		if(z=='a'){
			clean(); 
			long double n,m;
			char ch;
			reada("请输入一个算式,输入a+b为加法,输入a-b为减法,输入a*b为乘法,输入a/b为除法。(a和b为数,目前只支持两个数的加减乘除运算)");
			cin>>n>>ch>>m;
			if(ch=='+'){
				cout<<n<<"+"<<m<<"="<<n+m;
			}
			if(ch=='-'){
				cout<<n<<"-"<<m<<"="<<n-m;
			}
			if(ch=='*'){
				cout<<n<<"*"<<m<<"="<<n*m;
			}
			if(ch=='/'){
				cout<<n<<"/"<<m<<"="<<n/m;
			}
		}
		if(z=='b'){
			clean(); 
			char num;
			reada("请输入一个字母:\na-完全数判断\nb-输出范围内的完全数");
			cin>>num;
			if(num=='a'){
				int sum;
				reada("请输入一个非零自然数:");
				cin>>sum;
				int y=0;
				for(int i=1;i<sum;i++){
					if(sum%i==0){
						y+=i;
					}
				}
				if(y==sum){
					cout<<sum;
					reada("是完全数");
				}
				else{
					cout<<sum;
					reada("不是完全数");
				}
			}
			if(num=='b'){
				int n,m;
				reada("输入两个非零自然数,用空格分割,将输出范围内的完全数");
				cin>>n>>m;
				for(int i=n;i<=m;i++){
					int y=0;
					for(int j=1;j<i;j++){
						if(i%j==0){
							y+=j;
						}
					}
					if(y==i){
						cout<<i<<" ";
					}
				}
			}
		}
		if(z=='c'){
			clean(); 
			char num;
			reada("请输入一个字母:\na-质数判断\nb-输出范围内的质数");
			cin>>num;
			if(num=='a'){
				int n;
				reada("请输入一个非零自然数:");
				cin>>n;
				int sum=0;
				for(int i=2;i<n;i++){
					if(n%i==0){
						sum+=1;
					}
				}
				if(sum==0){
					cout<<n;
					reada("是质数"); 
				}
				else{
					cout<<n;
					reada("不是质数");
				}
			}
			if(num=='b'){
				int n,m;
				reada("输入两个非零自然数,用空格分割,将输出范围内的质数"); 
				cin>>n>>m;
				for(int i=n;i<m;i++){
					int sum=0;
					for(int j=2;j<i-1;j++){
						if(i%j==0){
							sum+=1;
						}
					}
					if(sum==0){
						cout<<i<<" ";
					}
				}
			}
		}
		if(z=='d'){
			clean(); 
			reada("兰奇计算器由小企鹅兰奇开发,是基于DEVC++环境开发的。\n开发者联系方式: \n欢迎提供改进建议,及报告Bug!");
		}
		if(z=='e'){
			clean(); 
			reada("感谢使用!(别忘了帮我宣传宣传哦!)\nbyebye");
			readb("~~~");
			exit(0);
		}
		if(z=='f'){
			clean(); 
			reada("请输入一个字母:\na-乘方\nb-开方");
			char sum;
			cin>>sum;
			if(sum=='a'){
				reada("请输入两个非零自然数,用空格分割,将输出第二个数个第一个数相乘(第一个数是底数,第二个数是指数):");
				double n,m;
				cin>>n>>m;
				cout<<pow(n,m);
			}
			if(sum=='b'){
				reada("请输入一个非零自然数(要开根号的数):");
				int n;
				cin>>n;
				cout<<fixed<<setprecision(20)<<sqrt(n); 
			}
		}
		if(z=='g'){
			clean(); 
			long double n,m;
			char ch;
			reada("请输入一个算式,输入a+b为加法,输入a-b为减法,输入a*b为乘法,输入a/b为除法。(a和b为数,目前只支持两个数的加减乘除运算)");
			cin>>n>>ch>>m;
			if(ch=='+'){
				cout<<n<<"+"<<m<<"="<<n+m;
			}
			if(ch=='-'){
				cout<<n<<"-"<<m<<"="<<n-m;
			}
			if(ch=='*'){
				cout<<n<<"*"<<m<<"="<<n*m;
			}
			if(ch=='/'){
				cout<<n<<"/"<<m<<"="<<n/m;
			}
		}
		if(z=='h'){
			clean(); 
			reada("背景色0.黑色 1.蓝色 2.绿色 3.湖蓝色 4.红色 5.紫色 6.黄色 7.白色 8.灰色 9.淡蓝色");
			int m;
			cin>>m;
			if(m==0){
				system("color 0F");
			}
			if(m==1){
				system("color 1F");
			}
			if(m==2){
				system("color 2F");
			}
			if(m==3){
				system("color 3F");
			}
			if(m==4){
				system("color 4F");
			}
			if(m==5){
				system("color 5F");
			}
			if(m==6){
				system("color 6F");
			}
			if(m==7){
				system("color 7F");
			}
			if(m==8){
				system("color 8F");
			}
			if(m==9){
				system("color 9F");
			}
		}
		if(z=='i'){
			clean();
			system("dir");
		}
		if(z=='j'){
			clean(); 
			reada( "你需要什么颜色的文字?\n");
			reada( "A.蓝色,B.红色,C.绿色,D.金色,E.不变,F.粉色,G.青色\n");
			char bj;
			cin >> bj;
			if (bj == 'A'){
				ys('A');
			}
			else if (bj == 'B'){
				ys('B');
			}
			else if (bj == 'C'){
				ys('C');
			}
			else if (bj == 'E'){
				continue;
			}
			else if(bj == 'D'){
				ys('D');
			}
			else if(bj == 'F'){
				ys('F');
			}
			else if(bj == 'G'){
				ys('G');
			}
		}
	}
	return 0;
}

哔哩哔哩搜“一个自己弄的计算器(C++编的)”就有啦,第一个求求了三连吧

2024/6/16 19:07
加载中...