Форум программистов, компьютерный форум CyberForum.ru

Учет товара на складе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Boost::asio как обнаружить дисконнект на удалённой машине? http://www.cyberforum.ru/cpp-beginners/thread1136843.html
В данный момент обрабатываю дисконнекты, глядя на возвращаемые коды ошибок после вызовов read(socket,...) и write(socket, ...) Проблема в том, что если удалённый комп оборвёт связь, то комп, ждущий от него посылки в синхронном read, так и будет продолжать ждать! Обрыв обнаруживается только на стороне, разорвавшей связь. Что же делать? И главное, как вывести функцию read из ожидания хотя бы и...
C++ Дана строка. Подсчитать количество букв, содержащихся в строке Дана строка. Подсчитать количество букв, содержащихся в строке. http://www.cyberforum.ru/cpp-beginners/thread1136827.html
C++ Вычислить произведение нечетных отрицательных элементов расположенных под главной диагональю матрицы
2 задача Вычислить произведение нечетных отрицательных элементов расположенных под главной диагональю матрицы B(N,N). ПЛЗ ПОМОГИТЕ!!!
C++ Написать класс Автомобиль
1. Создать запись для хранения следующей информации: – код владельца, – номер автомобиля, – марка автомобиля, – дата выпуска, – дата регистрации. 2. Предусмотреть возможность добавления, изменения и удаление записи и отображения данных на экран. Для хранения данных использовать стек. 3. Получить список номеров и марок автомобилей, зарегистрированных в ноябре и декабре прошлого года. 4....
C++ Какой то бред с передачей указателя в функцию :-) http://www.cyberforum.ru/cpp-beginners/thread1136784.html
Привет! Толи бред какой - то :D Толи у меня пробел в азах :rofl: Вот например: void MegaFunction( BYTE *data ); int _tmain(int argc, _TCHAR* argv) { BYTE *test = NULL; MegaFunction(test);
C++ Найти сумму элемнтов диагонали Нужно найти сумму элементов главной диагонали динамического массива,собственно сумму я найти могу: for(i = 0; i < n; ++i) s += matr;(ну примерно так) а вот проблема состоит в вводе размера массива и ввод самих элементов.напишите полный вариант пожалуйста. подробнее

Показать сообщение отдельно
Fanarik1960
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 21
03.04.2014, 11:07     Учет товара на складе
Программа называется Учет товаров на складе. Помогите мне сделать в данной программе поиск и сортировку. Исходник ниже:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <fstream>
using namespace std;
 
const int l_name = 30;
const int l_data = 30;
 
 struct Man
  { char name[l_name];
    int kol_vo;
    float stoimost;
    char data[l_data];
  };
 
 
int compare(const void *manl, const void *man2);
 
void create(void) 
 
{ SetConsoleCP(1251);
    SetConsoleOutputCP(1251); 
Man man; int pr; FILE *fbin;
  if ((fbin =fopen("dbase.bin","wb")) == NULL)
   puts("Ошибка создания файлы\n ");
  else
    { do
       {
        cout << "\n-------------Добавление данных-----------------";
        cout << "\n Наименование товара: ";
         cin.get() ; gets (man.name) ;
         cout << "\n Кол-во: ";
         cin >> man.kol_vo;
         cout << "\n Стоимость: ";
         cin >> man.stoimost;
         cout << "Дата:";
         cin>> man.data;
         fwrite(&man, sizeof(man),1,fbin);
         cout<< "\n Продолжить ввод (1-да/0-нет)";
         cin >> pr;
         cout << "\n----------------------------------";
         } while(pr == 1);
   }  
  fclose(fbin);
}
 void create2(void) 
 
{ Man man; int pr; FILE *fbin;
  if ((fbin =fopen("dbase.bin","ab")) == NULL)
   puts("Ошибка создания файлы\n ");
  else
    { do
       {
        cout << "\n-------------СОЗДАНИЕ ФАЙЛА-----------------";
        cout << "\n Наименование товара: ";
         cin.get() ; gets (man.name) ;
         cout << "\n Кол-во: ";
         cin >> man.kol_vo;
         cout << "\n Стоимость: ";
         cin >> man.stoimost;
         cout << "Дата:";
         cin>> man.data;
         fwrite(&man, sizeof(man),1,fbin);
         cout<< "\n Продолжить ввод (1-да/0-нет)";
         cin >> pr;
         cout << "\n----------------------------------";
         } while(pr == 1);
   }  
  fclose(fbin);
}
 
void view(void) 
  { SetConsoleCP(1251);
    SetConsoleOutputCP(1251); 
  FILE *fbin;
    if ((fbin =fopen("dbase.bin","rb")) == NULL)
      puts("Ошибка открытия файла\n");
    else
     {cout << "\n-------------ФАЙЛ ОТКРЫТ-----------------"; 
     fseek(fbin, 0, SEEK_END);
       int n_record = ftell(fbin)/sizeof(Man);
       Man *man = new Man[n_record];
       fseek(fbin, 0, SEEK_SET);
       fread(man, sizeof(Man),n_record, fbin);
       fclose(fbin);
      
       for (int i=0; i < n_record; i++)
 
        cout << "\n* Товар: " << man[i].name << "\n* Количество:  " <<
         man[i].kol_vo << "\n* Стоимость: " << man[i].stoimost <<"\n* Дата: " << man[i].data;
        cout << "\n";
        cout << "\n**************************************************";
     }
  }
 
 
 void work(void)
  { FILE *fbin;
    if ((fbin =fopen("dbase.bin","rb")) == NULL)
      puts("Ошибка открытия файла\n");
    else
     { fseek(fbin, 0, SEEK_END);
       int n_record = ftell(fbin)/sizeof(Man);
       Man *man = new Man[n_record];
       fseek(fbin, 0, SEEK_SET);
       fread(man, sizeof(Man),n_record, fbin);
       fclose(fbin);
       
       for (int i=0; i < n_record ; i++){
        if (man[i].stoimost > 1000)cout << "\n" << man[i].name << "  " <<
         man[i].kol_vo << "  " << man[i].stoimost <<" " << man[i].data;
        cout << "\n";
     }}
 }
 
 
int main(void)
 { int num;
 setlocale(LC_ALL,"Russian");
   do
    { cout << "\n-------------МЕНЮ-----------------"; 
      cout << "\n--- 1 - Добавление данных      ---";
      cout << "\n--- 2 - Просмотр файла         ---";
      cout << "\n--- 3 - Обработка файл         ---";
      cout << "\n--- 4 - Создать новый файл     ---";
      cout << "\n--- 5 - Поиск                  ---";
      cout << "\n--- Ваш выбор:";cin>>num; 
      cout << "\n----------------------------------";
      
      switch(num)
       { case 1: create2();break;
         case 2: view();break;
         case 3: work();break;
         case 4: create();break;
        
       }
    } while (num != 4);
}
 
int compare(const void *manl, const void *man2)
{ return strcmp(((Man *)manl)->name,
((Man *)man2)->name);
 }
 
 
//---------------------------------------------------------------------------
Помогите пожалуйста...

Добавлено через 21 час 53 минуты
Помогите пожалуйста с поиском и сортировкой по товарам. Или подскажите как сделать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru