| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 840 人关注过本帖
标题:类的数组
只看楼主 加入收藏
亦尘
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2011-11-16
结帖率:55.56%
收藏
已结贴  问题点数:10 回复次数:4 
类的数组
我写的程序里变异好多问题啊;求教高手帮我更该下啊
#include<iostream>
using namespace std;
#include<string.h>
const NUM=100;
class Account
{
private:
    char mName[20];      //银行账户的户名
    long mSN;         //本账户的帐号
    float mBalance;   //本账户当前的余额
    static int id;


public:

    Account(char name[],long num,float amount);    //类的构造函数
    ~Account();  //类的析构函数

    void deposit(); //往账户中存款
    int withdraw(float amount); //从账户中取款
    float getBalance();  //查询余额
};


//构造函数的实现
Account::Account(char name[],long num,float amount)
{
    strcpy(mName,name);
    mSN=num;
    mBalance=amount;
}


//存款函数的实现
void Account::deposit()
{
    float money;
    cout<<"请输入存款金额";
    cin>>money;
    mBalance+=money;
}


//取款函数的实现
int Account::withdraw(float amount)
{
    if(amount>mBalance)
        cout<<"账户余额不足,请充值!!";
    else
    {
        mBalance+=amount;
        cout<<"取款成功";
    }
}


//查询函数的实现
float Account::getBalance()
{
    cout<<"您的账户余额为:"<<mBalance;
}


//显示菜单的实现
void menu()
{
    system("cls");
    cout<<"*************************"<<endl;
    cout<<"*************************"<<endl;
    cout<<"1.开户"<<endl;
    cout<<"2.取款"<<endl;
    cout<<"3.存款"<<endl;
    cout<<"4.查询"<<endl;
    cout<<"5.退出"<<endl;
    cout<<"*************************"<<endl;
    cout<<"*************************"<<endl;
}



//对账户操作时寻找正确的账户
int judge(Account a[],int m)
{
    long mark;
    int i,n;
    cout<<"请输入您的账号:";
    cin>>mark;
    for(i=0;i<m;i++)
    {
        if(a[i].mSN==mark)
        {
            n=i;
            return n;
        }
        else
            cout<<"您输入的账号有误!!";
    }
}



//主函数的实现
void main()
{
    int choice;
    int NO;
    float money;
    Account::id=0;
    Account obj[NUM];
    while(1)
    {    menu();
        cout<<"请输入您的选择:";
        cin>>choice;
        switch(choice){
        case 1:
            char name[20];    //用户姓名
            long num;         //用户账号
            float amount;     //账户进额
            cout<<"请输入您的信息:"<<endl;
            cout<<"姓名:";
            cin>>name;
            cout<<"账号:";
            cin>>num;
            cout<<"金额:";
            cin>>amount;
            strcpy(obj[Account::id].mName,name);
            obj[Account::id].mSN=num;
            obj[Account::id].mBalance=account;
            Account::id++;
            break;
        case 2:
            NO=judge(obj[],i);
            cout<<"请输入您的取款金额:";
            cin>>money;
            obj[NO].withdraw(money);
            break;
        case 3:
            NO=judge(obj[],i);
            cout<<"请输入您的存款金额:";
            obj[NO].deposit();
            break;
        case 4:
            NO=judge(obj[],i);
            obj[NO].getBalance();
            break;
        case 5:
            return 0;
}
搜索更多相关主题的帖子: 银行 private deposit include public 
2011-11-17 20:43
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:10 
id是一个private类型的数据成员,不允许外部访问,虽然它是一个静态成员数据!

愿用余生致力编程
2011-11-17 21:45
亦尘
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2011-11-16
收藏
得分:0 
如果我就是要访问怎么办啊
2011-11-17 22:48
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 3楼 亦尘
你可以通过类的成员函数来访问或者可以在类中定义友元函数!

愿用余生致力编程
2011-11-18 12:24
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
我记得 静态数据成员 是不是通过成员函数仿问的

我就是真命天子,顺我者生,逆我者死!
2012-02-13 23:33
快速回复:类的数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042014 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved