|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
遇到一道题,函数中套函数,这种题应该怎么做。毫无头绪。懵逼当中。谢谢大神们帮忙解答。
题目要求:
#include <iostream>
using namespace std;
//函数声明
int main ()
{
int number of items, total calories;
number of items= getInput();
total calories= calcCalories(number of items);
displayOutput(number of items, total calories);
return 0;
}
//函数定义
Function name:
1. Return type
2. Number of formal parameters
a. Data Type of each formal parameter
b. Any local variables?
3. Task performaned
4. Comments
运行:
How many items did you eat today? 5
Eater the number of calories in each of the
5 items eaten:
Item 1: 234
Item 2: 456
Item 3: 789
Item 4: 125
Item 5: 100
Total calories eaten today = 1704
The average calories per item is 340.80
我自己写到循环的时候就不下去了,完全没有了逻辑概念, displayOutput函数里又套着calcCalories(number of items),逻辑想不清楚了。下面是我自己写的不带函数。结果没有任何问题。愁死了
#include<iostream>
using namespace std;
int main()
{
int i = 1;
int number_of_items, number_of_eachItem,calories_of_eachItem;
int total_calories = 0;
double average_calories;
cout << "How many items did you eat today? ";
cin >> number_of_items;
cout << "Enter the number of calories in each of the\n"
<< number_of_items << " items eaten:\n";
while (i <= number_of_items)
{
cout << "item " << i << ": ";
i++;
cin >> calories_of_eachItem;
total_calories += calories_of_eachItem;
}
cout << "Total calories eaten today = " << total_calories << "\n";
average_calories = (static_cast<double>(total_calories))/ number_of_items;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
cout << "The average calories per item is " << average_calories;
return 0;
}
本帖最后由 yuxijian2020 于 2021-3-24 10:20 编辑
我研究半天没懂你这需求里面哪里有什么函数套函数....
就单纯从第一个main函数来看,这就是写出3个函数的定义就完事了
- #include <iostream>
- using namespace std;
- //函数声明
- int getInput();
- int calcCalories(int sum);
- void displayOutput(int sum, int total);
- int main ()
- {
- int number_of_items, total_calories;
-
- number_of_items = getInput();
- total_calories = calcCalories(number_of_items);
- displayOutput(number_of_items, total_calories);
-
- return 0;
- }
- int getInput()
- {
- int sum = 0;
- printf_s("How many items did you eat today?\n");
- cin >> sum;
- //if(sum > 0) //不太确定你这是不是要有个判断
- //{
- return sum;
- //}
- }
- int calcCalories(int sum)
- {
- int temp = 0;
- int total = 0;
- printf_s("Eater the number of calories in each of the %d items eaten:\n", sum);
- for(int i = 1; i <= sum; ++i)
- {
- printf_s("Item %d: ", i);
- cin >> temp;
- total += temp;
- }
- return total;
- }
- void displayOutput(int sum, int total)
- {
- float average = (float)total / (float)sum;
- printf_s("Total calories eaten today = %d\n", total);
- printf_s("The average calories per item is %.2f\n", average);
- }
复制代码
|
|