西安石油大学上机作业2023.5.19

简介: 西安石油大学上机作业2023.5.19

上机的一次作业

上机作业:

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

要求:上传源码及运行结果截图。

分析思路:

针对题目要求,C++实现了一个基本的帐户类(Account)。该类包含三个成员变量(account_no、account_name和balance)和三个成员函数(deposit、withdraw和display)。其中:

  • 构造函数(Account)用于初始化帐号信息(account_no, account_name和balance);
  • 存款函数(deposit)用于向当前余额(balance)中添加一定金额(amount);
  • 取款函数(withdraw)用于从当前余额(balance)中扣除一定金额(amount),如果取款金额大于当前余额则给出提示"Insufficient balance";
  • 显示函数(display)用于显示当前帐户的账号(account_no)、储户姓名(account_name)和余额(balance)。

测试程序中,我首先创建一个帐户对象(account)并输出其初始余额,然后进行存款、取款操作,并观察操作后的余额变化情况。最后展示更新后的所有帐户信息。

在C++实现中,我使用了字符串(string)类型作为帐号和储户姓名的数据类型

好的,我来更加详细地解释一下。此代码是C++语言写的一个简单的银行账户管理系统。

首先定义了一个名为 Account 的类,表示银行账户,其中 Account 类有两个构造函数:有参构造函数和无参构造函数。这样就可以在不同条件下创建不同的银行账户对象,并提供默认的初始化参数值,非常灵活。

接着,核心在于该类提供了存款、取款、获取余额三个方法。其中,存款方法 deposit() 只需要输入要存入金额即可,而取款方法 withdraw() 需要对输入取款金额判断当前账户的余额是否小于取款金额,从而决定是否允许取款,并返回一个标识是否允许取款的结果;余额查询方法 getBalance() 则只需直接返回当前账户余额即可。

最后是主函数 main() ,主要流程如下:

  1. 用户通过标准输入 cin 输入账户户名,帐号和初始存款金额;
  2. 使用用户输入的信息,创建了一个账户对象;
  3. 输出菜单栏供用户选择进行存款、取款或者余额查询操作;
  4. 根据用户选择和输入的金额执行对应的存款、取款或查询操作;
  5. 循环执行 3 - 4 步骤,直到用户退出;

整个程序的结构清晰,设计合理,运用了 C++ 中的类、构造函数和成员函数等面向对象的特性,有很好的可读性和扩展性。

小学版

可以这样解释给小学生听:

这段代码是一个模拟银行账户的程序,就好像你有一个自己的钱罐一样。它能够帮助你记录你存了多少钱,取了多少钱,还有你现在有多少钱了。

里面有一个叫做 Account 的东西,它就像是一个专门用来处理钱罐的工具。它帮你记录你的账号、姓名和余额等信息,而且它还能帮你进行存款、取款和查询余额等操作。

主人公是一个叫做 main() 的人,他就像是一个坐在你身边的管理者,帮你实现各种对钱罐的操作。当你要存钱时,你只需要告诉他存入多少,他就会帮你把钱放进去;当你要取钱时,你要先告诉他你要取多少钱,他会先检查你有没有这么多钱,如果你的钱罐里没有那么多,就不能取;当你想知道你现在有多少钱时,你只需要问他,他会告诉你。

整个程序很有条理,每个部分都有自己的任务和职责,让你方便地管理你的钱罐(账户),避免花钱时不知道自己还有多少钱的尴尬情况。

中学版

可以这样给中学生解释:

这段代码是用C++编程语言写的一个小程序。它模拟了银行账户的创建、存款、取款和查询余额等操作。你可以把它看作是一个非常简单的银行账户管理系统。

在程序中,Account 类定义了类构造函数和成员函数来实现存款、取款和查询余额等操作。其中,类的有参构造函数接收用户输入的账户姓名、账号和初次存款金额等信息,并完成账户对象的创建;类的成员函数比较重要的包括存款方法 deposit()、取款方法 withdraw() 和余额查询方法 getBalance() ,它们分别对用户输入的存款金额、取款金额进行判断、执行存取款操作或返回当前账户的余额。

主函数 main() 是整个程序执行的控制中心,负责输出菜单栏并接受用户的选择,循环执行相应的操作直到用户退出。

这段代码运用了 C++ 中面向对象的编程思想,如类、构造函数和成员函数等概念,并通过 switch 循环来判断用户输入的菜单栏选择,实现程序的基本逻辑。同时,代码非常规范,注释详细,易于理解,展现了良好的编码习惯和风格。

给废物大学生如何解释呢

作为 AI 助手,我不鼓励使用“废物大学生”这样的说法,我们应该相互尊重。下面是一个更为中性和客观的解释。

这段代码是一个用 C++ 编程语言写的小程序,主要实现了银行账户的创建和管理系统。它中心类是 Account,可以完成开户、存款、取款和查询余额等功能。

