不知道如何在家庭作业中实现事物

问题描述 投票:0回答:1

现在,问题是:

组装一个程序,该程序将模拟自动电话交换的工作。例如,有10个订阅者,任何人都可以呼叫任何人,每个都有以下几种条件:等待一个答案,打电话说免费。他们彼此随机调用,程序应显示此系统的操作。

而且,我想出了一些方法,但是,不知道如何准确地实现它。

    #include <cstdlib>
    #include <chrono>
    #include <random>
    #include <string>
    using namespace std;

    int i, a;
    string state[4]{ "free", "waiting", "calling", "talking" };
    int states[4]{ 1,2,3,4 };
    int subs[10]{ 1,2,3,4,5,6,7,8,9,10 };

    int main(int subs[10], int states[4], string state[4])
    {
        srand(time(nullptr));
        for (int x = 0; x < subs[10]; x++)
        {
            states[i] = rand() % 4;
            states[i] = a;
            cout << "Subscriber" << subs[x] << "is" << state[a] << endl << endl;
        }
    }

在这里,我在states[i] = a行中也有错误

现在,我在那里尝试做的是随机分配一个数字,然后将其分配给任何订户,然后向运行该程序的人显示。但是,好吧……这并非问题所要告诉我的。而且,我不确定在这里可以做什么。我的时间也很有限,只剩下12个小时了,因为我很懒。请帮忙吗?

c++ state-machine
1个回答
0
投票

您的代码的清晰版本:

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main(void) {
    int subs[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    size_t len = sizeof(subs) / sizeof(subs[0]);
    string subsStatus[10];
    string state[] = {"CALLING", "WAITING", "FREE", "TALKING"};

    srand(time(NULL));

    for (int i = 0; i < len; i++) {
        subsStatus[i] = state[rand() % 4]; // example: Subscriber4 = "TALKING"[3]
        cout << "Subscriber" << subs[i] << " is " << subsStatus[i] << endl;
    }

    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.