Я пытаюсь узнать, как передавать переменные через меню с помощью функций. Проблема в том, что ни в коем случае не учили, как это сделать. Как вы можете себе представить, какие переменные я бы ввести в первой функции меню, чтобы нормально использовать в моих случаях/другие функции, такие, какПередача переменной через оператор switch с функциями
if (count==0)
{
low = number;
high = number;
count++;
sum = number;
}
else
{
if (number < low)
number = low;
if (number > high)
high = number;
count ++;
sum += number;
}
не будет проходить через функции 2, как любой более осведомленным с C бы реализовать. Он не будет работать и в основном. Как можно было бы определить введенные пользователем числа, самые высокие, самые низкие и т. Д. К другим функциям? Вот что я до сих пор, цикл и меню работает нормально.
#include<stdlib.h>
#include<stdio.h>
int menuChoice()
{
int choice;
printf("1.Enter a number\n");
printf("2.Display Highest Number Entered\n");
printf("3.Display Lowest Number entered\n");
printf("4.Display Average of Numbers Entered\n");
printf("5.Quit\n");
printf("Enter your choice: ");
scanf("%i", &choice);
return choice;
}
int function1()
{
int number;
printf("Enter a number:\n");
scanf("%i", &number);
return number;
}
int function2()
{
}
int function3()
{
}
int function4()
{
}
int main()
{
int quit = 0;
while (quit != 1)
{
int menu;
menu = menuChoice();
switch (menu)
{
case 1:
function1();
break;
case 2:
function2();
break;
case 3:
function3();
break;
case 4:
function4();
break;
case 5:
quit = 1;
break;
default:
printf("Please enter 1 through 5\n");
}
}
return 0;
}
отображение меню должно быть в цикле, а затем, когда scanf() возвращает значение, 1) проверьте, что возвращаемое значение из scanf(), а не параметра, (в данном случае) 1. в противном случае getchar() до тех пор, пока EOF или '\ n' не будут прочитаны повторно отобразить меню. 2) после успешного сканированияf() проверьте, что значение чтения находится в диапазоне 1 ... 5. Если не в диапазоне, цикл снова отображает меню (возможно, после отображения сообщения об ошибке. – user3629249
В конце случая по умолчанию в заявлении коммутатора должен быть оператор break_ – user3629249