struct,round()的简单应用

Description:

妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。 妈妈买每个菜都要付钱,付钱都是采用四舍五入的方法,把分头去掉。例如,买2个鸡腿,每个4.26元,付钱8.5元。妈妈回来时,根据菜篮子里菜的品种和数量,花了多少钱呢?

Input:

输入含有一些数据组,每组数据包括菜种(字串),数量(可能为小数)和单价(可能为小数,单位为人民币元),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。

Output:

输出一个精度为角的菜价总量。

Sample Input:

青菜 1  2
罗卜 2  1.52
鸡腿 2  4.2

Sample Output:

13.4

如果要四舍五入小数点后两位比较困难,但是如果转化为一位小数的话相对会容易很多

#include<iostream>
#include<iomanip>
#include<cmath>
#include<algorithm>
using namespace std;
struct Myclass
{
    string a;
    double num, price,all;
}maicai[100];
int  main()
{
    int t = 0;
    while (cin >> maicai[t].a >> maicai[t].num >> maicai[t].price)
    {
        maicai[t].all=(maicai[t].num*maicai[t].price*10);
        maicai[t].all=round(maicai[t].all);
        t++;
    }
    double full=0;
    for(int i=0;i<t;i++)
    {
        full+=maicai[i].all;
    }
    cout<<fixed<<setprecision(1)<<full/10;
}

上面是我看题之后写的代码,也没特别注释什么了,如果有兴趣可以评论一下,我有时间就会看。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值