【c++大作业】银行管理系统

Savingaccount.h
#include <iostream>
#include <stdlib.h>
#include <windows.h>
#include <string>
class date {
public:
	int year1;
	int month1;
	int day1;
	int year2;
	int month2;
	int day2;
	bool isLeapYear(int year);
	int getDays(int year, int month, int day);
	int dayDis();
	void fuzhi(int yearone, int monthone, int dayone, int yeartwo, int monthtwo, int daytwo);
};
class credit :public date
{
public:
	int m_iID;//用户ID
	double m_dbalance;//余额
	double m_drate;//年利率
	int m_idate;//存钱时间
	const void deposit();//存款
	const void withdraw();//取款
	const double settle();//结算利息
	const void cover();//覆盖函数
	const void go_out();
	const void show();
	void jiekuan();
	void jiekuandate();
	int m_ijiekuandate;
	void huankuan();
	const void welcome();
	double jiekuanlilv;
	const void adm();
	credit(int id);


};


class savingsaccount:public date
{
public:
	int m_iID;//用户ID
	double m_dbalance;//余额
	double m_drate;//年利率
	int m_idate;//存钱时间
	savingsaccount(int id);//构造函数 
	~savingsaccount() {}//析构函数
	const void show();//输出
	const void deposit();//存款
	const void withdraw();//取款
	const double settle();//结算利息
	const void cover();//覆盖函数
	const void welcome();//主界面
	const void go_out();//返回主菜单的函数
	const void adm();//管理员函数
};
3.0.cpp
#include <iostream>
#include <stdlib.h>
#include <windows.h>
#include <string>
#include "savingacoount.h"
using namespace std;
savingsaccount::savingsaccount(int id) : m_iID(id), m_dbalance(0), m_drate(0), m_idate(0)
{
}
const void savingsaccount::adm() {
	system("cls");
	double a;
	cout << "请输入当前市场要求的汇率:" << endl;
	cout << " 在此输入:";
	cin >> a;
	m_drate = a;
	go_out();
}



const void savingsaccount::show() {
	system("cls");
	cout << "账户ID为:" << m_iID << endl;
	cout << "账户余额为:" << m_dbalance << endl;
	cout << "利率为:" << m_drate << endl;
	go_out();
}


const void savingsaccount::deposit() {
	double m_dchange_deposit;
	double m_dchanged_deposit;
	int m_ichange_date;
	cout << "请输入你要存款的数额:";
	cin >> m_dchange_deposit;
	cout << "请输入当前存款日期和你要取款的日期";
	cout << "格式:年 月 日 年 月 日"<<endl;
	int yearONE;
	int monthONE;
	int dayONE;
	int yearTWO;
	int monthTWO;
	int dayTWO;
	cin >> yearONE >> monthONE >> dayONE >> yearTWO >> monthTWO >>dayTWO;
	if (yearONE > yearTWO)
	{
		system("cls");
		cout << "输入错误,请重新输入";
		deposit();
	}
	if (yearONE == yearTWO || monthONE == monthTWO)
	{
		if (dayONE > dayTWO)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			deposit();
		}
	}
	if (monthONE > 12 || monthTWO > 12||monthONE ==0 || monthTWO ==0)
	{
		system("cls");
		cout << "输入错误,请重新输入";
		deposit();
	}
	if (monthONE == 1 || monthONE == 3 || monthONE == 5 || monthONE == 7 || monthONE == 8 || monthONE == 10 || monthONE == 12||monthTWO == 1 || monthTWO == 3 || monthTWO == 5 || monthTWO == 7 || monthTWO == 8 || monthTWO == 10 || monthTWO == 12)
	{
		if (dayONE > 31||dayTWO>31|| dayONE == 0 || dayTWO == 0)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			deposit();
		}
        
	}
	if (monthONE == 4 || monthONE == 6 || monthONE == 9 || monthONE == 11 || monthTWO == 4 || monthTWO == 6 || monthTWO == 9 || monthTWO == 11)
	{
		if (dayONE > 30 || dayTWO > 30 || dayONE == 0|| dayTWO == 0)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			deposit();
		}
	}
	
	if (monthONE == 2||monthTWO==2)
	{
		if (isLeapYear(yearONE) == 1||isLeapYear(yearTWO)==1)
		{
			if (dayONE > 29||dayTWO > 29)
			{
				system("cls");
				cout << "输入错误,请重新输入";
				deposit();
			}
		}
		if (isLeapYear(yearONE) == 0 || isLeapYear(yearTWO) == 0)
		{
			if (dayONE > 28 || dayTWO > 28)
			{
				system("cls");
				cout << "输入错误,请重新输入";
				deposit();
			}
		}
		
	}
	fuzhi(yearONE, monthONE, dayONE, yearTWO, monthTWO, dayTWO);
	m_ichange_date = dayDis();
	cout << endl;
	m_dchanged_deposit = m_dbalance + m_dchange_deposit;
	m_dbalance = m_dchanged_deposit;
	m_idate = m_ichange_date;
	cover();
	go_out();
}
const double savingsaccount::settle() {
	return m_dbalance + m_dbalance * m_drate * m_idate;
}
const void savingsaccount::cover() {
	double m_dchange_cover;
	m_dchange_cover = settle();
	m_dbalance = m_dchange_cover;
}



const void savingsaccount::withdraw() {
	double m_dchange_withdraw;
	double m_dchanged_withdraw;
	cout << "请输入你要取款的数额:";
	cin >> m_dchange_withdraw;
	cout << endl;
	m_dchanged_withdraw = m_dbalance - m_dchange_withdraw;
	m_dbalance = m_dchanged_withdraw;
	go_out();
}



const void savingsaccount::go_out() {
	int a;
	cout << endl;
	cout << "您是否要返回主菜单?" << endl;
	cout << "在此输入1,返回主菜单:";
	cin >> a;
	if (a == 1)
	{
		welcome();
	}
	else
	{
		exit(0);
	}
}
const void savingsaccount::welcome()
{
 	cout << "                  " << endl;
	cout << "***********************" << endl;
	cout << "   欢迎来到赵宸银行    " << endl;
	cout << "   请选择您的操作:" << endl;
	cout << "    1.存款" << endl;
	cout << "    2.取款" << endl;
	cout << "    3.查询我的账户" << endl;
	cout << "    4.进入管理员模式" << endl;
	cout << "    5.退出系统" << endl;
	cout << " 请在此输入:";
	int a;
	cin >> a;
	switch (a) {
	case 1:
		deposit();
	case 2:
		withdraw();
	case 3:
		show();
	case 4:
		adm();
	case 5:
		exit(0);
	default:
		cout << "error!" << endl;
		system("cls");
		welcome();
	}
}
Credit.cpp
#include <iostream>
#include <string>
#include <stdlib.h>
#include <windows.h>
#include "savingacoount.h"
using namespace std;
static double  change_money;
credit::credit(int id) {
	m_iID = id;
	m_dbalance = 0;
	m_drate= 0;
	m_idate= 0;
}
void credit::jiekuan() {

	cout << "请输入您要借款的金额:" << endl;
	cin >> change_money;
	m_dbalance += change_money;
	jiekuandate();
}
void credit::huankuan() {
	cout << "你现在欠款:" << change_money + jiekuanlilv * change_money * m_ijiekuandate<<endl;
	cout << "您是否要还钱?" << endl;
	cout << "还钱请输入1,返回请输入其他键" << endl;
	int a;
	cin >> a;
	if (a == 1) {
		if (m_dbalance < (change_money + jiekuanlilv * change_money * m_ijiekuandate)) {
			cout << "你账户没有足够的余额,现在为您返回主菜单" << endl;
			credit::welcome();
		}
		else {
			m_dbalance = m_dbalance +(change_money + jiekuanlilv * change_money * m_ijiekuandate);
		}
	}
	else
		credit::welcome();
}
void credit::jiekuandate() {
	cout << "请输入当前借款日期和你要还款的日期";
	cout << "格式:年 月 日 年 月 日" << endl;
	int yearONE;
	int monthONE;
	int dayONE;
	int yearTWO;
	int monthTWO;
	int dayTWO;
	cin >> yearONE >> monthONE >> dayONE >> yearTWO >> monthTWO >> dayTWO;
	if (yearONE > yearTWO)
	{
		system("cls");
		cout << "输入错误,请重新输入";
		jiekuandate();
	}
	if (yearONE == yearTWO || monthONE == monthTWO)
	{
		if (dayONE > dayTWO)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			jiekuandate();
		}
	}
	if (monthONE > 12 || monthTWO > 12 || monthONE == 0 || monthTWO == 0)
	{
		system("cls");
		cout << "输入错误,请重新输入";
		jiekuandate();
	}
	if (monthONE == 1 || monthONE == 3 || monthONE == 5 || monthONE == 7 || monthONE == 8 || monthONE == 10 || monthONE == 12 || monthTWO == 1 || monthTWO == 3 || monthTWO == 5 || monthTWO == 7 || monthTWO == 8 || monthTWO == 10 || monthTWO == 12)
	{
		if (dayONE > 31 || dayTWO > 31 || dayONE == 0 || dayTWO == 0)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			jiekuandate();
		}

	}
	if (monthONE == 4 || monthONE == 6 || monthONE == 9 || monthONE == 11 || monthTWO == 4 || monthTWO == 6 || monthTWO == 9 || monthTWO == 11)
	{
		if (dayONE > 30 || dayTWO > 30 || dayONE == 0 || dayTWO == 0)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			jiekuandate();
		}
	}

	if (monthONE == 2 || monthTWO == 2)
	{
		if (isLeapYear(yearONE) == 1 || isLeapYear(yearTWO) == 1)
		{
			if (dayONE > 29 || dayTWO > 29)
			{
				system("cls");
				cout << "输入错误,请重新输入";
				jiekuandate();
			}
		}
		if (isLeapYear(yearONE) == 0 || isLeapYear(yearTWO) == 0)
		{
			if (dayONE > 28 || dayTWO > 28)
			{
				system("cls");
				cout << "输入错误,请重新输入";
				jiekuandate();
			}
		}

	}
	fuzhi(yearONE, monthONE, dayONE, yearTWO, monthTWO, dayTWO);
	m_ijiekuandate = dayDis();
	cout << endl;
}

 const void credit::welcome() {
		cout << "                  " << endl;
		cout << "***********************" << endl;
		cout << "   欢迎来到赵宸银行    " << endl;
		cout << "   请选择您的操作:" << endl;
		cout << "    1.存款" << endl;
		cout << "    2.取款" << endl;
		cout << "    3.借款" << endl;
		cout << "    4.还款" << endl;
		cout << "    5.查询我的账户" << endl;
		cout << "    6.进入管理员模式" << endl;
		cout << "    7.退出系统" << endl;
		cout << " 请在此输入:";
		int a;
		cin >> a;
		switch (a) {
		case 1:
			deposit();
		case 2:
			withdraw();
		case 3:
			jiekuan();
		case 4:
			huankuan();
		case 5:
			show();
		case 6:
			adm();
		case 7:
			exit(0);
		default:
			cout << "error!" << endl;
			system("cls");
			welcome();
		}
	}
		
const void credit::adm() {
	cout << "**************************" << endl;
	cout << "欢迎来到赵宸银行管理员系统" << endl;
	cout << "1.修改存款利率" << endl;
	cout << "2.修改借款利率" << endl;
	cout << "**************************" << endl;
	cout << "请在下列输入选项:" << endl;
	int a;
	cin >> a;
	if (a == 1) {
		system("cls");
		double a;
		cout << "请输入当前市场要求的存款汇率:" << endl;
		cout << " 在此输入:";
		cin >> a;
		m_drate = a;
		go_out();
	}
	else if (a == 2) {
		system("cls");
		double a;
		cout << "请输入当前市场要求的还款汇率:" << endl;
		cout << " 在此输入:";
		cin >> a;
		jiekuanlilv = a;
		go_out();
	}
}
const void credit::deposit() {
	double m_dchange_deposit;
	double m_dchanged_deposit;
	int m_ichange_date;
	cout << "请输入你要存款的数额:";
	cin >> m_dchange_deposit;
	cout << "请输入当前存款日期和你要取款的日期";
	cout << "格式:年 月 日 年 月 日" << endl;
	int yearONE;
	int monthONE;
	int dayONE;
	int yearTWO;
	int monthTWO;
	int dayTWO;
	cin >> yearONE >> monthONE >> dayONE >> yearTWO >> monthTWO >> dayTWO;
	if (yearONE > yearTWO)
	{
		system("cls");
		cout << "输入错误,请重新输入";
		deposit();
	}
	if (yearONE == yearTWO || monthONE == monthTWO)
	{
		if (dayONE > dayTWO)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			deposit();
		}
	}
	if (monthONE > 12 || monthTWO > 12 || monthONE == 0 || monthTWO == 0)
	{
		system("cls");
		cout << "输入错误,请重新输入";
		deposit();
	}
	if (monthONE == 1 || monthONE == 3 || monthONE == 5 || monthONE == 7 || monthONE == 8 || monthONE == 10 || monthONE == 12 || monthTWO == 1 || monthTWO == 3 || monthTWO == 5 || monthTWO == 7 || monthTWO == 8 || monthTWO == 10 || monthTWO == 12)
	{
		if (dayONE > 31 || dayTWO > 31 || dayONE == 0 || dayTWO == 0)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			deposit();
		}

	}
	if (monthONE == 4 || monthONE == 6 || monthONE == 9 || monthONE == 11 || monthTWO == 4 || monthTWO == 6 || monthTWO == 9 || monthTWO == 11)
	{
		if (dayONE > 30 || dayTWO > 30 || dayONE == 0 || dayTWO == 0)
		{
			system("cls");
			cout << "输入错误,请重新输入";
			deposit();
		}
	}

	if (monthONE == 2 || monthTWO == 2)
	{
		if (isLeapYear(yearONE) == 1 || isLeapYear(yearTWO) == 1)
		{
			if (dayONE > 29 || dayTWO > 29)
			{
				system("cls");
				cout << "输入错误,请重新输入";
				deposit();
			}
		}
		if (isLeapYear(yearONE) == 0 || isLeapYear(yearTWO) == 0)
		{
			if (dayONE > 28 || dayTWO > 28)
			{
				system("cls");
				cout << "输入错误,请重新输入";
				deposit();
			}
		}

	}
	fuzhi(yearONE, monthONE, dayONE, yearTWO, monthTWO, dayTWO);
	m_ichange_date = dayDis();
	cout << endl;
	m_dchanged_deposit = m_dbalance + m_dchange_deposit;
	m_dbalance = m_dchanged_deposit;
	m_idate = m_ichange_date;
	cover();
	go_out();
}
const double credit::settle() {
	return m_dbalance + m_dbalance * m_drate * m_idate;
}
const void credit::cover() {
	double m_dchange_cover;
	m_dchange_cover = settle();
	m_dbalance = m_dchange_cover;
}

