输入账号,如果正确就输入密码,如果错误就继续输入,直到正确为止,不知道怎么弄,求大神解决

#include
#include
int main()
{
char name[12],password[20];
printf("欢迎━(*`?′*)ノ亻!\n");
do
{
printf("请输入账号: \n");
gets(name);

if (strcmp(name,"shenhao")==0)
    printf("账号正确\n"); 
    else
        printf("账号错误,请重新输入!\n");
}while(name);
do
{
printf("请输入密码:  \n");
gets(password); 
if (strcmp(password,"123456")==0)
    printf("欢迎你的到来!!!\n");
    else
    printf("密码错误,请重新输入!\n");
}while(password);
return 0;

}

if (strcmp(name,"shenhao")==0)
{
printf("账号正确\n");
break;
}

 #include<stdio.h>
#include<string.h>
int main() {
    char name[12],password[20];
    printf("欢迎━(*`?′*)ノ亻!\n");
    do {
        printf("请输入账号: \n");
        gets(name);
        if (strcmp(name,"shenhao")==0) {

            printf("账号正确\n");
            break;
        } else
            printf("账号错误,请重新输入!\n");
    } while(name);
    do {
        printf("请输入密码:  \n");
        gets(password);
        if (strcmp(password,"123456")==0) {

            printf("欢迎你的到来!!!\n");
            break;
        } else
            printf("密码错误,请重新输入!\n");
    } while(password);
    return 0;
}

建议一:一行if-else语句也要用{}
建议二:while(name)改成while(true)会比较好
建议三:do-while循环直接用while(true)不是会简单易读吗?