问题标题: XA v1.0.2操作系统:XA-codingtang v1.0.2 发布贴

2
0
已解决
沙宸安
沙宸安
高级启示者
高级启示者

v1.0.2更新日志:

桌面更新了“小工具”功能

可以新建文本文档啦!快来体验吧!

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<time.h>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;

struct xa{
	string name;
	int num,typ;
};
xa doc[256][256];
int check=1,top=1,toptxt=0,i,j;
string x,txt[256];
int file[256][256],filestd[256];

void color(int corcorcor){
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),corcorcor);
}
string getTime()
{
    time_t timep;
    time (&timep);
    char tmp[64];
    strftime(tmp, sizeof(tmp), "系统时间:%Y年%m月%d日 %H时%M分%S秒",localtime(&timep) );
    return tmp;
}
int kd(char ccc){
	if(!KEY_DOWN(ccc)) return 0;
	else return 1;
}
int shut_down(){
	if(kd('M')){
		system("cls");
		cout<<"XA-codingtang v1.0.2 正在关机..."<<endl;
		Sleep(3000);
		check=0;
		cout<<"关机完毕,欢迎下次使用。"<<endl;
	}
}
void xatxt(int uuu){
	while(!kd('M')){
		system("cls");
		cout<<"您已进入文本编辑模式"<<endl<<"原文件:"<<txt[uuu]<<endl<<">>XA系统 Q-修改文本 M-退出编辑"<<endl;
		Sleep(500); 
		if(kd('Q')){
			cout<<"编辑:";
			cin>>x;
			cout<<">>XA系统 您确定要修改吗? T-确定 F-取消"<<endl;
			bool flag=0;
			while(!flag){
				if(kd('T')){
					flag=1;
					txt[uuu]=x;
				}
				Sleep(100);
				if(kd('F')){
					flag=1;
				}
				Sleep(100);
			}
		}
	}
}
void desktop(int cmmd){
	while(!kd('M'))
	{
		system("cls");
		color(9);
		cout<<"操作系统:XA-codingtang v1.0.2"<<endl;
		color(7);	
		for(i=1;i<=filestd[cmmd];i++){
			if(1){
				cout<<i<<" : "<<file[cmmd][i]<<endl;
			}
		}
		cout<<"您已进入文件操作模式"<<endl<<"C-打开功能栏"<<endl;	
		Sleep(500);
		if(kd('C')) 
		while(!kd('N')){
			system("cls");
			cout<<"Q-新建文件夹"<<endl<<"W-打开文件夹"<<endl<<"E-新建文本文档"<<endl<<"O-打开文件"<<endl<<"N-退出功能区"<<endl<<"M-退至上一个文件夹"<<endl;
			Sleep(500);
			if(kd('Q')){
				system("cls");
				cout<<">>XA系统 正在建立,请勿再按“Q”键"<<endl;
				Sleep(1000);
				top++;
				file[top][0]=cmmd;
				filestd[cmmd]++;
				file[cmmd][filestd[cmmd]]=top;
			}
			if(kd('E')){
				system("cls");
				cout<<">>XA系统 正在建立,请勿再按“E”键"<<endl;
				Sleep(1000);
				toptxt++;
				doc[cmmd][0].num++;
				doc[cmmd][doc[cmmd][0].num].typ=2;
				doc[cmmd][doc[cmmd][0].num].num=toptxt;
				doc[cmmd][doc[cmmd][0].num].name="XAtext";
			}
			if(kd('W')){
				system("cls");
				for(i=1;i<=filestd[cmmd];i++){
					if(1){
					cout<<i<<" : "<<file[cmmd][i]<<endl;
					}
				}
				cout<<"输入=0 - 退出"<<endl<<"第( )个文件:"; 
				cin>>i;
				if(i>0) desktop(file[cmmd][i]);
			}
			if(kd('O')){
				system("cls");
				for(i=1;i<=doc[cmmd][0].num;i++){
					if(1){
					cout<<i<<" : "<<doc[cmmd][i].name<<endl;
					}
				}
				cout<<"输入=0 - 退出"<<endl<<"第( )个文件:"; 
				cin>>i;
				if(i>0){
					if(doc[cmmd][i].typ==2){
						xatxt(doc[cmmd][i].num);
						cout<<">>XA系统 正在退出,请勿再按“M”键"<<endl;
						Sleep(1000);
					} 
				} 
			}
			if(kd('M')){
				system("cls");
				cout<<">>XA系统 正在退出,请勿再按“M”键"<<endl;
				Sleep(1000);
				return ;
			}
		}
	}
}
int jsq1()
{
	double a1,b1;
	char x;
	cout<<">>XA系统 请依次输入:[一个整数或一个有限小数][四则运算符号][一个整数或一个有限小数]"<<endl;
	cin>>a1>>x>>b1;
	if(x=='+')
		cout<<a1+b1<<endl;
	if(x=='-')
		cout<<a1-b1<<endl;
	if(x=='*')
		cout<<a1*b1<<endl;
	if(x=='/')
	{
		if(b1==0)
			cout<<">>XA系统 除数不能为0!"<<endl;
		else cout<<a1/b1<<endl;
	}
	return 0;
}
int guo(int h1,int h2){
	int xxxxx,mm1,mm2,bxxxxxggest=0;
	mm1=h1;
	mm2=h2;
	bxxxxxggest=h1>h2? h1:h2;
	for(xxxxx=2;xxxxx<bxxxxxggest;xxxxx++)
		{			
		if(mm1%xxxxx==0 && mm2%xxxxx==0)
		{
			mm1=mm1/xxxxx;
			mm2=mm2/xxxxx;
		xxxxx=xxxxx-1;
		}
	}
	if(mm1%mm2==0)
	{
		cout<<mm1/mm2<<endl;
	}
	else cout<<mm1<<"/"<<mm2<<endl;
}
int jsq2()
{
	int a1,a2,b1,b2,i1,i2,j1,j2,e1,e2,ccccccccccccccccccccccccc;
	char ccccc,fff; 
	cout<<">>XA系统 请依次输入:"<<endl<<"(正号或负号)[第一个数的分子]/[第一个数的分母]"<<endl<<"[四则运算符号]"<<endl<<"(正号或负号)[第二个数的分子]/[第二个数的分母]"<<endl;
	cin>>a1>>fff>>a2;
	cin>>ccccc;
	cin>>b1>>fff>>b2;
	if(ccccc=='+')
	{
		i1=a1*b2;
		i2=b1*a2;
		j1=a2*b2;
		j2=a2*b2;
		e1=i1+i2;
		e2=j1;
	}
	if(ccccc=='-')
	{
		i1=a1*b2;
		i2=b1*a2;
		j1=a2*b2;
		j2=a2*b2;
		e1=i1-i2;
		e2=j1;
	}
	if(ccccc=='/')
	{
		ccccccccccccccccccccccccc=b2;
		b2=b1;
		b1=ccccccccccccccccccccccccc;
		ccccc='*';
	}
	if(ccccc=='*')
	{
		e1=a1*b1;
		e2=a2*b2;
	}
	guo(e1,e2);
	return 0;
}
int main()
{
	while(check){
		color(9);
		cout<<"操作系统:XA-codingtang v1.0.2"<<endl;
		color(7);
		string time=getTime();
		cout<<time<<endl;
		color(14);
		cout<<"基本操作:"<<endl;
		color(7);
		cout<<"C-进入命令模式"<<endl<<"O-打开小工具"<<endl;
		color(14);
		cout<<"系统桌面文件:"<<endl;
		color(7);
		for(i=1;i<=filestd[1];i++){
			if(1){
				cout<<file[1][i]<<endl;
			}
		}
		for(i=1;i<=doc[1][0].num;i++){
			if(1){
			cout<<doc[1][i].name<<endl;
			}
		} 
		Sleep(1000);
		system("cls");
		shut_down();
		if(kd('C')){
			system("cls");
			color(9);
			cout<<"操作系统:XA-codingtang v1.0.2"<<endl;
			color(7);
			cout<<"您已进入命令模式"<<endl;
			cout<<">>XA系统 提示:进入桌面(文件操作模式)输入“opendesktop”。"<<endl; 
			if(!check) break;
			cin>>x;
			if(x=="opendesktop")
				desktop(1);
			system("cls");
		}
		if(kd('O')) 
		while(!kd('M')){
			system("cls");
			cout<<"G-计算器"<<endl<<"H-分数计算器"<<endl<<"M-退出小工具"<<endl;
			Sleep(500);
			if(kd('G')){
				system("cls");
				jsq1();
				Sleep(1500);
			}
			if(kd('H')){
				system("cls");
				jsq2();
				Sleep(1500);
			}
		}
		system("cls");
	}
    return 0;
}

