1
已解决
沙宸安
高级启示者
高级启示者
v2.0.2更新啦!
注意啦!以后更新日志会放在腾讯文档里哦!
#include<iostream>
#include<stdio.h>
#include<cstring>
#include<time.h>
#include<windows.h>
#define KEY_DOWN(VK_NOnam) ((GetAsyncKeyState(VK_NOnam) & 0x8000) ? 1:0)
using namespace std;
struct xa{
string nam;
int num,typ;
};
xa doc[256][256];
int check=1,top=1,toptxt=0,toppic=0,i,j,k,pictime=1000,cleartime=100;
string x,txt[256];
int file[256][256],filestd[256],pic[256][21][39];
bool sho[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 v2.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<<"编辑:";
getline(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 xapic(int uuu){
int xx=1,yy=1,cr=7;
bool pen=0;
while(!kd('M')){
system("cls");
color(7);
cout<<"您已进入图片(39x21)编辑模式"<<endl<<"原文件:"<<endl;
for(i=1;i<=21;i++){
for(j=1;j<=39;j++){
color(pic[uuu][i][j]);
cout<<"▇";
}
cout<<endl;
}
color(7);
cout<<">>XA系统 (长按3-4秒,按键更新较慢)Q-修改图片 C-修改更新速度 M-退出编辑"<<endl;
if(kd('C')){
system("cls");
cout<<">>注册表:更新速度(默认100毫秒)"<<endl<<"输入时间(毫秒):";
cin>>cleartime;
system("cls");
cout<<"修改中。。。"<<endl;
}
Sleep(3000);
if(kd('Q'))while(!kd('M')){
system("cls");
color(7);
cout<<"您已进入图片(39x21)编辑模式";
cout<<" x:"<<xx<<" y:"<<yy<<endl;
for(i=1;i<=21;i++){
for(j=1;j<=39;j++){
color(pic[uuu][i][j]);
cout<<"▇";
}
cout<<endl;
}
color(7);
cout<<">>XA系统 WASD-操作画笔 E-";
if(pen) cout<<"抬起画笔 ";
else cout<<"放下画笔 ";
cout<<"R-更改颜色 M-保存并退出"<<endl;
bool kdown=0;
while(!kdown){
Sleep(cleartime);
if(kd('E')){
pen=!pen;
kdown=1;
}
if(kd('W') && xx!=1){
xx--;
kdown=1;
}
if(kd('S') && xx!=21){
xx++;
kdown=1;
}
if(kd('A') && yy!=1){
yy--;
kdown=1;
}
if(kd('D') && yy!=39){
yy++;
kdown=1;
}
if(pen) pic[uuu][xx][yy]=cr;
if(kd('R')){
system("cls");
cout<<"更改色号:";
for(i=0;i<=15;i++){
color(i);
cout<<"▇ ";
}
color(7);
cout<<endl<<"色号编码:";
for(i=0;i<=15;i++){
if(i<10)cout<<i<<" ";
else cout<<i<<" ";
}
cout<<endl;
cin>>cr;
cr=cr%16;
kdown=1;
}
if(kd('M')){
kdown=1;
}
}
}
}
}
void findesktop(int cmmmd){
if(cmmmd==1){
cout<<"桌面";
return ;
}
else{
findesktop(file[cmmmd][0]);
cout<<">>"<<cmmmd;
return ;
}
}
void desktop(int cmmd){
while(!kd('M'))
{
system("cls");
color(9);
cout<<"操作系统:XA-codingtang v2.0.2"<<endl;
color(14);
cout<<"文件夹路径:";
color(7);
findesktop(cmmd);
cout<<endl;
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<<"R-新建图片"<<endl<<"O-打开文件"<<endl<<"I-重命名文件"<<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].nam="XAtext";
}
if(kd('R')){
system("cls");
cout<<">>XA系统 正在建立,请勿再按“R”键"<<endl;
Sleep(1000);
toppic++;
doc[cmmd][0].num++;
doc[cmmd][doc[cmmd][0].num].typ=3;
doc[cmmd][doc[cmmd][0].num].num=toppic;
doc[cmmd][doc[cmmd][0].num].nam="XApicture";
}
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].nam<<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(doc[cmmd][i].typ==3){
xapic(doc[cmmd][i].num);
cout<<">>XA系统 正在退出,请勿再按“M”键"<<endl;
Sleep(1000);
}
}
}
if(kd('I')){
system("cls");
for(i=1;i<=doc[cmmd][0].num;i++){
if(1){
cout<<i<<" : "<<doc[cmmd][i].nam<<endl;
}
}
cout<<"输入=0 - 退出"<<endl<<"重命名第( )个文件:";
cin>>i;
if(i>0){
cout<<"重命名:";
cin>>doc[cmmd][i].nam;
cout<<"改名成功!"<<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()
{
for(i=1;i<=255;i++){
for(j=1;j<=21;j++){
for(k=1;k<=39;k++){
pic[i][j][k]=7;
}
}
}
while(check){
color(9);
cout<<"操作系统:XA-codingtang v2.0.2"<<endl;
color(7);
string time=getTime();
cout<<time<<endl;
color(14);
cout<<"基本操作:"<<endl;
color(7);
cout<<"C-进入命令模式"<<endl<<"O-打开小工具"<<endl<<"I-应用商店"<<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].nam<<endl;
}
}
Sleep(1000);
system("cls");
shut_down();
if(kd('C')){
system("cls");
color(9);
cout<<"操作系统:XA-codingtang v2.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('I')){
while(!kd('M')){
system("cls");
color(14);
cout<<"-----XA应用商店-----"<<endl;
color(7);
cout<<"M-退出应用商店"<<endl;
color(10);
cout<<"最新上架"<<endl;
color(7);
cout<<"啊哦~ XA开发人员还没有上架应用哦~"<<endl;
color(10);
cout<<"推荐应用"<<endl;
color(7);
cout<<"啊哦~ XA开发人员还没有上架应用哦~"<<endl;
Sleep(500);
}
}
if(kd('O'))
while(!kd('M')){
system("cls");
cout<<"Q-计算器"<<endl<<"W-分数计算器"<<endl<<"E-计时器"<<endl<<"R-倒计时"<<endl<<"M-退出小工具"<<endl;
Sleep(500);
if(kd('Q')){
system("cls");
jsq1();
Sleep(1500);
}
if(kd('W')){
system("cls");
jsq2();
Sleep(1500);
}
if(kd('E')){
system("cls");
int ddddd=0,hhhhh=0,mmmmm=0,sssss=0;
bool se=0;
while(!kd('M')){
system("cls");
color(9);
cout<<"操作系统:XA-codingtang v2.0.2"<<endl;
color(14);
cout<<"XA计时器"<<endl<<"当前计时:";
color(7);
printf("%02d:%02d:%02d:%02d",ddddd,hhhhh,mmmmm,sssss);
if((ddddd!=0 || hhhhh!=0 || mmmmm!=0 || sssss!=0) && !se){
color(14);
cout<<" 暂停中";
color(7);
}
cout<<endl<<">>XA系统 T-开始/继续/暂停计时 Y-清零 M-退出"<<endl;
Sleep(1000);
if(kd('T')) se=!se;
if(kd('Y')){
ddddd=0;
hhhhh=0;
mmmmm=0;
sssss=0;
}
if(se){
sssss++;
if(sssss==60){
sssss=0;
mmmmm++;
}
if(mmmmm==60){
mmmmm=0;
hhhhh++;
}
if(hhhhh==24){
hhhhh=0;
ddddd++;
}
}
}
system("cls");
cout<<">>XA系统 正在退出,请勿再按“M”键"<<endl;
Sleep(1500);
}
if(kd('R')){
system("cls");
int ddddd=0,hhhhh=0,mmmmm=0,sssss=0;
bool se=0,flag=1;
cout<<"输入倒计时的 日 时 分 秒"<<endl;
cin>>ddddd>>hhhhh>>mmmmm>>sssss;
if((hhhhh>23 || mmmmm>59 || sssss>59)||(ddddd==0 && hhhhh==0 && mmmmm==0 && sssss==0)||(!(ddddd>0 || hhhhh>0 || mmmmm>0 || sssss>0))){
flag=0;
cout<<">>XA系统 输入错误!"<<endl;
Sleep(500);
}
while(!kd('M') && flag){
system("cls");
color(9);
cout<<"操作系统:XA-codingtang v2.0.2"<<endl;
color(14);
cout<<"XA倒计时"<<endl<<"当前计时:";
color(7);
printf("%02d:%02d:%02d:%02d",ddddd,hhhhh,mmmmm,sssss);
if(!se){
color(14);
cout<<" 暂停中";
color(7);
}
if(ddddd==0 && hhhhh==0 && mmmmm==0 && sssss==0){
cout<<endl<<">>XA系统 倒计时结束,3秒后退出倒计时。";
Sleep(3000);
break;
}
cout<<endl<<">>XA系统 T-开始/继续/暂停计时 M-退出"<<endl;
Sleep(1000);
if(kd('T')) se=!se;
if(se){
sssss--;
if(sssss==-1){
sssss=59;
mmmmm--;
}
if(mmmmm==-1){
mmmmm=59;
hhhhh--;
}
if(hhhhh==-1){
hhhhh=23;
ddddd--;
}
}
}
system("cls");
cout<<">>XA系统 正在退出,请勿再按“M”键"<<endl;
Sleep(1500);
}
}
system("cls");
}
return 0;
}
快来体验吧!
沙宸安在2020-10-18 22:21:37追加了内容
另外,烦请各位大佬将更新日志你打开后的样子截图给我看,谢谢!
沙宸安在2020-10-19 21:53:54追加了内容
活动通知
最近我比较忙,没有时间开发应用商店的应用,所以我把这个任务交给你们了,只要你们遵守以下规则:
1、不允许抄袭他人代码
2、发给我的是C++语言的非main函数形式的函数,对,我要的是函数。
3、请注明程序的名字(4-8字符,1汉字=2字符),以及开发者(可以写你名字,也可以写XX工坊等,也是4-8字符)
4、如果开发得好,不仅会被我搬进XA系统里,说不定还会加悬赏采纳你,你的软件顺利登上推荐一栏。
注:如果怕被封,可以试试武宸锐的什么网页剪贴板,把链接发给我也行。
沙宸安在2020-10-20 19:05:53追加了内容
我加点悬赏,我看看谁会成为XA应用商店的第一个非XA的开发者。