一个进制转换

#include <iostream>
#include <string.h>
#include <windows.h>
#include <stdio.h>
#include<Windows.h>
#include<time.h>
#include<conio.h>

using namespace std;
int a[100], t;
void yc() {
	HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO cInfo{};
	GetConsoleCursorInfo(hOutput, &cInfo);
	cInfo.bVisible = false;
	SetConsoleCursorInfo(hOutput, &cInfo);
}

void sls(string a) {
	int l = a.size();
	for (int i = 0; i < l; i++) {
		cout << a[i];
		Sleep(1);
	}
}

int read() {
	char ch = _getch();
	while (ch > '9' || ch < '0') ch = _getch();
	return ch - 48;
}

int main() {
	SetConsoleTitleA("进制转换程序 3.9.4");
	yc();
	system("color 0B");

	sls("\n\n");
	sls("\t\t\t      +--------------------------------------------------------+\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      |                     进制转换程序 3.9.4                 |\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      |                      任·晓荣誉出品                     |\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      +--------+--------------------------------------+--------+\n");
	sls("\t\t\t               |");
	printf("                                      ");
	sls("|         \n");
	sls("\t\t\t               |");
	printf("                                      ");
	sls("|         \n");
	sls("\t\t\t               |");
	printf("                                      ");
	sls("|         \n");
	sls("\t\t\t      +--------o--------------------------------------o--------+\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      |                        按[1]进入                       |\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      |                        按[0]退出                       |\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      +--------------------------------------------------------+\n");
	if (read() == 1) {
		int c = 1, d = 0;
		for (int i = 0; i < 50; i++) {
			cout << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl;
			cout << "\t\t\t\t+-------------------------------------------------+" << endl;
			cout << "\t\t\t\t|";
			for (int a = 0; a < i; a++) { //打印▋
				cout << "▋";
			}
			for (int b = 49 - i; b > 0; b--) { //打印空格
				cout << " ";
			}
			d += 2;   //进度
			cout << "|  " << d << "%" << endl;
			cout << "\t\t\t\t+-------------------------------------------------+" << endl;
			cout << "\t\t\t\t               正在加载中,请稍后.";
			for (int j = 0; j < c % 6; j++) {
				cout << ".";
			}
			c++;
			cout << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl;
			Sleep(20);
			if (i != 49) {
				system("cls");   //清屏
			}
		}
		Sleep(3000);

	system("cls");
	sls("\n\n");
	sls("\t\t\t      +--------------------------------------------------------+\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      |**********************进制转换程序**********************|\n");
	sls("\t\t\t      |");
	printf("                                                        ");
	sls("|\n");
	sls("\t\t\t      +--------+--------------------------------------+--------+\n");
	while (1) {
		string  s1;
		sls("输入初值:\n\n");
		cin >> s1;
		sls("输入转换前的进制:\n\n");
		cin >> t;
		int ans = 0;
		for (int i = 0; i < s1.size(); i++) {
			if (s1[i] >= '0' && s1[i] <= '9') {
				a[i] = s1[i] - 48;
			} else {
				a[i] = s1[i] - 55;
			}
		}
		for (int i = 0; i < s1.size(); i++) {
			ans = ans * t + a[i];
		}
		string s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", s2;
		int  k;
		sls("输入转换后的进制:\n\n");
		cin >> k;
		while (ans > 0) {
			int t = ans % k;
			s2 += s[t];
			ans /= k;
		}
		int si = s2.size();
		sls("转换后的值为:\n\n");
		for (int i = si - 1; i >= 0; i--) {
			cout << s2[i];
		}
		sls("\n\n你要退出么\n[1]退出\n[2]不退出");
		if (read() == 1) {
			system("cls");
			sls("谢谢使用哟ヾ(≧▽≦*)o");
			return 0;
		}
		else
		{
			continue;
		}
	}
	} else {
		system("cls");
		sls("谢谢使用哟ヾ(≧▽≦*)o");
	}
	

	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值