没有使用说明,程序内有引导!

注:所有按键功能须长按1-2秒!

还请您留下点赞、评论或关注。

您的支持就是我们最大的动力!

谢谢!

还有,本系统可以实现文件夹套娃功能,详细戳这里,如果关注我超10人,我就教大家,学会递归就可以做到,不要什么多叉树!

沙宸安在2020-10-06 10:06:45追加了内容

对不起!今天早上我发现文件编辑模式中,由于C++输入的限制,读不了空格,现在我稍微改了亿下,会在v1.0.3中一起更新!

沙宸安在2020-10-06 11:25:46追加了内容

这里给大家带来了不便,请谅解!

沙宸安在2020-10-06 20:45:32追加了内容

恳请留下点赞、评论或关注哦~

沙宸安在2020-10-07 09:48:40追加了内容

预计v1.0.3会在今天早上10:00发布


0
已采纳
武建豪
武建豪
中级天翼
中级天翼

可以啊,望早日完善

0
褚俊皓
褚俊皓
新手天翼
新手天翼

功能不是很全,祝你早日成功

0
0
0
0
高梓荣
高梓荣
新手天翼
新手天翼

我来刷屏了~~~

距v1.0.3发布会还有10分钟

0
0
0
蔡辰夕
蔡辰夕
新手启示者
新手启示者

