Usow_Maxim

Lab_8.11/module.cpp

Jun 8th, 2018
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.45 KB | None | 0 0
  1. ///////////////////////////
  2. //Lab_8.11/module.cpp
  3. ///////////////////////////
  4.  
  5. #include "module.h"
  6.  
  7. struct sessiya;
  8.  
  9. sessiya* pam(sessiya* vse, int kolvo)
  10. {
  11.     if (kolvo == 0)
  12.     {
  13.         vse = new sessiya[1];
  14.     }
  15.     else
  16.     {
  17.         sessiya* tmp = new sessiya[kolvo + 1];
  18.         for (int i = 0; i < kolvo; i++)
  19.         tmp[i] = vse[i];
  20.  
  21.         delete[] vse;
  22.         vse = tmp;
  23.     }
  24.     return vse;
  25. }
  26.  
  27. int proverka()
  28. {
  29.     char ctl[15];
  30.     bool ok = false;
  31.     while (!ok)
  32.     {
  33.         scanf("%s", &ctl);
  34.         ok = true;
  35.         for (int i = 0; i < strlen(ctl); i++)
  36.         {
  37.             if (ctl[i] < '0' || ctl[i] > '9')
  38.             {
  39.                 printf("Некорректные данные!");
  40.                 ok = false;
  41.                 break;
  42.             }
  43.         }
  44.         if (atoi(ctl) > 0 && atoi(ctl) < 8)
  45.             return atoi(ctl);
  46.         else
  47.         {
  48.             printf("Введите заново: ");
  49.             ok = false;
  50.         }
  51.     }
  52.  
  53. }
  54. int proverka2()
  55. {
  56.     char ctl[15];
  57.     bool ok = false;
  58.     while (!ok)
  59.     {
  60.         scanf("%s", &ctl);
  61.         ok = true;
  62.         for (int i = 0; i < strlen(ctl); i++)
  63.         {
  64.             if (ctl[i] < '0' || ctl[i] > '9')
  65.             {
  66.                 printf("Некорректные данные!");
  67.                 ok = false;
  68.                 break;
  69.             }
  70.         }
  71.         if (atoi(ctl) > 0 && atoi(ctl) < 6)
  72.             return atoi(ctl);
  73.         else
  74.         {
  75.             printf("Введите заново: ");
  76.             ok = false;
  77.         }
  78.     }
  79. }
  80. int proverka3(int kolvo)
  81. {
  82.     char ctl[15];
  83.     bool ok = false;
  84.     while (!ok)
  85.     {
  86.         scanf("%s", &ctl);
  87.         ok = true;
  88.         for (int i = 0; i < strlen(ctl); i++)
  89.         {
  90.             if (ctl[i] < '0' || ctl[i] > '9')
  91.             {
  92.                 printf("Некорректные данные!");
  93.                 ok = false;
  94.                 break;
  95.             }
  96.         }
  97.         if (atoi(ctl) > 0 && atoi(ctl) <= kolvo)
  98.             return atoi(ctl);
  99.         else
  100.         {
  101.             printf("Введите заново: ");
  102.             ok = false;
  103.         }
  104.     }
  105.  
  106. }
  107.  
  108. sessiya* vvod(sessiya* vse, int kolvo)
  109. {
  110.     printf("Введите фамилию: ");
  111.     scanf("%s", vse[kolvo].surname);
  112.     printf("Введите имя: ");
  113.     scanf("%s", vse[kolvo].name);
  114.     printf("Введите отчество: ");
  115.     scanf("%s", vse[kolvo].otch);
  116.     printf("Введите оценку по истории: ");
  117.     vse[kolvo].ist = proverka2();
  118.     printf("Введите оценку по математике: ");
  119.     vse[kolvo].matem = proverka2();
  120.     printf("Введите оценку по программированию: ");
  121.     vse[kolvo].prog = proverka2();
  122.     printf("Введите оценку по физике: ");
  123.     vse[kolvo].phis = proverka2();
  124.     vse[kolvo].srznach = ((vse[kolvo].matem + vse[kolvo].ist + vse[kolvo].phis + vse[kolvo].prog) / 4);
  125.     return vse;
  126. }
  127. sessiya* udalenie(sessiya* vse, int kolvo)
  128. {
  129.     printf("Введите номер элемента массива для удаления: ");
  130.     int ud = proverka3(kolvo);
  131.     int k = 0;
  132.     sessiya* tmp = new sessiya[kolvo - 1];
  133.     for (int i = 0; i < kolvo; i++)
  134.         if (i != ud - 1)
  135.         {
  136.             tmp[k] = vse[i];
  137.             k++;
  138.         }
  139.     delete[] vse;
  140.     vse = tmp;
  141.     return vse;
  142. }
Add Comment
Please, Sign In to add comment