【问题标题】:PIN number to asterisk "*" [duplicate]带星号“*”的 PIN 码 [重复]
【发布时间】:2014-11-30 08:16:12
【问题描述】:
#include<iostream.h>
#include<conio.h>
#include <stdlib.h>

int c,p,p1,p2,p3,Strans, Ctrans;
float amount;
int Cbalance = 5000;
int Sbalance = 10000;
char print;

void transaction(){
            clrscr();
            cout<<"Choose your transaction:";
            cout<<"\n\n\n\t\t(1) Balance Inquiry\t\t(2) Withdrawal";
            cout<<"\n\nSelect an Option: ";
            cin>>p1;
            //BALANCE INQUIRY
            if(p1==1){
                clrscr();
                cout<<"\n\n\n\t\t\t(1) Current\t\t(2) Savings";
                cout<<"\n\nSelect an Option: ";
                cin>>p2;
                //Balance Inquiry CURRENT
                if(p2==1){
                    clrscr();
                    cout<<"\n\n\n\t\t\t    Print Receipt?: ";
                    cout<<"\n\n\n\t\t\t    (1) Yes (2) No";
                    cout<<"\n\nChoose Option: ";
                    cin>>print;
                        clrscr();
                        cout<<"\n\n\n\t\t\t    Your balance is: "<<Cbalance;
                        cout<<"\n\n\n\n\n\t\t   Do you want to have another transaction?";
                        cout<<"\n\n\t\t\t        (1) Yes (2) No";
                        cout<<"\n\n\nChoose Option (1 or 2): ";
                        cin>>Ctrans;
                        if(Ctrans==1){
                            transaction();
                        }
                        if(Ctrans==2){
                            clrscr();
                            cout<<"\n\n\n\n\t\t\tThank you for banking with us.";
                            cout<<"\n\t\t\t    Please get your card.";
                        }
                        else{
                            clrscr();
                            cout<<"\n\n\n\t\t\t\tInvalid Input!";
                            cout<<"\n\n\t\t\t    Please get your card.";
                        }

                }
                //Balance Inquiry SAVINGS
                else if(p2==2){
                    clrscr();
                    cout<<"\n\n\n\t\t\t    Print Receipt?: ";
                    cout<<"\n\n\n\t\t\t    (1) Yes (2) No";
                    cout<<"\n\nChoose Option (1 or 2): ";
                    cin>>print;
                    clrscr();
                    cout<<"\n\n\n\t\t\t    Your balance is: "<<Sbalance;
                    cout<<"\n\n\n\n\n\t\t   Do you want to have another transaction?";
                    cout<<"\n\n\t\t\t        (1) Yes (2) No";
                    cout<<"\n\n\nChoose Option (1 or 2): ";
                    cin>>Strans;
                    if(Strans==1){
                        transaction();
                    }
                    if(Strans==2){
                        clrscr();
                        cout<<"\n\n\n\n\t\t\tThank you for banking with us.";
                        cout<<"\n\t\t\t    Please get your card.";
                    }
                    else{
                        clrscr();
                        cout<<"\n\n\n\t\t\t\tInvalid Input!";
                        cout<<"\n\n\t\t\t    Please get your card.";
                    }
                }
                else{
                    clrscr();
                    cout<<"\n\n\n\t\t\t\tInvalid Input!";
                    cout<<"\n\n\t\t\t    Please get your card.";
                }
            }
            //WITHDRAWAL
            else if(p1==2){
                clrscr();
                cout<<"\n\n\n\t\t\t(1) Current\t\t(2) Savings";
                cout<<"\n\nSelect an Option: ";
                cin>>p3;
                //Withdrawal CURRENT
                if(p3==1){
                    clrscr();
                    cout<<"\n\n\n\t\t\t\tEnter Amount: ";
                    cin>>amount;
                    if(amount <= 0){
                        clrscr();
                        cout << "\n\n\n\t\t\t      Invlaid Amount.";
                        cout<<"\n\n\t\t\t    Please get your card.";
                    }
                    if(amount > 0&&amount < 100){
                        clrscr();
                        cout<<"\n\n\n\t\t\t    Minimum amount is 100";
                        cout<<"\n\n\n\n\n\t\t   Do you want to have another transaction?";
                        cout<<"\n\n\t\t\t        (1) Yes (2) No";
                        cout<<"\n\n\nChoose Option (1 or 2): ";
                        cin>>Ctrans;
                        if(Ctrans==1){
                            transaction();
                        }
                        if(Ctrans==2){
                            clrscr();
                            cout<<"\n\n\n\n\t\t\tThank you for banking with us.";
                            cout<<"\n\t    Please get your card.";
                        }
                        else{
                            clrscr();
                            cout<<"\n\n\n\t\t\t\tInvalid Input!";
                            cout<<"\n\n\t\t\t    Please get your card.";
                        }
                    }
                    if(amount>Cbalance){
                        clrscr();
                        cout<<"\n\n\n\t\t\t\tInsuficient funds!";
                        cout<<"\n\n\n\n\n\t\t   Do you want to have another transaction?";
                        cout<<"\n\n\t\t\t        (1) Yes (2) No";
                        cout<<"\n\n\nChoose Option (1 or 2): ";
                        cin>>Ctrans;
                        if(Ctrans==1){
                            transaction();
                        }
                        if(Ctrans==2){
                            clrscr();
                            cout<<"\n\n\n\n\t\t\tThank you for banking with us.";
                            cout<<"\n\t    Please get your card.";
                        }
                        else{
                            clrscr();
                            cout<<"\n\n\n\t\t\t\tInvalid Input!";
                            cout<<"\n\n\t\t\t    Please get your card.";
                        }
                    }
                    if(amount<=Cbalance&&amount>=100){
                        clrscr();
                        cout<<"\n\n\n\n\t\t\t\tBalance: "<<Cbalance - amount;
                        cout<<"\n\n\n\n\n\t\t   Do you want to have another transaction?";
                        cout<<"\n\n\t\t\t        (1) Yes (2) No";
                        cout<<"\n\n\nChoose Option (1 or 2): ";
                        cin>>Strans;
                        if(Strans==1){
                            transaction();
                        }
                        if(Strans==2){
                            clrscr();
                            cout<<"\n\n\n\n\t\t\tThank you for banking with us.";
                            cout<<"\n\t    Please get your card and count your money before leaving.";
                        }
                        else{
                            clrscr();
                            cout<<"\n\n\n\t\t\t\tInvalid Input!";
                            cout<<"\n\n\t\t\t    Please get your card.";
                        }
                    }
                }
                //Withdrawal SAVINGS
                else if(p3==2){
                    clrscr();
                    cout<<"\n\n\n\t\t\t\tEnter Amount: ";
                    cin>>amount;
                    if(amount <= 0){
                        clrscr();
                        cout << "\n\n\n\t\t\t       Invalid Amount.";
                        cout<<"\n\n\t\t\t    Please get your card.";
                    }
                    if(amount > 0&&amount < 100){
                        clrscr();
                        cout<<"\n\n\n\t\t\t    Minimum amount is 100";
                        cout<<"\n\n\n\n\n\t\t   Do you want to have another transaction?";
                        cout<<"\n\n\t\t\t        (1) Yes (2) No";
                        cout<<"\n\n\nChoose Option (1 or 2): ";
                        cin>>Strans;
                        if(Strans==1){
                            transaction();
                        }
                        if(Strans==2){
                            clrscr();
                            cout<<"\n\n\n\n\t\t\tThank you for banking with us.";
                            cout<<"\n\t    Please get your card.";
                        }
                        else{
                            clrscr();
                            cout<<"\n\n\n\t\t\t\tInvalid Input!";
                            cout<<"\n\n\t\t\t    Please get your card.";
                        }
                    }
                    if(amount>Sbalance){
                        clrscr();
                        cout<<"\n\n\n\t\t\t\tInsuficient funds!";
                        cout<<"\n\n\n\n\n\t\t   Do you want to have another transaction?";
                        cout<<"\n\n\t\t\t        (1) Yes (2) No";
                        cout<<"\n\n\nChoose Option (1 or 2): ";
                        cin>>Strans;
                        if(Strans==1){
                            transaction();
                        }
                        if(Strans==2){
                            clrscr();
                            cout<<"\n\n\n\n\t\t\tThank you for banking with us.";
                            cout<<"\n\t    Please get your card.";
                        }
                        else{
                            clrscr();
                            cout<<"\n\n\n\t\t\t\tInvalid Input!";
                            cout<<"\n\n\t\t\t    Please get your card.";
                        }
                    }
                    if(amount<=Sbalance&&amount>=100){
                        clrscr();
                        cout<<"\n\n\n\n\t\t\t\tBalance: "<<Sbalance - amount;
                        cout<<"\n\n\n\n\n\t\t   Do you want to have another transaction?";
                        cout<<"\n\n\t\t\t        (1) Yes (2) No";
                        cout<<"\n\n\nChoose Option (1 or 2): ";
                        cin>>Strans;
                        if(Strans==1){
                            transaction();
                        }
                        if(Strans==2){
                            clrscr();
                            cout<<"\n\n\n\n\t\t\tThank you for banking with us.";
                            cout<<"\n\t    Please get your card and count your money before leaving.";
                        }
                        else{
                            clrscr();
                            cout<<"\n\n\n\t\t\t\tInvalid Input!";
                            cout<<"\n\n\t\t\t    Please get your card.";
                        }
                    }
                }
                else{
                    clrscr();
                    cout<<"\n\n\n\t\t\t\tInvalid Input!";
                    cout<<"\n\n\t\t\t    Please get your card.";
                }
            }
            else{
                clrscr();
                cout<<"\n\n\n\t\t\t\tInvalid Input!";
                cout<<"\n\n\t\t\t    Please get your card.";
            }

}

