Advertisement
Guest User

Untitled

a guest
May 30th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.93 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <clocale>
  4. #include <string.h>
  5. using namespace std;
  6.  
  7.  
  8.  
  9. typedef struct table_staff
  10. {
  11.     char name[80];
  12.     char section[80];
  13.     int cost;
  14.    
  15.  
  16. } staff;
  17.  
  18. void exercize(){
  19.     cout << "Создать структуру для товара (товар, цена, секция" << endl;
  20.     cout << "Ввести с клавиатуры данные о нескольких товарах. Найти все товары, находящиеся в заданной секции" << endl;
  21.     cout << "(создать дин.массив результата,название секции ввести с клавиатуры)" << endl;
  22.     cout << "В новом массиве подсчитать общую сумму всех товаров заданной секции " << endl;
  23. };
  24.  
  25. void search_section(staff *p, int len){
  26.     int i = 0, dm_cnt=0;
  27.     char srch[80];
  28.     staff *dm;
  29.     dm = (staff*) malloc(5 * sizeof(*dm));
  30.  
  31.     cout << "Введите секцию, по которой будем искать " << endl;
  32.     cin >> srch;
  33.     for(i; i<len; i++){
  34.         if (strcmp(srch,p[i].section) == 0){
  35.             dm[dm_cnt] = p[i];
  36.             dm_cnt++;
  37.         }
  38.     }
  39.     cout << "Количество товаров секции" << srch << " : " << dm_cnt << endl;
  40.     if (dm_cnt != 0)
  41.         for (i=0; i< dm_cnt; i++)
  42.         {
  43.             cout << "Секция \t\t\t Имя товара \t\t\t Цена \n" ;
  44.             cout << dm[i].section << "\t\t" << dm[i].name << "\t\t"  << dm[i].cost <<endl;
  45.         }
  46.     free(dm);
  47. }
  48.  
  49.  
  50. void add(staff *p)
  51. {
  52.     cout << endl << "Введите имя товара"<< endl;
  53.     cin >> (*p).name;
  54.     cout << endl << "Введите стоимость товара"<< endl;
  55.     cin >> (*p).cost;
  56.     cout << endl << "Введите секцию товара"<< endl;
  57.     cin >> (*p).section;
  58.  
  59. }
  60. int main()
  61. {
  62.     bool noexit = true;
  63.     int command, cnt=0;
  64.  
  65.  
  66.     staff database[80];
  67.     setlocale (LC_ALL,"Russian");
  68.  
  69. //    exercize();
  70.  
  71.     do {
  72.         cout << endl << "Для ввода информации введите '0'" << endl;
  73.         cout << "Для поиска товаров с заданием секции и их подсчета введите '1'" << endl;
  74.         cout << "Для выхода введите '9'" << endl;
  75.         cin >> command;
  76.  
  77.         switch (command) {
  78.             case 0:
  79.                 add(&database[cnt]);
  80.                 cnt++;
  81.                 break;
  82.             case 1:
  83.                 search_section(database, cnt);
  84.                 break;
  85.             case 9:
  86.                 cout << endl << "Выход" << endl;
  87.                 noexit = false;
  88.                 break;
  89.             default:
  90.                 cout<<"Вы ввели неверное значение!" << endl;
  91.                 break;
  92.         }
  93.  
  94.     } while (noexit);
  95.  
  96.     return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement