大写&使用char的小写

时间:2014-12-04 17:58:34

标签: c

我在大学工作,我不能在C中使用字符串或数组, 该程序要求用户输入他的名字, 第一个字母应为大写字母,其余为小写字母, 只有在正确的情况下,程序才会继续执行下一个代码, 问题是我唯一可以使用的是char, 有人知道怎么做吗?

我可以使用的唯一库是:stdiostdlibmathtimewindows

void nameCheck(){
int flag1 = 0, flag2 = 1, one = 1;
char name = 0;

printf("Please enter you name :\n");


do
{
    flag1 = 0;
    flag2 = 1;
    printf("\n");
    name = 0;
    one = 1;
    while (name != '.')
    {
        name = getche();
        if (name >= 'A' && name <= 'Z' && one == 1){
            flag1 = 1;
        }
        else if (name <= 'a' || name >= 'z'){
            if (name != '.')
                flag2 = 0;
        }
        one = 0;
    }
    if (flag1 == 1 && flag2 == 1)
        break;

    printf("\nIncorrect input please try again :\n");

} while (one == 0);

} 只有按下'''才会结束。再次感谢大家的信息。

1 个答案:

答案 0 :(得分:1)

我会使用全局变量:

bool first = true;

表示我们是否正在查看单词的第一个字母。

然后其余的很容易:

first = true;
do {
    inputChar = getchar();

    if inputChar is ASCII alpha then
        if inputChar is ASCII lowercase
            if first then 
                "print error message"
            else print char
        if inputChar is ASCII uppercase
            if first then
                print char
            else "print error message"
        else "print error message"
    else "print error message"
}
while (inputChar != '.');

无论如何都是这样的。