求一个输入密码隐藏显示的程序c++

要能退格的,刚才看了一些都不能退格;
最重要的是,要隐藏,我最不会了wa;
还有一个可有可无的就是按下空格隐藏或显示;有了最好啦


#include<conio.h>
#include<Windows.h>
#include<bits/stdc++.h>
using namespace std;
int main()

{
    char pass[114];
    int p=0;//密码最后一字符所在指针 
    char c;
    bool f=0;//不显示密码 
    cout<<"password?"<<endl; 
    while((c=getch())!=13)
    {
        if(c==' ')
        {
            f=!f;//切换相反模式 
        }
        else if(c==8) 
            {
                p--;
                if(p<0) p=0; 
            }
            else
            {
                p++;
                pass[p]=c;
            }
        system("cls");//每输入或者更改一个字符就清屏 
        cout<<"password?"<<endl; 
        if(f)
        {
            for(int i=1;i<=p;i++)
            {
                cout<<pass[i];
            }
            continue;
        }
        for(int i=1;i<=p;i++)
        {
            cout<<"*";
        }
    }
    
    return 0;
}