西安石油大学上机作业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;
	}
}


在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shaozheng0503/article/details/130770500
今日推荐