作为作业的一部分,我写了一个气体成本计算器。该程序输出当前的里程数和用于燃气的总费用。
这是我的代码:
<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语句。老师说我不能使用全局变量,原型化函数,调用函数传递值并通过函数返回东西。我怎样才能做到这一点?谢谢!
答案 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);
对要计算的所有相关数据重复此过程。