没啥想说的。(顺便挖坟)

0
蔡辰夕
蔡辰夕
新手启示者
新手启示者

望大佬评论!

#include<fstream>//文件cao作 
using namespace std;
#include<cstring>//cstring,是字符数组,strcat要用到。 
#include<iostream>
#include<algorithm>
#include<windows.h>
char* getStr(){//cstring获取函数 
    char s[1111111];
    gets(s);
    return s;
}
void jiazai(){//加载函数 
    system("cls");
    for(int i=0;i<100;i++){
        cout<<"加载中……"<<i+1<<endl;
        Sleep(30);
        system("cls");
    }
    return;
}
void txtcreact(){//文件Txt. 
    cout<<"你要干嘛(1、创建 2、读)";
    int y;
    cin>>y;
    getStr();//吃换行 
    if(y==2){
        cout<<"输入文件名:";
        char*s=getStr();
        ifstream i;
        i.open(s,ios::in);
        string buf;
        while(getline(i,buf)){
            cout<<buf<<endl; 
        } 
        return;
    }
    cout<<"输入文件名:";
    char*s=getStr();
    ofstream Txtcreact(s);//创建文件 
    cout<<"输入内容行数:"; 
    int n;
    cin>>n;
    getStr();//吃换行 
    for(int i=1;i<=n;i++){//获取文件内容 
        cout<<"第"<<i<<"行:";
        Txtcreact<<getStr()<<endl;
        cout<<"\n";
    }
    jiazai();
    return;//结束(不是必要的) 
}
void doccreact(){//文件doc 
    cout<<"你要干嘛(1、创建 2、读)";
    int y;
    cin>>y;
    getStr();//吃换行 
    if(y==2){
        cout<<"输入文件名:";
        char*s=getStr();
        ifstream i;
        s=strcat(s,".doc");
        i.open(s,ios::in);
        string buf;
        while(getline(i,buf)){
            cout<<buf<<endl; 
        } 
        return;
    }
    cout<<"输入文件名:";
    char*s=getStr();
    ofstream Txtcreact(strcat(s,".doc"));//创建文件 
    cout<<"输入内容行数:"; 
    int n;
    cin>>n;
    getStr();//吃换行 
    for(int i=1;i<=n;i++){//获取文件内容 
        cout<<"第"<<i<<"行:";
        Txtcreact<<getStr()<<endl;
        cout<<"\n";
    }
    jiazai();
    return;//结束(不是必要的) 
}
void creactPng(){//文件Png 
    cout<<"输入文件名:";
    char*s=getStr();
    ofstream Txtcreact(strcat(s,".png"));//创建文件 
    jiazai();
} 
void creactIco(){//ico文件 
    cout<<"输入文件名:";
    char*s=getStr();
    ofstream Txtcreact(strcat(s,".ico"));//创建文件 
    jiazai();
} 
void creactBmp(){//Bmp图像 
    cout<<"输入文件名:";
    char*s=getStr();
    ofstream Txtcreact(strcat(s,".bmp"));//创建文件 
    jiazai();
}
void ccxcreact(){//自创ccx格式文件 
    cout<<"你要干嘛(1、创建 2、读)";
    int y;
    cin>>y;
    getStr();//吃换行 
    if(y==2){
        cout<<"输入文件名:";
        char*s=getStr();
        s=strcat(s,".ccx"); 
        ifstream i;
        i.open(s,ios::in);
        string buf;
        while(getline(i,buf)){
            cout<<buf<<endl; 
        } 
        return;
    }
    cout<<"输入文件名:";
    char*s=getStr();
    ofstream Txtcreact(strcat(s,".ccx"));//创建文件 
    cout<<"输入内容行数:"; 
    int n;
    cin>>n;
    for(int i=0;i<=n;i++){//纯属搞笑 
        Txtcreact<<"蔡晨曦很6!红星游戏很6!"<<endl;
    }
    jiazai();
    return;
}
void cppcreact(){//文件cpp. 
    cout<<"输入文件名:";
    char*s=getStr();
    ofstream Txtcreact(strcat(s,".cpp"));//创建文件 
    cout<<"输入内容行数:"; 
    int n;
    cin>>n;
    for(int i=0;i<=n;i++){//获取文件内容 
        Txtcreact<<getStr()<<endl;
    }
    jiazai();
    return;//结束(不是必要的) 
}
void creact(){//111
    cout<<"输入文件名:";
    char*s=getStr();
    cout<<"输入格式:";
    char*s1=getStr(); 
    ofstream Txtcreact(strcat(s,strcat(".",s1)));//创建文件 
    jiazai();
}
int main(){
    while(1){
        cout<<"\n欢迎来到格式工坊,请问您要什么格式?1、Txt 2、png 3、ico 4、Bmp 5、ccx 6、cpp 7、doc 8、自定义\n";//开场白 
        int n;
        cin>>n;//选项 
        getStr();//吃换行 
        switch(n){//和if差不多 
            case 1:txtcreact();break;//break不是必须的 
            case 2:creactPng();break;
            case 3:creactIco();break;
            case 4:creactBmp();break;
            case 5:ccxcreact();break;
            case 6:cppcreact();break;
            case 7:doccreact();break;
            case 8:creact();break;
            default:cout<<"有病吧!!!";break;
        }
    }
}
0
我要回答