编写一个基本账户类,成员变量包括:账号,储户姓名,和存款余额,成员函数包括:存款和取款。编写一个测试程序进行测试。

简介: 编写一个基本账户类,成员变量包括:账号,储户姓名,和存款余额,成员函数包括:存款和取款。编写一个测试程序进行测试。

编写一个基本账户类,成员变量包括:账号,储户姓名,和存款余额,成员函数包括:存款和取款。编写一个测试程序进行测试。


思路:

编辑头文件。在弹出的 Account.h 头文件中添加 Account 类的代码。如图
1-5 所示。详细代码如下:
步骤 a:声明程序设计所需要包含的头文件:
#include <iostream.h>
#include <string.h>
步骤 b:根据题目要求:定义账户类:Account 类:
class Account
{
……
7
8
};
步骤 c:在 Account 类中定义成员变量:
private:
long accountNo; //账户
char name[30]; //储户姓名
float money; //账户余额
步骤 d:定义成员函数:
构造函数:
(这些都是在account中的东西(变量))
Account(long a,char *n,float b): accountNo(a),money(b){
 strcpy(name,n);
}
析构函数:
~Account(){}
存款成员函数:
void Add(const float x){
money=money+x;
}
取款成员函数:
void Sub(const float x){
money=money-x;
}
输出成员函数:
void Print(void)const{
cout<<"姓名:"<<name<<endl;
cout<<"账户:"<<accountNo<<endl;
cout<<"余额:"<<money<<endl;
}
4)添加源文件代码。在 Account.cpp 文件中添加主程序代码,详细代码如下:
a:测试主程序详解:
#include "Account.h" //包含 Account.h 头文件(此时应该注意“”这个符号应该出现在知道头文件位置的地方当不确定Account在何处时会报错)
void main()
{
//一个萝卜一个坑,对定义的对象类进行赋值初始化定义
Account a1(1000000,"阿斌",100); //定义对象,对象名为 a1,其账号为 1000000,储户姓名为阿斌,账户余额为 100 元
Account a2(1000001,"阿豪",100); //定义对象,对象名为 a2,其账号为 1000001,储户姓名为阿豪,账户余额为 100 元
cout<<"名为阿斌的用户向账户存款 50 元"<<endl;
//此时程序的意思就是对构造的a1对象进行Add函数操作
a1.Add(50); //对象 a1 调用 Add 存款成员函数向账户存款 50 元
//此时程序的意思就是对构造的a1对象进行Print函数操作
a1.Print(); //对象 a1 调用 Print 成员函数输出显式账号、姓名、余额
cout<<endl; //换行
 cout<<"名为阿豪的用户从账户取款款 50 元"<<endl;
a2.Sub(50); //对象 a2 调用 Sub 取款成员函数从账户取款 50 元
a2.Print(); //对象 a2 调用 Print 成员函数输出显式账号、姓名、余额
}

完整源码

#include<iostream>
#include<string>
using namespace std;
class zhanghu {
public:
  std::string name;
  long int ZH;
  int CKYE;
  zhanghu(){} 
  zhanghu(string _name, long int y = 12345678, int z = 100) {
    name = _name;
    ZH = y;
    CKYE = z;
  }
  int CK(int a) {
    CKYE += a;
    return CKYE;
  }
  int QK(int b) {
    CKYE -= b;
    return CKYE;
  }
  ~zhanghu()
  {}
};
int main() {
  int n, o, p;
  zhanghu m("chenbochao", 12345678, 100);
  cout << "您的姓名是" << m.name << endl << "账号是" << m.ZH << endl << "余额是" << m.CKYE << endl;
  cout << "--------------------------" << endl;
  cout << "请输入操作" << endl <<"1存款" << endl << "2取款" << endl;
  cout << "--------------------------" << endl;
  while (scanf("%d", &n) != EOF) {
    if (n == 1) {
      cout << "请输入存款金额:" << endl;
      cin >> o;
      cout << "--------------------------" << endl;
      m.CK(o);
      cout << "您的姓名是" << m.name << endl << "账号是" << m.ZH << endl << "余额是" << m.CKYE << endl;
      cout << "--------------------------" << endl;
    }
    if (n == 2) {
      cout << "请输入取款金额:" << endl;
      cin >> p;
      cout << "--------------------------" << endl;
      m.QK(p);
      cout << "您的姓名是" << m.name << endl << "账号是" << m.ZH << endl << "余额是" << m.CKYE << endl;
      cout << "--------------------------" << endl;
    }
  }
  return 0;
}
目录
相关文章
|
2天前
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
19 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
5天前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
59 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
2月前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
156 13
|
3月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
99 1
|
4月前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
65 5
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
77 4
|
4月前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
66 2
|
4月前
|
测试技术 开发者
vertx的学习总结6之动态代理类和测试
本文是Vert.x学习系列的第六部分,介绍了如何使用动态代理在事件总线上公开服务,以及如何进行Vert.x组件的异步测试,包括动态代理的创建和使用,以及JUnit 5和Vert.x测试工具的结合使用。
44 3
vertx的学习总结6之动态代理类和测试
|
4月前
|
安全 Java Linux
Kali渗透测试:通过Web应用程序实现远程控制
Kali渗透测试:通过Web应用程序实现远程控制
71 0
|
4月前
|
安全 Linux 网络安全
Kali渗透测试:远程控制程序基础
Kali渗透测试:远程控制程序基础
75 0
Kali渗透测试:远程控制程序基础

热门文章

最新文章