void main(){
    clrscr();
    cout<<"\n\n\t\t   -----------------------------------------\n";
    cout<<"\t\t   WELCOME TO BANK OF THE PHILIPPINE ISLANDS\n ";
    cout<<"\t\t   -----------------------------------------\n";
    cout<<"\n\n\t\t      (1) Continue\t\t(2) Exit";
    cout<<"\n\n\n\nSelect an Option (1 or 2):  ";
    cin>>c;
    //CONTINUE
    if(c==1){
        clrscr();
        cout<<"\n\n\n\t\t\t\tEnter your PIN: ";
        cin>>p;
        //TRANSACTION
        if(p==1234){
            transaction();

        }
        else{
            clrscr();
            cout<<"\n\n\n\t\t\t\t   Wrong PIN!";
            cout<<"\n\n\t\t\t    Please get your card.";
        }
    }
    //EXIT
    else if(c==2){
        clrscr();
        cout<<"\n\n\t\t\tThank you for banking with us.";
        cout<<"\n\n\t\t\t    Please get your card.";
    }
    else{
        clrscr();
        cout<<"\n\n\n\t\t\t\tInvalid Input!";
        cout<<"\n\n\t\t\t    Please get your card.";
    }
}
getch();

我正在为我朋友的一个学校项目在 C++ 上制作一个 ATM 接口。如何将 PIN 码更改为星号“*”?附言这 PIN 码在 MAIN 中。谢谢:D

