问题标题: 立体图1.0

0
0
已解决
彭煜清
彭煜清
新手守护
新手守护

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef string str;
typedef stringstream strs;
typedef intmax_t i_m;
int n,m;
void f1(int n){
    cout<<"..+";
    for(int i=1;i<=n;i++){
        cout<<"---+";
    }
    cout<<"\n./";
    for(int i=1;i<=n;i++){
        cout<<"   /";
    }
    cout<<"|\n+";
    for(int i=1;i<=n;i++){
        cout<<"---+";
    }
    cout<<" |\n|";
    for(int i=1;i<=n;i++){
        cout<<"   |";
    }
    cout<<" +\n|";
    for(int i=1;i<=n;i++){
        cout<<"   |";
    }
    cout<<"/.\n+";
    for(int i=1;i<=n;i++){
        cout<<"---+";
    }
    cout<<"..";
}
void f2(int n){
    cout<<"..+---+";
    cout<<"\n./   /|\n";
    cout<<"+---+ |\n";
    for(int i=1;i<n;i++){
        cout<<"|   | +\n";
        cout<<"|   |/|\n";
        cout<<"+---+ |\n";
    }
    cout<<"|   | +\n";
    cout<<"|   |/.\n";
    cout<<"+---+..";
}
void f3(int n){
    int m1=n*2;
    int m2=1;
    for(int i=1;i<=n*2+1;i++){
        for(int j=1;j<=m1;j++){
            cout<<".";
        }
        if(i%2==1){
            cout<<"+---+";
        }else{
            cout<<"/   /";
        }
        if(i!=1){
            if((i-1)%4==1){
                cout<<"|";
                if(i>2){
                    cout<<" +";
                }
            }else if((i-1)%4==2){
                cout<<" |";
                if(i>3){
                    cout<<"/";
                }
            }else if((i-1)%4==3){
                cout<<"| +";
            }else{
                cout<<" |/";
            }
        }
        m1--;
        if(i>=5){
            for(int j=1;j<=m2;j++){
                cout<<".";
            }
            m2++;
        }
        cout<<endl;
    }
    cout<<"|   | +";
    for(int i=1;i<=m2;i++){
        cout<<".";
    }
    m2++;
    cout<<"\n|   |/";
    for(int i=1;i<=m2;i++){
        cout<<".";
    }
    m2++;
    cout<<"\n+---+";
    for(int i=1;i<=m2;i++){
        cout<<".";
    }
}
int main(){
    cout<<"欢迎使用立体图建造器\n\n";
    while(true){
        cout<<"请输入1~4中的一个数\n";
        cin>>m;
        cout<<"请输入左右摆放的积木的个数(<=29)或";
        cout<<"请输入上下摆放的积木的个数或";
        cout<<"请输入前后摆放的积木的个数(<=57)\n";
        cin>>n;
        cout<<"\n";
        if(m==1){

            if(n<=29){
                f1(n);
            }else{
                cout<<"输入错误,请重新输入";
            }
        }else if(m==2){
            f2(n);
        }else if(m==3){
            if(n<=57){
                f3(n);
            }else{
                cout<<"输入错误,请重新输入";;
            }
        }else if(m==4){
            cout<<"欢迎下次使用";
            break;
        }else{
            cout<<"输入错误,请重新输入";
        }
        cout<<"\n\n";
    }
    return 0;

}


0
我要回答