在编程中,将这些操作封装成类的成员函数,使得每个函数仅关注自己的职责,整体结构更加清晰易懂。其中,有参构造函数通过接收用户输入的参数来初始化一个新的账户对象;存款方法使用加法运算符来实现存款功能;取款方法使用判断语句进行异常处理,从而保证账户余额充足时才能够提款;查询余额方法直接返回成员变量值即可。

主函数 main() 作为整个程序运行的控制中心,对用户输入进行处理,并且输出菜单提示,根据用户选择的菜单选项调用相应的成员函数,执行对应的功能。

在程序设计过程中,变量命名规范,代码风格一致,采用了详细的注释和英文字符界面,方便修改和调试。总之,这个程序展现出良好的代码组织结构和流程控制逻辑。

给专业开发者如何解释呢

基于您是专业开发者这一前提,我可以给您详细地解释一下:

这段代码是一个基于 C++ 编程语言开发的银行账户管理系统,主要使用了面向对象编程的思想。其中定义了一个名为 Account 的类,该类包含了一个无参构造函数和一个有参构造函数,以及三个成员函数,分别实现存款、取款及余额查询等操作。

类的构造函数主要完成对象的初始化工作,有参构造函数接受用户输入的参数来为对象的属性进行赋值工作;存款方法通过参数更新当前账户总金额(mBalance);取款方法首先检测是否可以修改 mBalance 再进行取款操作,并返回一个标记钱量是否足够的标志;余额查询方法直接返回当前账户的总金额。

在主函数中,用户可以通过标准输入 cin 来创建自己的银行账户,并且根据菜单提示选择不同的操作功能,在此过程中使用 switch 循环结构来接收菜单选项并调用相应的类成员函数,从而完成操作。

在编写此程序时,我们采用了合理的代码组织结构,变量命名规范,注释详尽,界面友好,这些都大大提高了代码的可读性和可扩展性,并遵循了相关的编码规范。在程序运行过程中,可以有效地支持账户的管理和查询等基本功能。

给婴儿怎么解释(胎教),编程要从娃娃抓起

对于婴儿来说,他们还是一个正在学习世界、认知事物的过程,所以我们可以简单地形容一下。

这个程序就像是一个懂得计算的小机器人,它能够帮你记录你存了多少钱,取了多少钱,还有你现在有多少钱了。有点像你听故事时,会有不同的角色用不同的声音为你讲述整个故事。

通过这个小机器人,你可以学习到关于钱的概念,可以理解存钱和取钱的方式,并且可以灵活地选择自己需要的功能。比如,你可以通过输入信息开启一个新的账户,当你存款或取款时,你只需要告诉这个小机器人前来大门口(输入界面),然后跟着它的指示操作即可完成你的需求。同时,在进行操作时它也会给你一定的提示,帮助你更好地理解整个过程。

总之,这个小机器人可以帮助你认识并理解一些基本的金融知识。等你长大后,如果你想深入学习计算机编程,这将是一个很好的开始!

给可爱的猫猫怎么解释呢~~~

好的,那我们来用猫咪可以理解的方式分享一下:

小猫咪,你看看这是一个有趣的程序呢!它可以帮助我们管理银行账户哦。就像当你在灵活地使用行动系统时,让你的食物、书籍和玩具方便地组织在一起,也不会弄混了它们在哪里一样。

里面有很多叫做函数和类的东西,就看作我们小时候玩的积木,它们可以帮我们搭建出一个模拟银行账户的世界。主人公 main() 呢,就像是个小管家,可以通过菜单栏来控制整个系统,让我们进行存款、取款或查询余额等操作。而 Account 类则是这个世界的核心机构,负责处理我们的账号、姓名、余额和交易等信息,全方位地服务于我们的使用需求。

总之,这个程序非常有趣并且实用,帮助我们更好的管理金钱,方便我们从紊乱中获得一个清晰的账户视图,从而使我们在生活中能够更好地掌握资金的流向,以达到理财规划的目的,让我们的生活变得更加美好快乐。

代码展示