我正在为我朋友的一个学校项目在 C++ 上制作一个 ATM 接口。如何将 PIN 码更改为星号“*”?附言这 PIN 码在 MAIN 中。谢谢:D

【问题讨论】:

  • 在未来,值得发布一个更小的代码示例来演示您的问题,而不是一个巨大的代码块,您的问题隐藏在某个地方
  • 真的有必要将五页代码转储到问题中吗,当您可能只是问“我如何从cin 读取数字但显示星号而不是输入的字符时?”

标签: c++ passwords turbo-c


【解决方案1】:

你可以像这样使用getch()

int i=1;
cout<<"\n\n\n\t\t\t\tEnter your PIN: ";
while((p=getch()) != '\n' && p==i) {
    i++;
    cout<<"*";
}
if(i==5)   
    transaction();            
else {        
    clrscr();         
    cout<<"\n\n\n\t\t\t\t   Wrong PIN!";         
    cout<<"\n\n\t\t\t    Please get your card.";         
}

或者像这样:

int i=0,pin[4]={0};
cout<<"\n\n\n\t\t\t\tEnter your PIN: ";
while((pin[i]=getch()) != '\n' && i<4) {
    i++;
    cout<<"*";
}
if(pin[0]==1 && pin[1]==2 && pin[2]==3 && pin[3]==4)   
    transaction();            
else {        
    clrscr();         
    cout<<"\n\n\n\t\t\t\t   Wrong PIN!";         
    cout<<"\n\n\t\t\t    Please get your card.";         
}

【讨论】:

  • 它不起作用:(我第一次在键盘上按一个键时,“错误的密码!请拿你的卡”弹出。
  • 您输入了 1234 吗?如果是,请尝试编辑后的代码。如果有效,请接受答案!
  • "1234" 已经工作了,但是当我输入不同的密码时它不会输入,当我输入 1 作为第一位数字并且输入 2 以外的任何数字作为第二位数字时,它会删除我输入的第一位数字.
  • 那么告诉别针的最大长度
  • 最大长度为4
猜你喜欢
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多