Нужна помощь с основной программой на C - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть меню, когда я выбираю 2 переменные, а затем я должен выбирать между мужчиной и женщиной. После этого я должен перейти к man.c или woman.c с двумя ранее выбранными переменными, но я не знаю, как я могу это сделать.

my main.c (только когда опция man в меню):

printf("Insert weight: ");
scanf("%f",&a);
printf("Insert high: ");
scanf("%f",&b);
switch(opcion){
    case 'm':;

- здесь я хочу перейти в man.c, чтобы продолжить работу с другим меню, но зная переменные weight и high -

man.c и woman.c аналогичны разнице между ионами при расчете индекса массы тела

man.c:

int bmi(float weight, float high){

    float bmi;
    char opcion;

    printf("a) Calculate body mass index");

    switch(opcion){

    case 'a': bmi = weight / high;
              break;

    }
}

Теперь я знаю только это, и женщина такая же. Когда все будет готово, у man.c и woman.c будет 4 варианта, использующих взвешивание, высоту и еще несколько переменных, которые они запрашивали при необходимости с scanf.

Ответы [ 5 ]

1 голос
/ 10 февраля 2011

Общее :

  • Ошибочно думать о коде с помощью имен файлов. Вместо этого вы должны думать о функциях.
  • добавить обработку ошибок в меню, например проверить ввод и повторять в цикле до тех пор, пока не будет введен правильный ввод или escape-символ.

Решение .

Добавьте две прототипы функций void handleMan(float weight ,float height); и void handleWoman(float weight ,float height); в main.c (просто скопируйте код перед menu() или main() и внедрите их в man.c и woman.c позже, вызывая правильный метод при выборе пользователя.

1 голос
/ 10 февраля 2011

1) Вы не можете просто перемещаться по файлам c в C.
2) Вы можете сделать это, используя include & классы, но для новичка это немного сложно
3) Правильный способ сделать это примерно так:

 printf("M/F");
    scanf("%f",&option);    
    switch(option){
    case M:
      do_man();
      break;
    case F:
      do_woman();
      break;
    }

И вы должны объявить функции do_man () и do_woman () перед основными.

1 голос
/ 10 февраля 2011

Я бы посоветовал вам вызвать функцию (скажем, manMenu()) и сохранить ее в том же файле .c.

0 голосов
/ 10 февраля 2011

Ну, вы должны определить процедуры для мужчины и женщины и вызвать процедуру в операторе switch и выполнять свои индивидуальные действия соответствующими методами.

0 голосов
/ 10 февраля 2011

Самый простой способ - вызвать функцию переключения пола в коммутаторе. Например, man_menu () и woman_menu (). Они также могут находиться в разных файлах .c, но тогда вам нужно связать объектные файлы вместе.

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