【cpp】公里与英里相互转换功能

需求分析:

1.提示选择英里转公里还是公里转英里,输入1调用英里转公里,输入2调用公里转英里,输入其他提示错误重输
2.英里转公里函数,提示输入英里,执行运算kilometer=mile*1.609,返回带有单位的结果
3.公里转英里函数,提示输入公里,执行运算mile=kilometer/1.609,返回带有单位的结果

流程设计与测试用例:

在这里插入图片描述


代码实现:

int mile_kilometer_conversion()
{
	while (1) {
		int i = 0;
		cout << "英里转公里输入“1”,公里转英里输入“2”\n";
		cin >> i;
		cin.clear();
		cin.ignore(1024, '\n');

		while ((i != 1) && (i != 2)) {
			cout << "输入不合法,请重新输入:\n";
			cout << "英里转公里输入“1”,公里转英里输入“2”\n";
			cin >> i;
			//cout << cin.rdstate() << "\n";	查询错误标识符
			cin.clear();	//改变错误标识符
			//cin.sync();	//在vs2017以上版本执行失败,由cin.ignore()代替
			cin.ignore(1024, '\n');	//清空输入流
		}

		if (i == 1)
			mile_to_kilometer();
		else//i==2
			kilometer_to_mile();
	}

	return 0;
}

调用函数

int mile_to_kilometer() {	//mile_kilometer_conversion()的调用函数
	cout << "输入要换算的英里数\n";
	double mile;
	cin >> mile;
	while(cin.fail())
	{
		cout << "请仅输入数字,单位:英里\n";
		cin.clear();
		cin.ignore(1024, '\n');
		cin >> mile;
	}
	double km;
	km = mile * 1.609;
	cout << mile << "英里=" << km << "公里\n";
	cin.clear();
	cin.ignore(1024, '\n');
	return 0;
}

int kilometer_to_mile() {	//mile_kilometer_conversion()的调用函数
	cout << "输入要换算的公里数\n";
	double kilometer;
	cin >> kilometer;
	while(cin.fail())
	{
		cout << "请仅输入数字,单位:公里\n";
		cin.clear();
		cin.ignore(1024, '\n');
		cin >> kilometer;
	}
	double mile;
	mile = kilometer / 1.609;
	cout << kilometer << "公里=" << mile << "英里\n";
	cin.clear();
	cin.ignore(1024, '\n');
	return 0;
}



实现效果:

完成功能实现。

在功能选择时输入1.5进行测试,依然可以按照1进行执行;
当输入为数字+字母时,会读取第一个字母之前出现的数字作为输入。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值