#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <conio.h>
using namespace std;
struct port {
    char name[16]; 
    int status;//1:激活  0:禁用
    char ip[16];
    char type[4]; //端口类型LAN WAN
};
//定义5个端口变量;
struct port port1, port2, port3, port4,port5;
void show_port_status(struct port port) {
    printf("名称[%s]\t状态[%s]\tIP[%s]\t类型[%s]\n",
        port.name,
        port.status == 0 ? "禁用" : "激活",
        port.ip,
        port.type);
}
void show_ports(void) {
    system("cls");
    printf("---端口状态---\n");

    printf("PORT1:\t");
    show_port_status(port1);

    printf("PORT2:\t");
    show_port_status(port2);

    printf("PORT3:\t");
    show_port_status(port3);

    printf("PORT4:\t");
    show_port_status(port4);

    printf("PORT5:\t");
    show_port_status(port5);

    system("pause");
}
void set_port1(void) {
    system("cls");
    printf("---设置PORT1端口---\n");

    printf("请输入端口名称: ");
    scanf_s("%s", port1.name,sizeof(port1.name));

    printf("请输入端口的状态:[0:禁止] [1:激活] ");
    scanf_s("%d", &port1.status);

    printf("请输入端口的类型:[LAN 或 WAN] ");
    scanf_s("%s", port1.type,sizeof(port1.type));

    printf("请输入端口的IP地址: ");
    scanf_s("%s", port1.ip,sizeof(port1.ip));
}

void set_port2(void) {
    system("cls");
    printf("---设置PORT2端口---\n");

    printf("请输入端口名称: ");
    scanf_s("%s", port2.name, sizeof(port2.name));

    printf("请输入端口的状态:[0:禁止] [1:激活] ");
    scanf_s("%d", &port2.status);

    printf("请输入端口的类型:[LAN 或 WAN] ");
    scanf_s("%s", port2.type, sizeof(port2.type));

    printf("请输入端口的IP地址: ");
    scanf_s("%s", port2.ip, sizeof(port2.ip));
}

void set_port3(void) {
    system("cls");
    printf("---设置PORT3端口---\n");

    printf("请输入端口名称: ");
    scanf_s("%s", port3.name,sizeof(port3.name));

    printf("请输入端口的状态:[0:禁止] [1:激活] ");
    scanf_s("%d", &port3.status);

    printf("请输入端口的类型:[LAN 或 WAN] ");
    scanf_s("%s", port3.type,sizeof(port3.type));

    printf("请输入端口的IP地址: ");
    scanf_s("%s", port3.ip,sizeof(port4.ip));
}

void set_port4(void) {
    system("cls");
    printf("---设置PORT4端口---\n");

    printf("请输入端口名称: ");
    scanf_s("%s", port4.name,sizeof(port4.name));

    printf("请输入端口的状态:[0:禁止] [1:激活] ");
    scanf_s("%d", &port4.status);

    printf("请输入端口的类型:[LAN 或 WAN] ");
    scanf_s("%s", port4.type,sizeof(port4.type));

    printf("请输入端口的IP地址: ");
    scanf_s("%s", port4.ip,sizeof(port4.ip));
}

void set_port5(void) {
    system("cls");
    printf("---设置PORT5端口---\n");

    printf("请输入端口名称: ");
    scanf_s("%s", port5.name,sizeof(port5.name));

    printf("请输入端口的状态:[0:禁止] [1:激活] ");
    scanf_s("%d", &port5.status);

    printf("请输入端口的类型:[LAN 或 WAN] ");
    scanf_s("%s", port5.type,sizeof(port5.type));

    printf("请输入端口的IP地址: ");
    scanf_s("%s", port5.ip,sizeof(port5.ip));
}
void Create_Account(void) {
    system("cls");
    string new_account;
    string new_password;
    
    cout<<"请输入要创建的账号名称:";
    cin >> new_account;
    cout << "请输入要创建的账号密码:";
    cin >> new_password;
    cout << "您已成功创建新账号!\n";
    cout << "新账号名为:"<<new_account<<"\n密码为:"<< new_password<< endl;
    system("pause");
}
void Ip_Manage(void) {
    system("cls");
    printf("------IP管理中------\n");
    printf("待实现...\n\n");
    system("pause");
}
void input_error(void) {
    system("cls");
    printf("\n\n输入错误!\n\n");
    printf("\n\n按任意键后,请重新输入\n\n");
    system("pause");
}
void set_ports(void) {
    int n=0;
    system("cls");
    printf("请选择要设置的端口:");
    cin.ignore((numeric_limits<std::streamsize>::max)(), '\n');
    cin >> n;
    switch (n){
    case 1:
        set_port1();
        break;
    case 2:
        set_port2();
        break;
    case 3:
        set_port3();
        break;
    case 4:
        set_port4();
        break;
    case 5:
        set_port5();
        break;
    default:
        break;
    }
    system("pause");
}
void Port_Manage(void) {
    char n;

    while (1) {
        system("cls");
        printf("1. 查看端口\n");
        printf("2. 设置端口\n");
        printf("3. 返回主菜单\n");
        printf("请选择: ");

        cin.ignore((numeric_limits<std::streamsize>::max)(), '\n');
        scanf_s("%c", &n,sizeof(n));
        if (n == '1') {
            show_ports();
        }
        else if (n == '2') {
            set_ports();
        }
        else if (n == '3') {
            break;
        }
        else {
            input_error();
        }
    }
}
void show_menu(void) {
    system("cls");
    printf("\n---交换机后台管理---\n");
    printf("1.创建账号\n");
    printf("2.IP管理\n");
    printf("3.端口管理\n");
    printf("4.退出\n");
    printf("请选择:");
}

void login(void) {
    string username;
    string password;
    while (1){
        system("cls");
        printf("请输入用户名:");
        cin >> username;
        printf("请输入密码:");
        cin >> password;
        if ((username== "admin") && (password =="123456")) {
            break;
        }
        else {
            printf("用户名或密码错误!请重新输入!\n");
            system("pause");
        }
    }    
}
int main(void) {
    int n=0;
    login();
    bool is_quit = false;
    while (!is_quit){
        show_menu();
        scanf_s("%d", &n);
        switch (n)
        {
        case 1:Create_Account();
            break;
        case 2:Ip_Manage();
            break;
        case 3:Port_Manage();
            break;
        case 4:
            is_quit = true;
            break;
        default:
            input_error();
            break;
        }
    }
    return 0;
}

posted on 2022-10-29 18:22  wshidaboss  阅读(118)  评论(0编辑  收藏  举报