永发信息网

c语言 求解,每个步骤都是干什么的,根本看不懂

答案:3  悬赏:10  手机版
解决时间 2021-03-26 05:23
c语言 求解,每个步骤都是干什么的,根本看不懂
最佳答案
#include "stdio.h"
#include "conio.h"
#include "windows.h"
#include "string.h"

int main(void)
{
char szUser[20] = {0};//用于输入用户名
char *PUser[3]={"hv","km","00000000000"};//定义的用户名
char *Pword[3]={"123","321","00000000000"};//定义的密码
char chPwd[4];
int   flag_u=0,i=0,flag_p=0,num=0;
printf("Enter user name:");
    gets(szUser);   //输入用户名
//printf("szUser=%s
",szUser);
while(i<2)//循环两次{"hv","km","00000000000"},相当于00000000000没有用
    {
 if(strcmp(szUser,PUser[i])==0)//判断输入的用户名是否和定义的用户名其中一            //个相等
 {
 flag_u=1;//判断到有相等的就把flag_u赋值为1
     break;
 }
else
{
flag_u=0;//没有相等的就把flag_u赋值为0
i++;
   
}
 num=i;   //记录一下是下标为0的和输入的用户名相等还是下标为1的
}
//printf("num=%d,flag_u=%d
",num,flag_u);
printf("Enter passwd:");
i=0;
while (i<10)//循环输入密码
{
chPwd[i]=getch();//getch这个输入不会在控制台输出
if(chPwd[i]==13)
break;
printf("%c", chPwd[i]); //打印输出输入的
Sleep(500);//等待0.5秒
printf("*"); //退格  输出*
        i++;
}
    chPwd[3]='';
    //printf("chPwd=%s
",chPwd);
printf("
");
if(strcmp(chPwd,Pword[num])==0)
flag_p=1;
else
flag_p=0;
if((flag_u==1)&&(flag_p==1))
printf("登录成功!");
else
printf("您输入的账号或密码错误!");
getch();
}
全部回答
这是一个账号登陆的程序吧,一步一步看自然就懂了,别人没法说
大致是一个输入用户名和密码,并进行检查。
其中
while (i<10)
{
chPwd[i]=getch();
if(chPwd[i]==13)
break;
printf("%c", chPwd[i]);
Sleep(500);
printf("\b*");
i++;
}
的作用是将输入的密码改为*号显示
但由于//printf("num=%d,flag_u=%d\n",num,flag_u);被注释掉了
所以最终只有输入的密码为123,才会显示“登录成功!”
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
企业建立完善管理制度的目的是什么?
用估算500除以7大约等于多少
三星note4不能播放MP4
带所谓开头的说说
下面计算中,正确的是A.(m+n)3(m+n)2=m5+
直男能接受和人妖发生关系吗?
定陶姓车的在南王店哪个村
浙江温州的卡可不可以在江西抚州装宽带。
井字形高压电杆有七根线为什么 上2中3下2?
广州缔煌文化传媒有限公司可不可靠?
邵武车在武夷山闯红灯一定需要武夷山处理吗
之前纹了一只勾陈还能纹关公吗?
求教物件的年代,材料,价值
CodeWarrior 安装时出现以下错误,怎样才能正
日主甲木生于午月 缺水,午火旺 午火泄甲木
推荐资讯
嘴下有三颗痣代表什么意思?
永嘉哪里有好玩的景点
A friend wrote me an e-mail the other day
adobe photoshop cs4注册表中怎么删除?
三星S600相机怎么样?
在EXCEL中vba工程添加数字签名怎样做
四四()0除以5约等于900()里最大能填
雪拉瑞多少钱一只
zippo-236黑裂漆
为什么我一天能胖一斤呢
什么心照什么四字成语
国家规定的楼房自建平数
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?