const void credit::show() {
	system("cls");
	cout << "账户ID为:" << m_iID << endl;
	cout << "账户余额为:" << m_dbalance << endl;
	cout << "利率为:" << m_drate << endl;
	go_out();
}

const void credit::withdraw() {
	double m_dchange_withdraw;
	double m_dchanged_withdraw;
	cout << "请输入你要取款的数额:";
	cin >> m_dchange_withdraw;
	cout << endl;
	m_dchanged_withdraw = m_dbalance - m_dchange_withdraw;
	m_dbalance = m_dchanged_withdraw;
	go_out();
}



const void credit::go_out() {
	int a;
	cout << endl;
	cout << "您是否要返回主菜单?" << endl;
	cout << "在此输入1,返回主菜单:";
	cin >> a;
	if (a == 1)
	{
		welcome();
	}
	else
	{
		exit(0);
	}
}
Date.cpp
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include "savingacoount.h"


void date::fuzhi(int yearone, int monthone, int dayone, int yeartwo, int monthtwo, int daytwo) {
	year1 = yearone;
	month1 = monthone;
	day1 = dayone;
	year2 = yeartwo;
	month2 = monthtwo;
	day2 = daytwo;
}
bool date::isLeapYear(int year)
{
	return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}
// 以公元 1 年 1 月 1 日为基准,计算经过的日期 
int date::getDays(int year, int month, int day)
{
	int m[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	if (isLeapYear(year))
		m[2]++;
	int result = 0;
	for (int i = 1; i < year; i++)
	{
		result += 365;
		if (isLeapYear(i))
			result++;
	}
	for (int i = 1; i < month; i++)
	{
		result += m[i];
	}
	result += day;

	return result;
}
int date::dayDis()
{
	return abs(getDays(year2, month2, day2) - getDays(year1, month1, day1));
}
Main.cpp
#include <iostream>
#include <string>
#include <stdlib.h>
#include <Windows.h>
#include "savingacoount.h"

using namespace std;
int main() {
	cout << "**************************" << endl;
	cout << "欢迎来到赵宸银行" << endl;
	cout << "请选择您的银行卡类型" << endl;
	cout << "1.信用卡" << endl;
	cout << "2.借记卡" << endl;
	cout << "**************************" << endl;
	cout << "请在下列输入选项:" << endl;
	int a;
	cin >> a;
	if (a == 1) {
		system("cls");
		credit zhaochen1(1);
		zhaochen1.welcome();
	}
	else if (a == 2) {
		system("cls");
		savingsaccount zhaochen(1);
		zhaochen.welcome();
	}

}

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C 公交车管理系统作业是一个涉及公交车管理和调度的综合性项目。该系统旨在提高公交车运营效率,优化线路规划,增加乘客满意度,同时也能够让管理人员更加方便地监控车辆运行情况和乘客乘坐体验。 该系统的设计与实现将包括以下几个关键模块:车辆调度模块,乘客信息管理模块,线路规划模块,车辆运行状态监控模块和报表统计模块。 首先,车辆调度模块能够根据实时的乘客需求和车辆资源情况,自动优化车辆的分配和调度,从而减少拥堵和空载率,提高了车队的利用率。 其次,乘客信息管理模块将存储乘客的个人信息和乘车记录,可以为乘客提供更加个性化的服务,也能够帮助管理人员更好地了解乘客的需求。 再次,线路规划模块可以根据实际的交通情况和乘客流量,对线路进行动态调整,从而降低了乘车时间和提高了乘车体验。 同时,车辆运行状态监控模块将实时监测车辆的位置和运行状况,为管理人员提供了全面的数据支持,让他们能够及时做出决策和调整。 最后,报表统计模块将根据系统收集的各类数据,生成详细的分析报告,为管理人员提供决策支持和业务指导。 总的来说,C 公交车管理系统作业将是一个在公交运营管理领域具有重要意义的项目,能够有效提高城市公交车运营的效率和品质。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值