c - 使用主体中的输入,以便用户可以编辑

标签 c input enums program-entry-point

#include <stdio.h>
#include <string.h>

enum Race {wood_elf, human, high_elf, khajiit, orc, dwarf};

enum Class {archer, assassin, healer, knight, mage, paladin};

typedef struct Character
{
    char name[20];
    enum Class class_;
    enum Race race_;
    int perception;
    int stealth;
    int strength;
    int charisma;
    int agility;
    int intelligence;   
    int health;
    int magika;
    int stamina; 
} Character;

int main(int argc, char* argv[])
{

    int mc = 1;

    while(mc != 2) {
        printf("Welcome to Ceatures and Computers, please enter a number to select an option: \n\n");
        printf("1.) Create Character \n");
        printf("2.) Quit \n");

        scanf("%i", &mc);

        if(mc == 1)
        {
        }

        if(mc == 2)
        {
            printf("Thank you for playing. \n");
        }

        if(mc > 2)
            printf("Please enter number 1 or 2 to select a menu option. \n");
    }
    return 0;   
}

我目前正在尝试制作一款基于文本的游戏,并且正在大学学习。我很快就要离开,我想尝试一下这个网站,看看当我无法询问老师时它有多大用处。我当前正在做的部分是让用户输入他们的角色名称、职业、种族,以及具有最大数量和总和的技能,就像《辐射》一样。希望一切顺利,我可以回到这个网站寻求帮助并获得更多知识来帮助其他人。

最佳答案

欢迎。
一些建议:

如果用户输入“one”等文本,会发生什么?
始终检查错误:

if (scanf("%i", &mc) != 1){
    printf("incorrect input.\n");
    return 1;
}

还检查用户输入的值是否正确。如果不采取适当的行动。

使用这个:

typedef struct{
    //...
} Character;

而不是(在您的情况下这是多余的命名):

typedef struct Character{
        //...
} Character;

我希望这会有所帮助。

关于c - 使用主体中的输入,以便用户可以编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38113823/

相关文章:

c# - 如何将字符串转换为枚举

c - section 和 task openmp 的区别

html - 复选框只影响一个元素?

html - html 输入元素的高度不同,计算错误

C 数据库程序找不到第一个输入。为什么?

node.js - 如何使用虚拟方法从 Mongoose 模式获取枚举值?

Swift 中的 Objective-C 枚举

c - c 中的 volatile

c - c中多个范围之间的随机数

c - 输出错误