zoukankan      html  css  js  c++  java
  • 阶梯电价项目 计应192(西)第7组 刘自斌

    计划:
    为了提倡居民节约用电,某省电力公司执行 “阶梯电价”,安装一户一表的居民用户电价分为两个 “阶梯”:月用电量 50 千瓦时(含 50 千瓦时)以内的,电价为 0.53 元 / 千瓦时;超过 50 千瓦时的,超出部分的用电量,电价上调 0.05 元 / 千瓦时。请编写程序计算电费。
    开发:
    输入格式:
    输入在一行中给出某用户的月用电量(单位:千瓦时)。
    输出格式:
    在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于 0,则输出 “Invalid Value!”。
     
    具体编码:
     
    #include <stdio.h>
    int main()
    {
          
    float cost, electric;
           scanf("%f", &electric);
           if (electric > 0)
           {
                  cost = electric * 0.53;
           }
           else if (electric > 50)
           {
                  cost = (electric - 50) * (0.53 + 0.05) + 50 * 0.53;
           }
           else
           {
                  printf("Invaild Value!");
           }
           printf("cost = %.2f", cost);
           return 0;
    }
                 
    错误
    由于先 if (electric > 0) 导致大于50的数都按照0到50来算,结果出错
    改正后
     
    #include <stdio.h>
    int main()
    {
           float cost, electric;
           scanf("%f", &electric);
           if (electric > 50)
           {
                  cost = (electric - 50) * (0.53 + 0.05) + 50 * 0.53;
           }
           else if (electric > 0)
           {
                  cost = electric * 0.53;
           }
           else
           {
                  printf("Invaild Value!");
           }
           printf("cost = %.2f", cost);
           return 0;
    }
    还是错误
    这样写导致小于0时输出两行数据
    改正后
     
    #include <stdio.h>
    int main()
    {
           float cost, electric;
           scanf("%f", &electric);
           if (electric > 50)
           {
                  cost = (electric - 50) * (0.53 + 0.05) + 50 * 0.53;
            printf("cost = %.2f", cost);
           }
           else if (electric > 0)
           {
                  cost = electric * 0.53;
            printf("cost = %.2f", cost);
           }
           else
           {
                  printf("Invalid Value!");
           }
           return 0;
    }
    报告:


    测试报告:第一次错误
    由于先 if (electric > 0) 导致大于50的数都按照0到50来算,结果出错
    改正后还是出错,这样写导致小于0时输出两行数据
    改正后终于正确。
    事后总结:这个计费器的难度并不大,整个过程大概花费了2个多小时的时间,功能都能实现,中间也遇到过一些问题,经过上网查阅资料和同学讨论,问题大大小小的都解决了。最重要的我感觉不是代码的编写,而是思路,只要思路清晰,知道每个功能都是要怎么实现,该用设计什么控件,改定义那些方法在哪里调用等等。路漫漫其修远兮,继续努力加油。

    著:计应192(西)刘自斌
    日期:2021/4/6

  • 相关阅读:
    模拟信号、数字信号,信号是如何被处理的?
    模拟信号、数字信号,信号是如何被处理的?
    语气词、拟声词、动作与哭、量词、标点、特殊的符号
    语气词、拟声词、动作与哭、量词、标点、特殊的符号
    联合概率(joint probability)、分布函数(distribution function)
    联合概率(joint probability)、分布函数(distribution function)
    考古与历史
    考古与历史
    从贝叶斯模型(Bayes)到生成模型(Generative models)(生成式分类器,generative classifier)
    stm32开发笔记一:使用固件库在RealView-MDK中新建工程(上)
  • 原文地址:https://www.cnblogs.com/7930li/p/14632464.html
Copyright © 2011-2022 走看看