实验二(银行储蓄系统)

文章描述了一个银行储蓄业务处理系统的程序,包括菜单设计、子系统选择以及定期存款利息估算功能,其中使用了冒泡排序算法对利息进行比较。
摘要由CSDN通过智能技术生成

⑴编写一个“银行储蓄系统”的程序,实现以下功能:

   输出以下菜单信息:

*****************************************

银行储蓄业务处理系统

请选择(0~9):     ,进入相应子系统:

*****************************************

           1、 开户业务

           2、 续存业务  

           3、 续取业务

           4、 销户业务

           5、 挂失业务

           6、 批量业务

           7、 咨询估算业务

           8、 个人消费贷款业务

           9、 系统管理

           0、 返回

*****************************************

 ⑵若选择7→则进入“咨询估算业务”子系统,并显示“咨询估算业务”子系统的相应菜单。

*****************************************

咨询估算业务处理系统

请选择(0~10):     ,进入相应子系统:

*****************************************

            1、定期存款利息估算

            2、存款利率查询  

            3、贷款利率查询

            4、汇率查询

            5、系统管理

            0、返回

*****************************************

⑶选择其中1的“定期存款利息估算 ”,则调用相应程序,进行定期存款利息估算 。

⑷在每一级菜单中,若选择“0”返回上级菜单。

#include <stdio.h>
#include <math.h>

//冒泡排序函数的定义及实现
void Bubble(float* nums, int size)
{
	int i = 0, n = 0;
	for (i = 0; i < size - 1; i++)//走几趟冒泡排序,size个数就要进行size-1趟冒泡排序
	{
		//第一趟冒泡排序要进行size-1次排序,第二趟进行size-2次......故终止条件为size-1-i
		for (n = 0; n < size - 1 - i; n++)
		{
			if (nums[n] > nums[n + 1])
			{
				float temp = nums[n];
				nums[n] = nums[n + 1];
				nums[n + 1] = temp;
			}
		}
	}
}

void menu()
{
	printf("*****************************************\n");
	printf("**********银行储蓄业务处理系统***********\n");
	printf("**请选择(0~9):     ,进入相应子系统:\n");
	printf("*****************************************\n");
	printf("1、开户业务\n");
	printf("2、续存业务\n");
	printf("3、续取业务\n");
	printf("4、销户业务\n");
	printf("5、挂失业务\n");
	printf("6、批量业务\n");
	printf("7、咨询估算业务\n");
	printf("8、个人消费贷款业务\n");
	printf("9、系统管理\n");
	printf("0、返回\n");
	printf("*****************************************\n");
}
//咨询业务估算业务函数
void func7()
{
	printf("****************************************\n");
	printf("*******已进入咨询估算业务处理系统*******\n");
	printf("请选择(0~10):     ,进入相应子系统:\n");
	printf("****************************************\n");
	printf("1、定期存款利息估算\n");
	printf("2、存款利率查询\n");
	printf("3、贷款利率查询\n");
	printf("4、汇率查询\n");
	printf("5、系统管理\n");
	printf("0、返回\n");
	printf("****************************************\n");
}
//定期存款利息估算函数
void func7_1()
{
	float p1 = 20000 * pow(1 + 0.003 / 4, 4 * 5);              //p = m * (1 + r / 4)^4n
	float p2 = 20000 * pow(1 + 0.0175, 5);                     // p = m * (1 + r)^n
	float p3 = (20000 * (1 + 2 * 0.0225)) * (1 + 3 * 0.0275);  //p = m * (1 + n * r)
	float p4 = (20000 * (1 + 3 * 0.0275)) * (1 + 2 * 0.0225);  //p = m * (1 + n * r)
	float p5 = 20000 * (1 + 5 * 0.0275);                       //p = m * (1 + n * r)
	printf("(1)5种存款方法到期后的本息和分别为:\n%0.3f  %0.3f  %0.3f  %0.3f  %0.3f\n", p1, p2, p3, p4, p5);
	float a1 = p1 - 20000;
	float a2 = p2 - 20000;
	float a3 = p3 - 20000;
	float a4 = p4 - 20000;
	float a5 = p5 - 20000;
	float arr1[] = { a1,a2,a3,a4,a5 };
	float max = 0;
	int i = 0;
	for (i = 0; i < 5; i++)
	{
		if (arr1[i] >= max)
			max = arr1[i];
	}
	printf("\n(2)第%d种方法存款方法得到的利息最多,利息为:%0.3f\n", i, max);

	//调用冒泡排序函数
	Bubble(arr1, 5);
	printf("\n(3)5种存款方法得到的利息按照从少到多输出为:\n");
	for (i = 0; i < 5; i++)
	{
		printf("%0.3f  ", arr1[i]);
	}
	printf("\n");
}
int main()
{
	int input1 = 0;
	int input2 = 0;
	do
	{
		menu();
		scanf("%d", &input1);
		switch (input1)
		{
		case 7:
			do
			{
				func7();
				scanf("%d", &input2);
				switch (input2)
				{
				case 1:
					func7_1();
					break;
				case 0:
					break;
				default:
					printf("选择错误,请重新选择:\n");
				}
			} while (input2);
		case 0:
			break;
		default:
			printf("选择错误,请重新选择:\n");
		}
	} while (input1);
	return 0;
}
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值