0
已解决
刘宇航
修练者
修练者
#include<iostream>
#include<cmath>
#include<windows.h>
using namespace std;
long long dpos[1005][1005][15],ipos[1005][1005][15],opos[1005][1005][15],i=1,Error;
long long sz[1005][15],twj[15],error[100005];
int iinout[1005];
double dinout[1005];
bool binout[1005];
string sinout[1005];
long long linout[1005];
string s,t[1000005];
double fd[1005];
long long sl[1005],cl[1005],vs[1005],pa[1005];
int main(){
cout<<"L.bc_0001>|";
while(getline(cin,s)){
t[i]=s;
if(s.substr(0,4)=="int_"){
if(s[5]=='='){
for(int j=6;j<s.size();j++){
iinout[s[4]]=iinout[s[4]]*10+(s[j]-'0');
}
}
dpos[i][s[4]][1]=1;
fd[s[4]]=1.1;
}
else if(s.substr(0,7)=="double_"){
dpos[i][s[7]][2]=1;
fd[s[7]]=1.2;
}
else if(s.substr(0,5)=="bool_"){
if(s[6]=='='){
if(s[7]=='0') binout[s[5]]=0;
else binout[s[5]]=1;
}
dpos[i][s[5]][3]=1;
fd[s[5]]=1.3;
}
else if(s.substr(0,7)=="string_"){
if(s[8]=='='&&s[9]=='"'&&s[s.size()-1]=='"'){
for(int j=10;j<s.size()-1;j++){
sinout[s[7]]+=s[j];
}
}
dpos[i][s[7]][4]=1;
fd[s[7]]=1.4;
}
else if(s.substr(0,10)=="long long_"){
if(s[11]=='='){
for(int j=12;j<s.size();j++){
linout[s[10]]=linout[s[10]]*10+(s[j]-'0');
}
}
dpos[i][s[4]][5]=1;
fd[s[10]]=1.5;
}
else if(s.substr(0,4)=="lin>"&&(s[4]>='a'&&s[4]<='z')||(s[4]>='A'&&s[4]<='Z')){
if(fd[s[4]]==0){
Error++;
error[i]=1;
}
if(fd[s[4]]==1.1) ipos[i][s[4]][1]=1;
if(fd[s[4]]==1.2) ipos[i][s[4]][2]=1;
if(fd[s[4]]==1.3) ipos[i][s[4]][3]=1;
if(fd[s[4]]==1.4) ipos[i][s[4]][4]=1;
if(fd[s[4]]==1.5) ipos[i][s[4]][5]=1;
}
else if(s.substr(0,5)=="lout<"&&(s[5]>='a'&&s[5]<='z')||(s[5]>='A'&&s[5]<='Z')){
if(fd[s[5]]==0){
Error++;
error[i]=1;
}
if(fd[s[5]]==1.1) opos[i][s[5]][1]=1;
if(fd[s[5]]==1.2) opos[i][s[5]][2]=1;
if(fd[s[5]]==1.3) opos[i][s[5]][3]=1;
if(fd[s[5]]==1.4) opos[i][s[5]][4]=1;
if(fd[s[5]]==1.5) opos[i][s[5]][5]=1;
}
else if(s=="L<Win>"){
twj[1]=1;
}
else if(s.substr(0,6)=="sleep("&&s[s.size()-1]==')'){
if(twj[1]==0){
Error++;
error[i]++;
}
for(int j=6;j<s.size()-1;j++){
sl[i]=sl[i]*10+(s[j]-'0');
}
}
else if(s.substr(0,7)=="system("&&s[7]=='"'&&s.substr(8,5)=="clean"&&s[13]=='"'&&s[14]==')'){
if(twj[1]==0){
Error++;
error[i]=1;
}
cl[i]++;
}
else if(s.substr(0,7)=="system("&&s[7]=='"'&&s.substr(8,5)=="pause"&&s[13]=='"'&&s[14]==')'){
if(twj[1]==0){
Error++;
error[i]=1;
}
pa[i]++;
}
else if(s=="over 0"){
break;
}
else if(s=="") ;
else{
Error++;
error[i]=1;
}
i++;
if(i<10) cout<<"L.bc_000"<<i<<">|";
else if(i<100) cout<<"L.bc_00"<<i<<">|";
else if(i<1000) cout<<"L.bc_0"<<i<<">|";
else if(i<10000) cout<<"L.bc"<<i<<">|";
else{
cout<<"Error!"<<endl;
cout<<"不合法行数!!!"<<endl;
cout<<" /\\"<<endl;
cout<<" / !\\"<<endl;
cout<<"/____\\"<<endl;
Sleep(1000);
system("cls");
return 0;
}
}
if(Error!=0){
cout<<Error<<" to ERROR!"<<endl;
for(int i=1;i<=10000;i++){
if(error[i]!=0) cout<<"Number "<<i<<" is ERROR!"<<endl;
}
return 0;
}
cout<<endl<<"运行结果:"<<endl<<endl;
for(int lbcp=1;lbcp<=i;lbcp++){
if(sl[lbcp]!=0){
Sleep(sl[lbcp]);
continue;
}
if(cl[lbcp]!=0){
system("cls");
for(int sk=1;sk<=i;sk++){
cout<<"L.bc_"<<sk<<">|";
cout<<t[sk]<<endl;
}
cout<<endl<<"运行结果:"<<endl<<endl;
continue;
}
if(pa[lbcp]!=0){
system("pause");
system("cls");
for(int sk=1;sk<=i;sk++){
cout<<"L.bc_"<<sk<<">|";
cout<<t[sk]<<endl;
}
}
for(int j=1;j<=1000;j++){
if(ipos[lbcp][j][1]!=0){
cin>>iinout[j];
}
if(ipos[lbcp][j][2]!=0){
cin>>dinout[j];
}
if(ipos[lbcp][j][3]!=0){
cin>>binout[j];
}
if(ipos[lbcp][j][4]!=0){
cin>>sinout[j];
}
if(ipos[lbcp][j][5]!=0){
cin>>linout[j];
}
if(opos[lbcp][j][1]!=0){
cout<<iinout[j]<<" ";
}
if(opos[lbcp][j][2]!=0){
cout<<dinout[j]<<" ";
}
if(opos[lbcp][j][3]!=0){
cout<<binout[j]<<" ";
}
if(opos[lbcp][j][4]!=0){
cout<<sinout[j]<<" ";
}
if(opos[lbcp][j][5]!=0){
cout<<linout[j]<<" ";
}
}
}
return 0;
}
新增
1)10000行不合法行数
2)报错:出错行数
@王乐成
按你的要求来的,出错行数
其他的嘛,就没新增的内容了,感谢 @王乐成 提出的建议,本期是满足王乐成的建议,所以没加其他的
你们想要加什么内容也可以告诉我!