首页 > 解决方案 > 网络宠物 switch 语句,添加到一个 int 不知道为什么 c++

问题描述

我一直在研究这个网络宠物。我正在尝试更新睡眠和饥饿值并能够输出它们的状态。

我可以更新饥饿和睡眠,但是如果我尝试显示状态它会更新饥饿和睡眠一次,那么如果我再次显示状态,它将显示新值而无需再次更新。

只是想知道是否有人可以对此有所了解。

#include <iostream>
#include <string>
using namespace std;

int hunger = 1;
int sleepy = 1;
int x = 0;

int main()
{
    string feed(int); //to feed pet
    string sleep(int); //to rest pet
    string displyFeed(int);
    string displySleep(int);

    while (x != 4)
    {
        cout << "1 to feed, 2 to nap, 3 state, 4 quit" << endl;

        cin >> x;

        string feed2 = feed(hunger);
        string sleep2 = sleep(sleepy);
        string disply1 = displyFeed(hunger);
        string disply2 = displySleep(sleepy);

        switch (x)
        {
        case 1:
            cout << "pet is" << feed2 << endl;
            hunger++;
            break;
        case 2:
            cout << "pet is" << sleep2 << endl;
            sleepy++;
            break;
        case 3:
            cout << "pet is" << disply1 << endl;
            cout << "pet is" << disply2 << endl;
            break;
        case 4:
            break;
        }
    }
}

string feed(int hunger2)
{
    switch (hunger2)
    {
    case 0:
        return "DEAD";
        break;
    case 1:
        return "very hungry.... almost DEAD";
        break;
    case 2:
        return "hungry";
        break;
    case 3:
        return "fed";
        break;
    case 4:
        return "full";
        break;
    }
}

string sleep(int sleep2)
{
    switch (sleep2)
    {
    case 0:
        return "ALSEEP";
        break;
    case 1:
        return "very sleepy.... almost ASLEEP";
        break;
    case 2:
        return "sleepy";
        break;
    case 3:
        return "rested";
        break;
    case 4:
        return "well rested";
        break;
    }
}

string displyFeed(int hunger3)
{
    switch (hunger3) {
    case 0:
        return "DEAD";
        break;
    case 1:
        return "Very hungry";
        break;
    case 2:
        return "hungry";
        break;
    case 3:
        return "well fed";
        break;
    case 4:
        return "full";
        break;
    }
}

string displySleep(int sleep3)
{
    switch (sleep3) {
    case 0:
        return "ASLEEP";
        break;
    case 1:
        return "Very sleepy";
        break;
    case 2:
        return "sleepy";
        break;
    case 3:
        return "rested";
        break;
    case 4:
        return "well rested";
        break;
    }
}

标签: c++

解决方案


推荐阅读