我在大学工作,我不能在C中使用字符串或数组,
该程序要求用户输入他的名字,
第一个字母应为大写字母,其余为小写字母,
只有在正确的情况下,程序才会继续执行下一个代码,
问题是我唯一可以使用的是char
,
有人知道怎么做吗?
我可以使用的唯一库是:stdio
,stdlib
,math
,time
和windows
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);
} 只有按下'''才会结束。再次感谢大家的信息。
答案 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 != '.');
无论如何都是这样的。