C艹之ATM注册系统实现

发布于 2019-06-07  138 次阅读


通过做某人的大作业,终于解决了个困扰咱的一个问题。

上学期的大作业,胖der的历险记的开发过程中,真的是不知道这个结构体该如何用,傻傻地去在用到的函数中声明,以为不能在函数之中递数值

看完萧某人给咱发的代码之后,终于知道如何解决了,全局声明就完事了

然后心里想着,C++里的类是不是一样可以这样呢?

经过一个简单的测试之后,没毛病!

于是,本着用一个基类来储存着各用户信息并以数组的形式来声明的方法

做了一个小小的注册实现。

下一步的想法是用读写文件I/O机制来保存住信息(就是存档)

以下是代码:不多解释

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include<iostream>
#include<string.h>
#include<time.h>
#include<windows.h>
#include<stdio.h>
#include<iomanip>
using namespace std;
static int countAccount=0;
class user{
    protected:
        int id;
        static int t_id;
        long password;
        char name[20];
    public:
        user(){
            this->password=0;
            strcpy(this->name,"empty");
            this->id=this->t_id;
            this->t_id++;
        }
        int printID(){
            return this->id;
        }
        long printPassword(){
            return this->password;
        }
        char* printName(){
            return this->name;
        }
        void setPassword(long password){
            this->password=password;
        }
        void setName(char name[]){
            strcpy(this->name,name);
        }
};
int user::t_id=0;
user users[100];
class bank:public user{
    protected:
        double money;
    public:
        bank(){
            this->money=0;
        }
        void signUp(){
            char name[20];
            long p1,p2;
            cout<<"Welcome to Sign Up page"<<endl;
            cout<<"Please enter your name"<<endl;
            cin>>name;
            users[countAccount].setName(name);
            while(1){
                cout<<"Please enter your password"<<endl;
                cin>>p1;
                cout<<"Please enter your repassword to confirm"<<endl;
                cin>>p2;
                if(p1!=p2){
                    cout<<"enter error!"<<endl;
                    cout<<"try again!"<<endl;
                    Sleep(3000);
                    system("cls");
                    continue;
                } else {
                    break;
                }
            }
            users[countAccount].setPassword(p1);
            countAccount++;
            system("pause");
            menu();
        }
        void showAccount(){
            int i;
            cout<<"This is User's database page"<<endl;
            cout<<"-------------------"<<endl;
            for(i=0;i<20;i++){
                cout<<"ID: "<<setw(3)<<users[i].printID()<<"Name: "<<users[i].printName()<<endl;
            }
            cout<<"-------------------"<<endl;
            system("pause");
            menu();
        }
        void menu(){
            system("cls");
            int n;
            cout<<"Welcome to login/sign page menu"<<endl;
            cout<<"1.signUp"<<endl;
            cout<<"2.Users'database"<<endl;
            cout<<"3.exit"<<endl;
            cin>>n;
            switch(n){
                case 1:
                    system("cls");
                    signUp();
                    break;
                case 2:
                    system("cls");
                    showAccount();
                    break;
                case 3:
                    system("cls");
                    cout<<"Thanks for using"<<endl;
                    break;
            }
        }
};
int main(){
    bank tjut;
    tjut.menu();
    return 0;
}

查看效果如下:


人,远比想象的自由