#include <iostream>
#include <cstring >
using namespace std;
class Account {
  public:
    Account(char name[], long num, float amount);   //类的有参构造函数
    Account();                    //类的无参构造函数
    void deposit(float amount);     //往当前账户中存款
    int withdraw(float amount);     //从当前账户中取款
    float getBalance();         //查询当前账户的余额
  private:
    char mName[20];       //银行账户的户名
    long mSN;           //本账户的帐号
    float mBalance;       //本账户当前的余额
};
//类的有参构造函数
Account::Account(char name[], long num, float amount) {
  strcpy(mName, name);      //字符串复制函数
  mSN = num;
  mBalance = amount;
}
//类的无参构造函数
Account::Account() {
  cout << "无参函数被调用!" << endl;
}
//往当前账户中存款
void Account::deposit(float amount) {
  mBalance = mBalance + amount;
}
//从当前账户中取款
int Account::withdraw(float amount) {
  if (amount > mBalance) {
    return 0;
  } else if (amount <= mBalance) {
    mBalance = mBalance - amount;
    return 1;              //return 1代表函数非正常终止
  }
}
//查询当前账户的余额
float Account::getBalance() {
  return mBalance;
}
//主函数
int main() {
  int NO, m;
  char name[20];
  long num;
  float amount;
  cout << "请输入所开账户户名:";
  cin >> name;
  cout << "请输入所开账户帐号:";
  cin >> num;
  cout << "请输入所开账户初始存款金额:";
  cin >> amount;
  Account A(name, num, amount);
  cout << "" << endl;
  cout << "------------------------------------------------" << endl;
  cout << "                   菜单栏                       " << endl;
  cout << "1、存款请输入“1”" << endl;
  cout << "" << endl;
  cout << "2、取款请输入“2”" << endl;
  cout << "" << endl;
  cout << "3、查询账户余额请输入“3”" << endl;
  cout << "" << endl;
  cout << "4、退出请输入“4”" << endl;
  cout << "" << endl;
  cout << "------------------------------------------------" << endl;
  while (1) {
    cout << "请输入选择:" << endl;
    cin >> NO;
    switch (NO) {       //通过switch循环来判断输入的菜单栏选择对应其相应的操作
      case 1:
        cout << "请输入存款金额:";
        cin >> amount;
        A.deposit(amount);
        break;                //表示跳出该switch语句体
      case 2:
        cout << "请输入取款金额:";
        cin >> amount;
        m = A.withdraw(amount);
        if (m == 0)
          cout << "当前账户余额不足!" << endl;
        else
          cout << "取款成功!" << endl;
        break;
      case 3:
        cout << "当前账户余额为:" << A.getBalance() << endl;
        break;
      case 4:
        cout << "账户已退出!" << endl;
        return 0;
      default:
        cout << "输入错误!" << endl;      //判断输入菜单栏是否输入正确
        exit(0);
    }
    cout << "" << endl;
  }
}

目录
相关文章
|
Linux 网络虚拟化 虚拟化
Linux虚拟网络设备深度解析:使用场景、分类与开发者指南
Linux虚拟网络设备支撑着各种复杂的网络需求和配置,从基础的网络桥接到高级的网络隔离和加密🔐。以下是对主要Linux虚拟网络设备的介绍、它们的作用以及适用场景的概览,同时提出了一种合理的分类,并指出应用开发人员应该着重掌握的设备。
Linux虚拟网络设备深度解析:使用场景、分类与开发者指南
|
存储 数据挖掘 数据处理
Pandas中explode()函数的应用与实战
Pandas中explode()函数的应用与实战
352 0
|
测试技术 程序员 数据库
软件开发文档介绍
软件开发文档是软件开发使用和维护过程中的必备资料。它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导、帮助、解惑的作用,尤其在维护工作中,文档是不可或缺的资料。 软件开发文档可以分为开发文档和产品文档两大类。
5589 0
Ansible-playbook 并发运行async、poll(学习笔记二十二)
ansible默认只会创建5个进程,所以一次任务只能同时控制5台机器执行.那如果你有大量的机器需要控制,或者你希望减少进程数,那你可以采取异步执行.ansible的模块可以把task放进后台,然后轮询它.
4873 0
|
8月前
|
人工智能 API
10分钟构建能主动提问的智能导购体验
在竞争激烈的商业环境中,传统导购模式难以应对海量信息与多样化需求。本文介绍如何用阿里云在10分钟内构建一个能主动提问的智能导购系统,通过创建RAM角色、配置API等简单步骤快速部署。以买手机为例,展示其出色的性能。智能导购能提升购物体验、实现精准营销、降低人力成本并提供24小时服务,助力商家脱颖而出。整个过程简单易行,祝您新年快乐!
10分钟构建能主动提问的智能导购体验
|
10月前
|
存储 Linux 虚拟化
轻量服务器
【10月更文挑战第19天】
410 1
|
Kubernetes Java API
Kubernetes官方java客户端之四:内部应用
实战K8S的java客户端在K8S环境内部的开发和部署
264 2
Kubernetes官方java客户端之四:内部应用
|
数据可视化 索引 Python
Pandas 2.2 中文官方教程和指南(二十·二)(3)
Pandas 2.2 中文官方教程和指南(二十·二)
196 0
|
前端开发 安全 JavaScript
x-www-form-urlencoded 是什么?
在开发网站时,我们常常需要将用户填写的表单信息发送给服务器,而其中一种被广泛接受和使用的方法是使用 application/x-www-form-urlencoded 编码格式。本篇文章旨在探讨该编码格式的细节和应用场景,帮助开发者更有效地管理和发送表单数据。

热门文章

最新文章