C基本菜单驱动程序,气体计算器没有全局变量

时间:2018-03-17 21:52:15

标签: c

作为作业的一部分,我写了一个气体成本计算器。该程序输出当前的里程数和用于燃气的总费用。

这是我的代码:

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>public.data</string>
                <string>public.content</string>
                <string>public.image</string>
                <string>public.directory</string>
                <string>public.item</string>
            </array>
        </dict>
    </array>

该程序运行良好,我刚刚意识到我不允许使用全局变量或goto语句。老师说我不能使用全局变量,原型化函数,调用函数传递值并通过函数返回东西。我怎样才能做到这一点?谢谢!

1 个答案:

答案 0 :(得分:0)

移动全局声明:

float currentMilage = 0.0, pricePerGallon = 0.0, MPG = 0.0, totalCost = 0.0;

main

更改:

void calculateTotalCost() { 

        totalCost=(currentMilage/MPG)*pricePerGallon; 
}

float calculateTotalCost(float currentMilage, float MPG, float pricePerGallon) { 

      float totalCost = (currentMilage/MPG)*pricePerGallon; 
      return totalCost;
}

修改执行计算的函数以获取更多参数并返回值:

 void updateCurrentMilage(float miles) { 

       currentMilage = currentMilage + miles; 
 }

像:

  float updateCurrentMilage(float miles, float currentMilage) { 

       float current = currentMilage + miles;
       return current; 
 }

使用返回的值更新相应的变量;

    currentMilage = updateCurrentMilage(miles,currentMilage); 

对要计算的所有相关数据重复此过程。