Передача значения из одной функции в другую функцию в C - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь передать значение, определенное одной функцией, другой функции, которая идет после нее.По сути: функция 1 определяет значение, скажем, х.Затем X передается другой функции, которая специально отображает X в виде текста.Это отдельная функция, которая будет использоваться другими функциями, которые также могут определять значение X. Однако я получаю только 0 вместо переменной x.Что здесь не так?

float fahToCel(int userInput)
{
    float result = 0;
    do
    {
        printf("\nPlease input your number in Fahrenheit units:");
        scanf("%d", &userInput);
    } while (result = 0);
    result = (float)(((float)5.0f / (float)9.0f) * (float)(userInput - 32));
    return result;
}

float celToFah(int userInput){
    float result = 0;
    do
    {
        printf("\nPlease input your number in Celcius units:");
        scanf("%d", &userInput);
    } while (result = 0);
    result = (float)(((float)9.0f / (float)5.0f) * (float)(userInput + 32));
    return result;
}

float displayResult(float result) {
    printf("\nThe equivalent tempature is: %f\n", result);
    return result;
}

void inputInformation() {
    printf("1. Convert temperature input from the user in degrees Fahrenheit to 
    degrees Celsius.\n");
    printf("2. Convert temperature input from the user in degrees Celsius to 
    degrees Fahrenheit.\n");
    printf("3. Quit.\n ");
}


int main()
{
    int menuChoice = 0;
    int userInput = 0;
    int result = 0;
    while (1)
    {
        inputInformation();
        printf("Please make a selection now:");
        scanf("%d", &menuChoice);

        switch (menuChoice)
        {
            case 1:
                 fahToCel(userInput);
                 displayResult(result);
                 break;
            case 2:
                 celToFah(userInput);
                 displayResult(result);
                 break;
            case 3:
                 return 0;
            default:
                 printf("\nThat is not a choice!\n");
                 break;
        }
    }
}

1 Ответ

0 голосов
/ 07 декабря 2018

Вы никогда не присваиваете результат result.Изменить как это:

result = fahToCel(userInput);
displayResult(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...