Advertisement
Guest User

switch case

a guest
Dec 19th, 2014
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.47 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "string"
  3.  
  4. using namespace std;
  5.    
  6.  
  7. int main()
  8. {
  9.     setlocale(LC_CTYPE, "rus");
  10.     int P = 0; // флажок для выхода из программы
  11.  
  12.     int flag3 = 0, flag1 = 0, flag2 = 0, flag4 = 0, flag5 = 0;
  13.  
  14.     do
  15.     {
  16.     if (flag1 == 0)
  17.         puts("1 - Ввод строки разделителей");
  18.     else
  19.         puts("1 - Ввод строки разделителей             [Выполнено]");
  20.     if (flag2 == 0)
  21.         puts("2 - Ввод размера исходного массива");
  22.     else
  23.         puts("2 - Ввод размера исходного массива       [Выполнено]");
  24.     if (flag3 == 0)
  25.         puts("3 - Ввод элементов исходного массива");
  26.     else
  27.         puts("3 - Ввод элементов исходного массива     [Выполнено]");
  28.     if (flag4 == 0)
  29.         puts("4 - Ввод размера строк конечного массива");
  30.     else
  31.         puts("4 - Ввод размера строк конечного массива [Выполнено]");
  32.     if (flag5 == 0)
  33.         puts("5 - Обработка массивов");
  34.     else
  35.         puts("5 - Обработка массивов                   [Выполнено]");
  36.         puts("6 - Контрольный вывод");
  37.         puts("7 - Завершить программу");
  38.  
  39.         int menu; // переменная для ввода пунктов меню
  40.        
  41.         fflush(stdin);
  42.         scanf_s("%d", &menu);
  43.         switch (menu)
  44.         {
  45.         case 1:
  46.  
  47.             if (flag5 == 0)
  48.             {
  49.                 тут текст первого пункта (у меня здесь ввод строки разделитетелей)
  50.  
  51.                 flag1 = 1; // флажок, кот. показывает, что строка разделителей введена
  52.                 system("cls");
  53.             }
  54.             else
  55.                 puts("Ошибка!\n\aВы не можете поменять строку символов-разделителей после обработки массива.\n");
  56.  
  57.             break;
  58.        
  59.  
  60.         case 2:
  61.             if (flag5 == 0 && flag3 == 0)
  62.             {
  63.                 текст проги (у меня здесь размеры массивов)
  64.                 flag2 = 1; // флажок ,кот. показывает, что количество строк массива введено
  65.                 system("cls");
  66.             }
  67.             else
  68.             {
  69.             if (flag5 == 1) puts("Ошибка!\n\aВы не можете поменять кличество строк после обработки массива. \n");
  70.             if (flag3 == 1) puts("Ошибка!\n\aВы не можете поменять количество строк после ввода массива.\n");
  71.             }
  72.             break;
  73.         case 3:
  74.             if (flag2 == 1 && flag5 == 0)
  75.             {
  76.                 текст проги (ввожу массивы)
  77.                 flag3 = 1; // флажок, кот. показывает, что исходный массив введен
  78.                 system("cls");
  79.             }  
  80.             else
  81.             {
  82.                 system("cls");
  83.  
  84.                 if (flag2 == 0)
  85.                     puts("Ошибка!\n\aВведите размеры исходного массива.\n");
  86.                 if (flag5 == 1)
  87.                     puts("Ошибка!\n\aВы не можете поменять элементы массива после его обработки.");
  88.             }
  89.             break;
  90.         case 4:
  91.             if (flag5 == 0)
  92.             {
  93.                 прога (у меня здесь ввод длины строк конечного массива)
  94.                 flag4 = 1; // флажок ,кот. показывает, что длина строк конечного массива введена
  95.                 system("cls");
  96.             }
  97.             else
  98.                 if (flag5 == 1)
  99.                 puts("Ошибка!\n\aВы не можете поменять кличество строк после обработки массива. \n");
  100.             break;
  101.         case 5:
  102.             if (flag1 == 1 && flag3 == 1 && flag4 == 1)
  103.             {
  104.                 здесь обраотка данных
  105.                 flag5 = 1;// флажок, кот. показывает, что обработка данных проведена
  106.                 system("cls");
  107.             }
  108.             else
  109.             {
  110.                 system("cls");
  111.                 if (flag1 == 0)
  112.                 puts("Ошибка!\n\aВведите строку символов-разделителей.\n");
  113.                 if (flag3 == 0)
  114.                 puts("Ошибка!\n\aВведите элементы исходного массива.\n");
  115.                 if (flag4 == 0)
  116.                 puts("Ошибка!\n\aВведите размеры строк конечного массива.\n");
  117.             }
  118.             break;
  119.         case 6:
  120.             if (flag5 == 1)
  121.             {
  122.                 здесь вывод результатов
  123.                 puts("\nЗавершить программу? (1 - Да, 0 - Нет)");
  124.                 do
  125.                 {
  126.                     fflush(stdin);
  127.                     scanf_s("%d", &P);
  128.                     if (P > 1 || P < 0) puts("Ошибка!\n\aВведите 1(да) или 0(нет).");
  129.                 }
  130.                 while (P > 1 || P < 0);
  131.  
  132.                 if (P == 0)
  133.                 {
  134.                     system("cls");
  135.                     flag1 = 0;
  136.                     flag2 = 0;
  137.                     flag3 = 0;
  138.                     flag4 = 0;
  139.                     flag5 = 0;
  140.                 }
  141.             }
  142.             else
  143.             {
  144.                 system("cls");
  145.                 if (flag1 == 0)
  146.                 puts("Ошибка!\n\aВведите строку символов-разделителей.\n");
  147.                 if (flag3 == 0)
  148.                 puts("Ошибка!\n\aВведите элементы исходного массива.\n");
  149.                 if (flag5 == 0)
  150.                 puts("Ошибка!\n\aНеобходимо выполнить обработку данных.\n");
  151.             }
  152.             break;
  153.  
  154.         case 7:
  155.             P = 1;// флажок для выхода из программы.
  156.             break;
  157.  
  158.         default:
  159.             system("cls");
  160.             puts("Ошибка!\n\a Введите число от 1 до 7.\n");
  161.            
  162.         }
  163.     } while (P != 1);
  164.     return 0;
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement