Advertisement
Guest User

Untitled

a guest
Dec 12th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <locale>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6. fstream fp;
  7.  
  8. struct girls
  9. {
  10.     char nomer[10];
  11.     float visochina;
  12.     float teglo;
  13.     char ime[30];
  14.     char familiq[30];
  15.     char durjava[30];
  16.     int age;
  17. };
  18.  
  19. void input(girls f[50])
  20. {
  21.     int N;
  22.     do
  23.     {
  24.         cout << "\t" "Въведи брой на участничките: ";
  25.         cin >> N;
  26.  
  27.     } while (N < 1 || N > 50);
  28.  
  29.     for (int i = 0; i < N; i++)
  30.     {
  31.         cout << endl;
  32.  
  33.         cout << "\n Номер: ";
  34.         cin >> f[i].nomer;
  35.         cout << "\n Име: ";
  36.         cin >> f[i].ime;
  37.         cout << "\n Фамилия: ";
  38.         cin >> f[i].familiq;
  39.         cout << "\n Години: ";
  40.         cin >> f[i].age;
  41.         cout << "\n Височина(В см): ";
  42.         cin >> f[i].visochina;
  43.         cout << "\n Тегло(В кг): ";
  44.         cin >> f[i].teglo;
  45.         cout << "\n Държава: ";
  46.         cin >> f[i].durjava;
  47.    
  48.  
  49.     }
  50.  
  51.     fp.open("miss.dat", ios::binary | ios::out);
  52.     if (!fp)
  53.     {
  54.         cout << "Error";
  55.         exit(1);
  56.     }
  57.  
  58.     fp.write((char*)f, N * sizeof(girls));
  59.     fp.close();
  60. }
  61.  
  62. void output(girls f[])
  63. {
  64.     girls miss;
  65.     long position;
  66.     int n;
  67.  
  68.     cout << "\t" "Всички участнички" << endl;
  69.  
  70.     fp.open("miss.dat", ios::binary | ios::in);
  71.     if (!fp)
  72.     {
  73.         cout << "Error";
  74.         exit(1);
  75.     }
  76.     fp.seekg(0l, ios::end);
  77.     position = fp.tellg();
  78.     fp.close();
  79.  
  80.     n = position / (sizeof(girls));
  81.  
  82.     fp.open("miss.dat", ios::binary | ios::in);
  83.     if (!fp)
  84.     {
  85.         cout << "Error";
  86.         exit(1);
  87.     }
  88.  
  89.     for (int i = 0; i < n; i++)
  90.     {
  91.         fp.read((char*)&miss, sizeof(girls));
  92.         f[i] = miss;
  93.     }
  94.  
  95.     for (int i = 0; i < n; i++)
  96.     {
  97.         cout << i + 1 << "." << "\n" << "Номер: " << f[i].nomer << "\n" << "Име: " << f[i].ime << "\n" <<
  98.             "Фамилия: " << f[i].familiq << "\n" <<
  99.             "Години: " << f[i].age << "\n" << "Височина: " << f[i].visochina << "\n" << "Тегло(В кг): " <<
  100.             f[i].teglo << "\n" << "Държава: " << f[i].durjava << "\n";
  101.        
  102.     }
  103.  
  104.     fp.close();
  105.  
  106.     cout << endl;
  107. }
  108.  
  109. void check(girls f[])
  110. {
  111.     girls miss;
  112.     long position;
  113.     char nomer[30];
  114.     char familiq[30];
  115.     char dur[30];
  116.     int N;// N=pos
  117.     bool flag = 0;
  118.     int S;// spravka
  119.  
  120.     do
  121.     {
  122.         cout << "\t" "Проверка" << endl;
  123.         cout << "Въведете номер: ";
  124.         cin >> nomer;
  125.         cout << "Въведете фамилия: ";
  126.         cin >> familiq;
  127.        
  128.  
  129.         fp.open("miss.dat", ios::binary | ios::in);
  130.         if (!fp)
  131.         {
  132.             cout << "Error";
  133.             exit(1);
  134.         }
  135.         fp.seekg(0l, ios::end);
  136.         position = fp.tellg();
  137.         fp.close();
  138.         N = position / (sizeof(girls));
  139.  
  140.         fp.open("miss.dat", ios::binary | ios::in);
  141.         if (!fp)
  142.         {
  143.             cout << "Error";
  144.             exit(1);
  145.         }
  146.  
  147.         for (int i = 0; i < N; i++)
  148.         {
  149.             fp.read((char*)&miss, sizeof(girls));
  150.             f[i] = miss;
  151.         }
  152.  
  153.         for (int i = 0; i < N; i++)
  154.         {
  155.             if (strcmp(nomer, f[i].nomer) == 0 && strcmp(familiq, f[i].familiq) == 0)
  156.             {
  157.                 flag = 1;
  158.                 cout << i + 1 << "." << "\n" << "Номер: " << f[i].nomer << "\n" << "Име: " << f[i].ime << "\n" <<
  159.                     "Фамилия: " << f[i].familiq << "\n" <<
  160.                     "Години: " << f[i].age << "\n" << "Височина: " << f[i].visochina << "\n" << "Тегло(В кг): " <<
  161.                     f[i].teglo << "\n" << "Държава: " << f[i].durjava << "\n";
  162.             }
  163.  
  164.         }
  165.  
  166.         if (flag == 0)
  167.         {
  168.             cout << "Няма участник с такива данни! " << endl;
  169.         }
  170.  
  171.         cout << "Ново търсене? 1-Да/2-Не " << endl;
  172.         cin >> S;
  173.  
  174.  
  175.         fp.close();
  176.         cout << endl;
  177.     } while (S != 2);
  178. }
  179.  
  180. void check20(girls f[])
  181. {
  182.     girls miss;
  183.     int n;
  184.     long position;
  185.     fp.open("miss.dat", ios::binary | ios::in);
  186.     if (!fp)
  187.     {
  188.         cout << "Error";
  189.         exit(1);
  190.     }
  191.     fp.seekg(0l, ios::end);
  192.     position = fp.tellg();
  193.     fp.close();
  194.     n = position / (sizeof(girls));
  195.  
  196.     fp.open("miss.dat", ios::binary | ios::in);
  197.     if (!fp)
  198.     {
  199.         cout << "Error";
  200.         exit(1);
  201.     }
  202.  
  203.     for (int i = 0; i < n; i++)
  204.     {
  205.         fp.read((char*)&miss, sizeof(girls));
  206.         f[i] = miss;
  207.     }
  208.     int above[50];
  209.    
  210.     for (int i = 0; i < n; i++)
  211.     {
  212.         if(f[i].age <20){
  213.             f[i].age = above[i];
  214.         }
  215.     }
  216.     for (int i = 1; i < n; i++) {
  217.         if (above[i] < 20)
  218.         {
  219.  
  220.             cout << i + 1 << "." << "\n" << "Номер: " << f[i].nomer << "\n" << "Име: " << f[i].ime << "\n" <<
  221.                 "Фамилия: " << f[i].familiq << "\n" <<
  222.                 "Години: " << f[i].age << "\n" << "Височина: " << f[i].visochina << "\n" << "Тегло(В кг): " <<
  223.                 f[i].teglo << "\n" << "Държава: " << f[i].durjava << "\n";
  224.        
  225.             }
  226.         }
  227.  
  228.     fp.close();
  229.     cout << endl;
  230. }
  231.  
  232. void menu(int &c)
  233. {
  234.     cout << "++++++++++++++++МИС СВЯТ++++++++++++++++++:" << endl;
  235.     cout << "\n";
  236.     cout << "1.Въвеждане на данни за участничка" << endl;
  237.     cout << "2.Списък на участничките" << endl;
  238.     cout << "3.Търсене на участничка" << endl;
  239.     cout << "4.Участнички над 20 години" << endl;
  240.     cout << "0.Изход" << endl;
  241.     cin >> c;
  242. }
  243. int main()
  244. {
  245.     setlocale(LC_ALL, "bulgarian");
  246.     girls f[50];
  247.     int choice = 0;
  248.     menu(choice);
  249.     while (choice)
  250.     {
  251.         switch (choice)
  252.         {
  253.         case 1:input(f);
  254.             break;
  255.         case 2:output(f);
  256.             break;
  257.         case 3:check(f);
  258.             break;
  259.         case 4:check20(f);
  260.             break;
  261.         default:
  262.             break;
  263.         }
  264.         menu(choice);
  265.     }
  266.     return 0;
  267. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement