Моя основная функция запрашивает только 1 вход. Как я могу получить функцию умножения трех входов? - PullRequest
0 голосов
/ 05 апреля 2019

Программа пытается умножить 3 входа (1.0f / 3.0f) из 3 различных функций, чтобы получить объем пирамиды. Но у меня возникли проблемы с последней функцией, которая запрашивает у меня только 1 вход и, следовательно, не умножает 3 входа и (1.0f / 3.0f).

float volume(float baselength, float baseWidth, float height){
    float frac = (1.0f/3.0f);
    float vol;
    vol = baselength*baseWidth*height*frac;
    return vol;
}
float main(){
    displayTitle();
    float num;

    printf("Enter a Number: ");
    scanf("%f", &num);

    float frac = (1.0f/3.0f);   
    float baselength;
    float baseWidth;
    float height;
    float result;

    result = volume(baselength, baseWidth, height);
    printf("The Volume of the Pyramid is %f",result);
}

Я ожидаю, что результат будет:

Welcome to the Pyramid Program
Enter a Number: 5 
Enter a Number: 4
Enter a Number: 3

The Volume of the Pyramid is 20.00

но вывод

Welcome to the Pyramid Program
Enter a Number: 5
The Volume of the Pyramid is 0.000000

1 Ответ

2 голосов
/ 05 апреля 2019

Это потому, что вы читаете только один вход.

scanf("%f", &num);

читает один вход и сохраняет его в переменной num, в настоящее время ваша базовая длина, базовая ширина и высота инициализированы равными 0. Вам нужно выполнить это три раза для трех входов. Я изменил твой код

float volume(float baselength, float baseWidth, float height){
    float frac = (1.0f/3.0f);
    float vol;
    vol = baselength*baseWidth*height*frac;
    return vol;
}
int main(){
    //displayTitle();
    float num;
    float frac = (1.0f/3.0f);   
    float baselength;
    float baseWidth;
    float height;
    float result;

    printf("Enter a Number: ");
    scanf("%f", &baselength);
    printf("Enter a Number: ");
    scanf("%f", &baseWidth);
    printf("Enter a Number: ");
    scanf("%f", &height);


    result = volume(baselength, baseWidth, height);
    printf("The Volume of the Pyramid is %f",result);
    return 0;
}

Ps его всегда int main и он всегда должен возвращать 0

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