Нужно было создать прогу на C++ с возможностью редактирования и просмотра масива, при этом общение с пользователем происходило через меню. Но при выборе какого-то кейса происходит выполнение все кейсов указаных после него. Вот код :
#include <iostream>
#include <ctime>
using namespace std;
int main() {
enum menu { random_numbers = 1, show = 2, up = 3, down = 4, search = 5 };
const int size = 5;
int array[size]{ 3,5,6,2,8 }, choise, start, end;
srand(unsigned(time(0)));
cout << " -------------Main menu-----------------" << endl;
cout << "|1) Input random numbers into array\t|\n|2) Show elements of array\t\t|\n|3) Show elements in ascending order\t|\n|4) Show elements in descending order\t|\n|5) Search an element\t\t\t|\n ---------------------------------------\nAs usual entered this elements : 3 5 6 2 8\nYour choise : ";
cin >> choise;
switch (choise) {
case 1:
cout << "Enter start of random diapazone : ";
cin >> start;
cout << "Enter end of diapazone : ";
cin >> end;
for (size_t i = 0; i < size; i++)
{
array[i] = start + rand() % end;
}
cout << "Your array`s elements : ";
for (size_t i = 0; i < size; i++)
{
cout << array[i] << "\t";
}
case 2:
cout << "Your array`s elements : ";
for (size_t i = 0; i < size; i++)
{
cout << array[i] << "\t";
}
case 3:
int temp;
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (int i = 0; i < size; i++) {
cout << array[i] << "\t";
}
case 4:
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (array[j] < array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (int i = 0; i < size; i++) {
cout << array[i] << " ";
}
case 5:
cout << "Enter value for search : " << endl;
int value;
cin >> value;
int index = -1;
for (size_t i = 0; i < size; i++)
{
if (array[i] == value) {
index = i;
}
}
if (index == -1) {
cout << "Value " << value << " not found";
}
else {
cout << "First of value " << value << " in index " << index << endl;
for (int i = size - 1; i >= 0; i++) {
if (array[i] == value) {
index = i;
break;
}
}
}
}
}
То есть при выборе пункта 1 проиходит выполнения пункта 1, 2, 3, 4 и 5. Скриншот прилагается.