我的代码返回0而不是正确的数字

时间:2019-02-14 23:11:10

标签: c

这是说用户的年龄为0秒,并且吃了0次奥利奥,尽管这些功能与其他工作功能几乎相同。

我尝试根据评论更改它,但是现在所有内容都返回零。

这是使用基本C进行的作业,我只是想以最简单的方式修复此代码,在此先感谢您! :)

    #include <stdio.h>

int ComputeUserDays(int userAgeYears) {
   int userAgeDays;

   userAgeDays = userAgeYears * 365;
   userAgeDays = userAgeDays + (userAgeYears / 4);

   return userAgeDays;
   }
int ComputeUserMinutes(int userAgeDays) {
   int userAgeMinutes;

   userAgeMinutes = userAgeDays * 24 * 60;

   return userAgeMinutes;
   }
int ComputeUserSeconds(int userAgeMinutes) {
   int userAgeSeconds;

   userAgeSeconds = userAgeMinutes * 60;

   return userAgeSeconds;
   } 
int ComputeUserSneezes(int userAgeDays) {
   int userAgeSneezes;

   userAgeSneezes = userAgeDays * 4;

   return userAgeSneezes;
   } 
int ComputeUserCalories(int userAgeDays) {
   int userCalories;

   userCalories = userAgeDays * 2000;

   return userCalories;
   } 
int ComputeUserOreos(int userCalories) {
   int userOreos;

   userOreos = userCalories / 45;

   return userOreos;
   } 

int main(void) {
   int userAgeYears; 
   int userAgeDays = ComputeUserDays(userAgeYears);
   int userAgeMinutes = ComputeUserMinutes(userAgeDays);
   int userAgeSeconds = ComputeUserSeconds(userAgeMinutes);
   int userCalories = ComputeUserCalories(userAgeDays);
   int userSneezes =  ComputeUserSneezes(userAgeDays);
   int userOreos = ComputeUserOreos(userCalories);

   printf("Enter your age in years: ");

   scanf("%d", &userAgeYears);

   printf("You are %d days old.\n", userAgeDays );

   printf("You are %d minutes old.\n", userAgeMinutes );

   printf("You are %d seconds old.\n", userAgeSeconds );

   printf("You have sneezed %d times in your life.\n", userSneezes );

   printf("You have expended %d calories in your life.\n", userCalories );

   printf("You needed to eat %d Oreos to expend those calories.\n", userOreos );


   return 0;
}

1 个答案:

答案 0 :(得分:0)

您需要将逻辑更改为:

   int userAgeYears; 
   printf("Enter your age in years: ");
   scanf("%d", &userAgeYears);
   int userAgeDays = ComputeUserDays(userAgeYears);
   int userAgeMinutes = ComputeUserMinutes(userAgeDays);
   int userCalories = ComputeUserCalories(userAgeDays);


   printf("You are %d days old.\n", userAgeDays );

   printf("You are %d minutes old.\n",  userAgeMinutes );
   .
   .
   .

以此类推。

因为您没有刷新变量,所以您只是在调用函数而不刷新它。