Может ли кто-нибудь помочь с этим?
Описание проблемы
Напишите программу, управляемую меню, которая позволяет пользователю ввести пять чисел, а затем выбрать между поиском
наименьшее, наибольшее, сумма или среднее. Используйте оператор switch, чтобы определить, какое действие предпринять. Дают
сообщение об ошибке при вводе неверных данных. Если введены неверные данные, ваша основная функция должна вернуть целое число
значение 1. В противном случае верните целочисленное значение 0.
Пример взаимодействия
$ ./а.из
Введите пять чисел, разделенных пробелами: 18 21 7 54 Z
Извиняюсь. Вы ввели что-то, чего я не понимаю.
$ echo $?
1
$ ./а.из
Введите пять чисел, разделенных пробелами: 18 21 7 54 9
малое значение
б. наибольшее значение
c. сумма значений
д. Средние значения
Ввести выбор? 1
Извиняюсь. Вы ввели что-то, чего я не понимаю.
$ echo $?
1
$ ./а.из
Введите пять чисел, разделенных пробелами: 18 21 7 54 9
малое значение
б. наибольшее значение
c. сумма значений
д. Средние значения
Введите выбор? а
Наименьшее значение - 7.
$ echo $?
0
Что я уже пробовал:
#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; //Function Declarations int option; int small(int u, int w, int x, int y, int z); int large(int u, int w, int x, int y, int z); int sum(int u, int w, int x, int y, int z); int avg(int u, int w, int x, int y, int z); int one; int two; int three; int four; int five; int main(void) { //Local Declarations printf("\n Enter five numbers, separated with spaces:"); scanf ("%d %d %d %d %d", &one, &two, &three, &four, &five); //Statements printf("\n\t a. Smallest value "); printf("\n\t b. Largest value "); printf("\n\t c. Sum of values "); printf("\n\t d. Average of values "); printf("\n Enter choice? "); scanf ("%d", &option); // return option; switch(option) { case 'A': cout<<"The smallest value is " <<small(one, two, three, four, five); break; case 'B': cout<<"The largest value is " <<large(one, two, three, four, five); break; case 'C': cout<<"The sum value is " <<sum(one, two, three, four, five); break; case 'D': cout<<"The avergae value is " <<avg(one, two, three, four, five); break; default : cout<<"\n Sorry. You entered something I don’t understand."; } return 0; } int small(int u, int w, int x, int y, int z) { if (one<two && one<three && one<four && one<five) printf("%d", one); else if (two<one && two<three && two<four && two<five) printf("%d", two); else if (three<one && three<two && three<four && three<five) printf("%d", three); else if (four<one && four<two && four<three && four<five) printf("%d", four); else printf("%d", five); return 0; } int large(int u, int w, int x, int y, int z) { if (one>two && one>three && one>four && one>five) printf("%d", one); else if (two>one && two>three && two>four && two>five) printf("%d", two); else if (three>one && three>two && three>four && three>five) printf("%d", three); else if (four>one && four>two && four>three && four>five) printf("%d", four); else printf("%d", five); return 0; } int sum(int u, int w, int x, int y, int z) { return(u+w+x+y+z); } int avg(int u, int w, int x, int y, int z) { return((u+w+x+y+z)/5); }
OriginalGriff
И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Какая помощь вам нужна?
Patrice T
В чем проблема?
У вас есть вопрос?