0 / 0 / 1
Регистрация: 08.04.2012
Сообщений: 15
1

Счётчик введенных в файл структур

10.04.2012, 02:18. Показов 1136. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
собственна проблема такая!!!!программму я написал кое-как с помошью гугла! мне осталось доделать код так чтобы в консоле появился счётчик,т.е чтоб в окне отображалось сколько раз я вводил данные структур в файл! Например: число товаров занесённых в базу= 3!!! помогите плиз!!!

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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string.h>
#include <windows.h>
using namespace std;
 
struct tovar
         {  char name[20];                   // код товара
             int code;                       // название товара   
            float price;};                   //  цена товара
            int count_item = 0 ;  // счётчик товаров
         
 
 
void add_info()
 
{    
     
        
          
        tovar buf;
        ofstream f("tovar.dat",ios::app);
        char s[100];
        cout << "Введите информацию:"<<endl;
        cout << "\tНазвание товара : ";
        cin.getline(s, sizeof(s));
        cin.getline(s, sizeof(s));
        strcpy(buf.name, s);
        cout << "\tКод товара: ";
        cin >> buf.code;
        cout<<"\tЦена товара: ";
        cin>>buf.price;
        f.write((char *)&buf, sizeof(tovar));
        count_item ++;
        f.close();
        
        
        
}
          
void show_totalprice()
    {
        tovar buf;
        char name[20];
        float totalprice = 0, count = 0;
        ifstream f("tovar.dat");
        cout << "Введите название товара: ";
        cin.getline(name, sizeof(name));
        cin.getline(name, sizeof(name));
        system("cls");
        while(!f.eof())
        {
            memset(&buf, 0, sizeof(tovar));
            f.read((char *)&buf, sizeof(tovar));
            if(*buf.name == *name)
            {
                count++;
                totalprice += buf.price;
            }
        }
        cout << "Средняя цена товара " << buf.name << ": " << totalprice / count << endl;
        f.close();
        getch();
    }
 
void show_data()
{
        tovar buf;
        SYSTEMTIME systime;
        GetLocalTime(&systime);
        ifstream f("tovar.dat");
        if(!f)
            cout<< "Ошибка при открытии файла, обратитесь к пункту 3 ";
        else
        {
        while(!f.eof())
        {
            memset(&buf, 0, sizeof(tovar));
            f.read((char *)&buf, sizeof(tovar));
            
           cout << "Название товара: " << buf.name << endl
                <<  "Код товара: " << buf.code << endl
                <<  "Цена товара: " << buf.price << endl<<endl;
                
            
        }
        }
        f.close();
        getch();
    }
 
 
 
void main(void)
{
   setlocale(LC_ALL, "Russian");
   #define kol 4
       int choice;
       char menu[kol][100]={
           "1. список товара", 
           "2.показать среднюю цену товара",
           "3.Добавить товар", 
           "4. Выход из программы"};
 
       do
       {
           system("cls");
           for(int i =0 ; i < kol; i++)
               cout << menu[i] << endl;
               cout << "Ваш выбор";
                cin >> choice;
                system("cls");
                switch (choice)
                {
                  case 1:
                    show_data();
                    break;
                case 2:
                    show_totalprice();
                    break;
                case 3:
                    add_info ();
 
                break;
                default: ;}
 
}   while(choice!= 4);
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2012, 02:18
Ответы с готовыми решениями:

Счетчик символов, введенных в Memo
Здравствуйте у меня такой вопрос как можно реализовать счётчик символов у меня на форме Memo и...

Как сделать счетчик введенных символов?
Нужно, чтобы при вводе текста, велся обратный отсчет символов. К примеру:&quot;Осталось 20 символов&quot;.

Можно ли присвоить одному массиву структур значение другого массива структур и записать его в файл
Можно ли присвоить одному массиву структур значение другого массива структур и записать его в файл?

Используя массив структур - на основе введённых данных создать таблицу
Знаю что делаю, что-то не так. Но не могу разобраться. Нужно используя массив of Structures - на...

1
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.04.2012, 03:12 2
В чем проблема то? Заводите целочисленную беззнаковую переменную, допустим с именем count, и инициализируете ее 0. Далее в блоке оператора case 3 оператора switch добавляете строчку
C++
1
2
3
4
case 3:
   add_info();
   count++;
   break;
Далее выводите значение этой переменной где хотите.
0
10.04.2012, 03:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2012, 03:12
Помогаю со студенческими работами здесь

Файл: Записать список структур в файл
мне надо Массив записать в ФАЙЛ!!!!!! по заданию есть прога, её надо подредактировать, но это не...

Счётчик кликов с записью в файл/бд
Всем привет. Есть код счётчика кликов через Ajax, но при клике выдаёт ошибку вида: Warning:...

Запись введенных данных в файл
Нужно чтобы в файл дозаписывались данные согласно введенных пользователем значений в консоли. У...

Cохранение введенных данных в файл
Привет всем. Помогите написаит программу на паскале , которая будет сохранять в текстовом документе...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru