(个人记录)V0.2 D--编程工具
2025-06-02 16:01:14
发布于:重庆
V0.1
- 雏形建设,拥有变量输入输出、修改值
- 数组的框架建立
#include<bits/stdc++.h>
#define start int main()
#define en }
#define open {
#define run for
#define func void
#define enter cout<<"\n";
#define over return 0;
using namespace std;
struct vep{
int x,y;
func in(string op)
{
if(op=="^x")
{
int n;
cin >> n;
x=n;
}
else if(op=="^y")
{
int n;
cin >> n;
y=n;
}
else
{
cout << "错误的指令,在指令 \"in\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
int ol(string op)
{
if(op=="x*") return x;
else if(op=="y*") return y;
else
{
cout << "错误的指令,在指令 \"ol\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
int change(string op,int n)
{
if(op=="x$") x=n;
else if(op=="y$") y=n;
else if(op=="xup") x++;
else if(op=="yup") x++;
else if(op=="xdown") x--;
else if(op=="ydown") x--;
else
{
cout << "错误的指令,在指令 \"change\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
};
struct vel{
int len,x[100005],y[100005];
bool flag=0;
void meet(int p)
{
if(p>=100000||p<=0)
{
cout << "错误的指令,在指令 \"meet\" 中,数组的长度不可以为\"" << p << "\" 需要在 1-100000 范围内!\n";
exit(0);
}
else
{
len=p;
flag=1;
}
}
int ol(string op,int n)
{
if(!flag)
{
cout << "错误:未调用 meet 初始化数组长度!";
exit(0);
}
if(n>len||n<=0)
{
cout << "错误的指令,在指令 \"ol\" 中,不可以返回第\"" << n << "\" 个值!长度不够或至少要有1!\n";
exit(0);
}
else if(op=="x*") return x[n];
else if(op=="y*") return y[n];
else
{
cout << "错误的指令,在指令 \"ol\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
};
void outs(string s)
{
cout << s;
}
void out(int s)
{
cout << s;
}
void round(vep &x)
{
swap(x.x,x.y);
}
start
open
vel a;
a.meet(1000);
out(a.ol("x*",1));
over
en
V0.2
- 数组功能完善
#include<bits/stdc++.h>
#define start int main()
#define en }
#define open {
#define run for
#define func void
#define enter cout<<"\n";
#define over return 0;
using namespace std;
struct vep{
int x,y;
func in(string op)
{
if(op=="x*")
{
int n;
cin >> n;
x=n;
}
else if(op=="y*")
{
int n;
cin >> n;
y=n;
}
else
{
cout << "错误的指令,在指令 \"in\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
int ol(string op)
{
if(op=="x*") return x;
else if(op=="y*") return y;
else
{
cout << "错误的指令,在指令 \"ol\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
int change(string op,int n)
{
if(op=="x*") x=n;
else if(op=="y*") y=n;
else if(op=="xup") x++;
else if(op=="yup") x++;
else if(op=="xdown") x--;
else if(op=="ydown") x--;
else
{
cout << "错误的指令,在指令 \"change\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
};
struct vel{
int len,x[100005],y[100005];
bool flag=0;
void meet(int p)
{
if(flag)
{
cout << "错误的指令,在指令 \"meet\" 中,不可以重复修改数组长度!\n";
exit(0);
}
if(p>=100000||p<=0)
{
cout << "错误的指令,在指令 \"meet\" 中,数组的长度不可以为\"" << p << "\" 需要在 1-100000 范围内!\n";
exit(0);
}
else
{
len=p;
flag=1;
}
}
int ol(string op,int n)
{
if(!flag)
{
cout << "错误:未调用 meet 初始化数组长度!";
exit(0);
}
if(n>len||n<=0)
{
cout << "错误的指令,在指令 \"ol\" 中,不可以返回第\"" << n << "\" 个值!长度不够或至少要有1!\n";
exit(0);
}
else if(op=="x*") return x[n];
else if(op=="y*") return y[n];
else
{
cout << "错误的指令,在指令 \"ol\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
func in(string op,int p)
{
if(!flag)
{
cout << "错误:未调用 meet 初始化数组长度!";
exit(0);
}
if(p>len||p<=0)
{
cout << "错误的指令,在指令 \"in\" 中,不可以返回第\"" << p << "\" 个值!长度不够或至少要有1!\n";
exit(0);
}
if(op=="x*")
{
int n;
cin >> n;
x[p]=n;
}
else if(op=="y*")
{
int n;
cin >> n;
y[p]=n;
}
else
{
cout << "错误的指令,在指令 \"in\" 中,\"" << op << "\" 不被定义!\n";
exit(0);
}
}
};
void outs(string s)
{
cout << s;
}
void out(int s)
{
cout << s;
}
void round(vep &x)
{
swap(x.x,x.y);
}
start
{
vep n,i;
n.in("x*");
vel a;
a.meet(n.ol("x*")+5);
run(i.change("x*",1);i.ol("x*")<=n.ol("x*");i.change("xup",0))
{
a.in("x*",i.ol("x*"));
n.change("y*",n.ol("y*")+a.ol("x*",i.ol("x*")));
}
out(n.ol("y*"));
//数组累加求和
}
这里空空如也
有帮助,赞一个