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

Задача на использование структур. - C++

Восстановить пароль Регистрация
 
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
03.12.2011, 09:58     Задача на использование структур. #1
Привет всем форумчанам!)
Вот такую непростую задачу мне задали, должен за выходные уложиться. Но мне кажется это утопия.
Различные цеха завода выпускают продукцию нескольких наименований. Сведения о выпущенной продукции включают: наименование, количество, номер цеха. Для описания сведений о выпущенной продукции в программе необходимо использовать тип данных структура. Для хранения сведений о выпущенной продукции создать бинарный файл, ориентированный на тип данных структура. Предусмотреть в программе просмотр бинарного файла и выполнить его обработку: для заданного цеха вывести информацию о выпущенной продукции в порядке убывания количества.
Объясните мне пожалуйста (т.е. "переведите" на более простой язык для моего понимания).
Как я понял мне нужно создать файлик на локальном диске, указать к нему путь, если путь к файлу указан верно, то открыть его и записать требуемые сведения. А вот что делать дальше? Ума не приложу. Помогите хоть чем-нибудь. Не обязательно писать за меня программу, хочу постараться ее сам осилить)))

Добавлено через 6 часов 41 минуту
Помогите!

Добавлено через 19 минут
C++
1
2
3
4
5
6
7
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main()
{
        ofstream ofs("D:\\test.txt"); //создаём файл
.............................................................
.............................................................
.............................................................
помогите хоть с парой строк.

Добавлено через 1 минуту
........................................................
C++
1
2
3
 ofs.close(); //закрываем 
 ifstream ifs("D:\\test.txt");  //открываем
 if(!ifs.is_open())
Добавлено через 1 минуту
Дальше нужно выполнить сортировку, но как лучше бы это сделать?

Добавлено через 10 часов 58 минут
Вот что у меня получилось:
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
#include <iomanip>
#include <iostream>      
#include <conio.h>      
#include <math.h>      
using namespace std;      
 
int main()      
{      
          struct RECORD{      
          char *header;  // Название детали , но уже через char *     
          int quantity;  // Количество деталей      
          int shop;   // Номер цеха      
         };      
 
         cout << "Введите количество записей о выпущенных деталях: ";      
         int N;      
         cin >> N;      
 
         RECORD* details;      
         details = new RECORD[N];      
 
         for(int i = 0; i < N; ++i)      
         {      
 
          cout << "Введите номер цеха: "; cin >> details[i].shop;      
          cout << "Введите название детали: ";
       details[i].header= (char *)malloc(128); //выделяем память под название
       cin >> details[i].header; //получаем название       
          cout << "Введите кол-во деталей выпущенных данным цехом: ";
       cin >> details[i].quantity;      
         }      
 
         for(int i = 0; i < N; ++i)      
         {      
           cout << details[i].header << '\t' << details[i].shop << '\t' << details[i].quantity << endl;      
         }      
 
         cout << "Введите номер цеха, для которого высчитывается общее колличество выпущенных изделий: ";      
         int shop;      
         cin >> shop;
 
      int count = 0;      
         for(int i = 0; i < N; ++i)      
         {      
 
          if(details[i].shop == shop)      
           count += details[i].quantity;      
         }      
 
      cout << "Цех номер: " << shop << " выпустил: " << count << " деталей: " << endl;     
     _getch();
        return 0;      
}
Добавлено через 1 минуту
Теперь хочу, чтобы русский текст нормально отображался, а не иероглифами. Помогите пожалуйста хоть с этим, а то за все время мне даже никто ничего не посоветовал...

Добавлено через 1 минуту
P.S.Компилятор у меня DEV c++.
пытался использовать
C++
1
locale::global(locale("rus"));
ничего не выходит.

Добавлено через 14 минут
Хух...нашел) Для все у кого Dev c++ и русские символы (буквы, слова) отображаются неверно. Скачайте дополнение с сайта
http://kpolyakov.narod.ru/school/c/faq.htm#rus
и радуйтесь)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2011, 09:58     Задача на использование структур.
Посмотрите здесь:

с++ Использование структур C++
Использование функций и структур C++
Использование строк.Использование структур C++
C++ Использование структур struct
Использование структур C++
C++ Использование структур
использование структур C++
C++ Использование структур

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
08.12.2011, 17:06  [ТС]     Задача на использование структур. #2
Форумчане, опять проблема((( выручайте!
Подредактируйте программу, чтобы она работала как положено. Т.е.
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
#include <iostream> 
#include <iomanip>     
#include <math.h>      
using namespace std;      
int main()      
         {      
          struct RECORD{      
          char *imya_det;  // Название детали , но уже через char * т.к. вводятся буквы, а не цифры.
          int kol_det;  // Количество деталей      
          int n_ceha;   // Номер цеха      
         };      
 
         cout << "Введите количество записей о выпущенных деталях: ";      
         int N;      
         cin >> N;      
 
         RECORD* details;      
         details = new RECORD[N];      
 
         for(int i = 0; i < N; ++i)      
         {      
       cout << "Введите номер цеха: "; cin >> details[i].n_ceha;      
       cout << "Введите название детали: ";
       details[i].imya_det = (char *)malloc(128); //выделяем память под название
       cin >> details[i].imya_det; //получаем название       
       cout << "Введите кол-во деталей выпущенных данным цехом: ";
       cin >> details[i].kol_det;      
         }      
       for(int i = 0; i < N; ++i)      
         {      
           cout << details[i].imya_det << '\t' << details[i].n_ceha << '\t' << details[i].kol_det << endl;      
         }      
       cout << "Введите номер цеха, для которого высчитывается общее колличество выпущенных изделий: ";      
         int n_ceha;      
         cin >> n_ceha;
 
      int count = 0;      
         for(int i = 0; i < N; ++i)      
         {      
           if(details[i].n_ceha == n_ceha)      
           count += details[i].kol_det;      
         }      
      cout << "Цех номер: " << n_ceha << "Выпустил: " << count << "Деталей: " << endl;     
      system("pause");
        return 0;      
}
Цитата Сообщение от Вася1q Посмотреть сообщение
для заданного цеха вывести информацию о выпущенной продукции в порядке убывания количества.
Добавлено через 55 секунд
Я вывожу на экран номер цеха, а вот "Выпустил" и "Деталей" не могу(((

Добавлено через 21 час 22 минуты
Пожалуйста помогите. Работу уже скоро нужно сдать, а я не могу исправить эту недоработку.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
14.12.2011, 07:44  [ТС]     Задача на использование структур. #3
Уже столько времени прошло, и никто не помог. Я понимаю когда просто накидают кучу задач и решай им...Но я же стараюсь и даже часть сделал сам. Почему никто не откликнулся? Хотя бы советом помогли, или ссылкой на похожую программку.

Добавлено через 10 часов 40 минут
Если бесплатно не можете, то хоть за деньги кто-нибудь согласиться помочь подредактировать? Отправлю 50р. на веб мани.
Yandex
Объявления
14.12.2011, 07:44     Задача на использование структур.
Ответ Создать тему
Опции темы

Текущее время: 21:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru