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

С++ Работа с файлами!!!! - C++

Восстановить пароль Регистрация
 
sopranis
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 15
08.04.2012, 00:54     С++ Работа с файлами!!!! #1
Приветствую!!! не могу разобраться с лабораторкой!!!!

Задание!!!!!!
Поля структуры: код товара, название, цена. Операция: определить среднюю цену для заданного товара (предполагается, что могут быть товары с одинаковым названием, но с разными кодами).

НЕ МОГУ ПОНЯТЬ как написать функцию которая будет определять среднюю цену для заданного товара (предполагается, что могут быть товары с одинаковым названием, но с разными кодами)


Вот Мой код не доделанный!!!

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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <time.h>
using namespace std;
 
int main ()
{   
    while(1)
    {
      setlocale (LC_CTYPE,"rus");
    
        
    cout <<   "    Меню" << endl << endl;
    cout <<"1. Показать" << endl;
    cout <<"2. Вправить" << endl;
    cout <<"3. Удалить"  << endl;
    cout <<"4. Выход"    << endl << endl;
 
    cout << "Выберите меню  > "<<endl;
    cout << " " << endl;
        
    char c;
    c=getch();
 
 
    switch(c)
    {
    case'1':
        {
                  ifstream f ( "clients.dat");
  
                  int account;
                  char name [10];
                  float balance;
                  while (f >> account >> name >> balance)
                  {
                      cout << "_________________\n";
                      cout <<"Код товара    " << account << endl;
                      cout <<"Название      " << name << endl;
                      cout <<"Цена          " << balance << endl;
                  }cin.get();
        
        }break;
    
    
 
    
    
               
    case'2':
    {
   ofstream f("clients.dat");
       {
       cout<<"Enter the account, the name, the balance\n";
       cout<<"Input EOF for the end." << endl;
 
            int account;
            char name [20];
            float balance;
            while (cin >> account >> name >> balance)
            {
                f<<account <<' '<<  name <<' '<< balance << endl;
                cout << "> "<<endl;
            }
          }
       }break;
 
 
    
 
    
        
        
    } 
    
    
  }return 0;
}
Помогите плиз!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2012, 00:54     С++ Работа с файлами!!!!
Посмотрите здесь:

Работа с файлами C++
C++ Работа с файлами
Работа с файлами в C++ C++
Работа с файлами C++
C++ Работа с файлами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
08.04.2012, 01:19     С++ Работа с файлами!!!! #2
А где у тебя собственно структура (struct)?
sopranis
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 15
08.04.2012, 01:48  [ТС]     С++ Работа с файлами!!!! #3
подскажите !! как функцию сделать плизз!!!
B.Krols
 Аватар для B.Krols
6 / 6 / 2
Регистрация: 10.02.2012
Сообщений: 21
08.04.2012, 02:59     С++ Работа с файлами!!!! #4
На коленке.
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
#include <iostream>
 
using namespace std;
 
const int number_of_items = 3;
 
struct inv  {
    char *name;
    int id;
    double cost;
} item[number_of_items];
 
void enter_fields(inv &item)
{
    char ch[80];
    cout << "Enter name:" << endl;
    cin.ignore();
    gets(ch);
    item.name = new char [strlen(&ch[0]) + 1];
    strcpy(item.name, ch);
    cout << "Enter id" << endl;
    cin >> item.id;
    cout << "Enter cost" << endl;
    cin >> item.cost;
}
 
void average_price(char *ch)
{
    int i, count = 0;
    double ave = 0;
    for (i=0; i<number_of_items; i++)   {
        if (!strcmp(ch, item[i].name))  {
            count++;
            ave += item[i].cost;
        }
    }
    if (!count) cout << "Item not found" << endl;
    else    {
    ave /= count; 
    cout << ave << endl;
    }
}
 
int main()
{
    char ch[80];
    int i;
    for (i=0; i<number_of_items; i++)   {
        enter_fields(item[i]);
    }
    
    cout << "Enter name of item for counting average price: " << endl;
    cin.ignore();
    gets(ch);
    average_price(&ch[0]);
 
    for (i=0; i<number_of_items; i++)   {
        delete[] item[i].name;
    }
 
    return 0;
}
Yandex
Объявления
08.04.2012, 02:59     С++ Работа с файлами!!!!
Ответ Создать тему
Опции темы

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