当前位置: 代码迷 >> C语言 >> [求助]输出问题
  详细解决方案

[求助]输出问题

热度:329   发布时间:2007-05-26 08:14:05.0
[求助]输出问题
一个验证函数,怎样改才能使输入用户名打印出来也是用户名,比如输入killer,就把killer输出在屏幕上,现在输入killer,输出是k@iAlBlCeDrE..........- -!
程序代码:
int yanzheng() //验证函数
{
int i,j,k,success;
char name[20]; //用户名
char passwords[15]; //密码
system(\"cls\");
printf(\"\t\t\t=========系统验证=========\n\n\");
for( i = 0 ; i<3 ; i++)
{
printf(\"请输入用户名:\");
for( k = 0 ; k<19 ; k++)
{
if ( ( name[k] = getche() ) == 13)
break;
else
printf(\"%c,name[k]\");
//感觉这里出问题..........
}
name[k] ='\0';

printf(\"\n\n请输入登录密码:\");

for( j = 0; j<14 ; j++)
{
if ( (passwords[j] = getch () ) == 13)
break;
else
printf(\"*\");
}
passwords[j]='\0';

if(strcmp(name,\"killer\")==0 && strcmp(passwords,\"1\")==0)
{
system(\"cls\");
printf(\"您已成功登录!!\n\n\");
printf(\"按任意键继续... ...\n\n\");
getch();
return success = 1;
break;
}
else
{
if( i < 2)
{
system(\"cls\");
printf(\"\n\");
printf(\"密码不正确,请重新输入!\n\");
printf(\"本系统严格区分密码大小写,请仔细验证后再进行输入。\");
printf(\"\n\n您还有%d次机会\n\n\",2-i);
}
else
{
printf(\"\n\");
printf(\"\n\n对不起您已连续三次输入错误密码,您无权使用本系统!\n\");
printf(\"谢谢您的使用,再见!\n\n\");
getch();
exit(-1);
}
}
}
return success=0;
}

[此贴子已经被作者于2007-5-26 9:20:53编辑过]

搜索更多相关的解决方案: 输出  

----------------解决方案--------------------------------------------------------
printf("%c,&name");
当然是这个的问题了
应写为
printf("%c",name);
同时这个循环好像还有问题
----------------解决方案--------------------------------------------------------
回复:(zhaoyg)printf(

程序代码:
for( k = 0 ; k<19 ; k++)
{
if ( ( name[k] = getche() ) == 13)
break;
else
printf(\"%c\",name[k]);//改成这样还是不行........
}


循环怎么错了?

----------------解决方案--------------------------------------------------------
printf("请输入用户名:");
for( k = 0 ; k<19 ; k++)
{
if ( ( name[k] = getche())=='\0')/*这里应该 是回车吧~~~*/
break;
else
printf("%c",&name); //感觉这里出问题..........
}
name[k] ='\0';


----------------解决方案--------------------------------------------------------
回复:(明日死神)printf(
改成那样的话,无法接下去执行了,只能到输入用户名......
----------------解决方案--------------------------------------------------------
以下是引用killer_l在2007-5-26 9:08:46的发言:
改成那样的话,无法接下去执行了,只能到输入用户名......

我在看看
可是你的13有什么用我看不出来
~??


----------------解决方案--------------------------------------------------------
以下是引用明日死神在2007-5-26 9:11:04的发言:

我在看看
可是你的13有什么用我看不出来
~??

如果没输入的话,就跳出.......


----------------解决方案--------------------------------------------------------
if ( ( name[k] = getche() ) == '\0')
goto next;
else
printf("%c,&name"); //感觉这里出问题..........
}
name[k] ='\0';

next: printf("\n\n请输入登录密码:");

用GOTO看能不能解决~
----------------解决方案--------------------------------------------------------
以下是引用明日死神在2007-5-26 9:21:51的发言:
if ( ( name[k] = getche() ) == '\0')
goto next;
else
printf("%c,&name"); //感觉这里出问题..........
}
name[k] ='\0';

next: printf("\n\n请输入登录密码:");

用GOTO看能不能解决~

..............我是说打印用户名有问题,并不是跳出的问题 - -!


----------------解决方案--------------------------------------------------------
以下是引用killer_l在2007-5-26 9:25:24的发言:

..............我是说打印用户名有问题,并不是跳出的问题 - -!

我 有点晕~~
我还是先不乱指点了


----------------解决方案--------------------------------------------------------
  相关解决方案