如何评价这种代码,关于cpp之路的问题,就这样还有希望吗

#include <iostream>

using namespace std;

int main()
{
   int passworld;
   int names;
   cout<<"请键入您的姓名"<<endl;
   cin >> names;
   if (names=hk)
    {
        cout<<"请输入您的密码"<<endl;
        cin >> passworld;
        if (passworld=123456)
            {
                cout<<"welcome"<< names <<endl;
            }
        else
             {
                cout<<"who are you?"<< names <<"why are coming here"<<endl;
             }
    }
   else
   {
      cout<<"交易终止" <<endl;
   }
   return 0;
}

以上代码怎么样,如何评价,为什么运行报错


```c++
#include <iostream>
 
using namespace std;
 
int main()
{
   int passworld;             // password才是密码的意思
   int names;                  //改成string names;int是整形,string是字符串
   cout<<"请键入您的姓名"<<endl;
   cin >> names;
   if (names=hk)            //改成if(names=="hk"),两个等于才是判断相等,一个等于是赋值
    {
        cout<<"请输入您的密码"<<endl;
        cin >> passworld;
        if (passworld=123456)
            {
                cout<<"welcome"<< names <<endl;
            }
        else
             {
                cout<<"who are you?"<< names <<"why are coming here"<<endl;// why are you coming here
             }
    }
   else
   {
      cout<<"交易终止" <<endl;
   }
   return 0;
}
 

```