Мой код возвращает 0 вместо правильного числа - PullRequest
0 голосов
/ 15 февраля 2019

Говорят, что пользователю 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 голосов
/ 15 февраля 2019

Вам нужно изменить свою логику на:

   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 );
   .
   .
   .

и т. Д.

Поскольку вы не обновляете свои переменные, вы просто вызываете функции, не обновляя их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...