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

Суммирование в структуре - C++

Восстановить пароль Регистрация
 
Adzurro
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 4
04.06.2013, 14:10     Суммирование в структуре #1
Всех приветствую,начинаю изучать С++ и вот встала такая задачка,думаю второй день над ней,решил спросить у знатоков!
Надо найти все произведения автора и общее кол-во напечатанных экземпляров.Со второй частью проблема.
Данные в файле записываются вот так:

Ivanov Fizika 1995 Eksmo 2
Sidorov Matematika 2011 Rosnano 25


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
 
struct book
{ 
       char avtor[15];
       char name[20];
       int god;
       char izdat[10];
       int kol;
       };
       struct book x;
Далее идет функция поиска названия книги по автору с выводом на экран (Автор,название книги,кол-во книг)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int proizv_kol()
{
    
    char av[15];
    FILE *f;
    f=fopen("book.txt","r");
    cout<<"\n Vvedite avtora - "; cin>>av;
    while (!feof(f))
    {
     fscanf(f,"%15s %20s %4d %10s %6d\n",x.avtor, x.name, &x.god, x.izdat, &x.kol); 
     if (strcmp(av,x.avtor)==0)
      printf("%15s %20s %6d\n",x.avtor, x.name,x.kol);
    }
Подскажите,каким способом можно просуммировать кол-во экземпляров?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 14:10     Суммирование в структуре
Посмотрите здесь:

C++ структура в структуре
C++ Ошибка в структуре?
Сортировка в структуре C++
Ошибка в структуре C++
Функции в структуре C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
04.06.2013, 15:23     Суммирование в структуре #2
тут нужен массив из объектов структуры

Добавлено через 12 минут
считаешь кол-во строк в файле. выделаешь память под объекты посредством оператора new(колво объектов = кол-во строк). и потом в проверяешь каждого автора при совпадении имен суммируешь!
Kojt
73 / 69 / 2
Регистрация: 19.05.2010
Сообщений: 167
04.06.2013, 15:39     Суммирование в структуре #3
А просто создать переменную и внутри самого последнего условия суммировать нельзя?
Adzurro
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 4
04.06.2013, 15:42  [ТС]     Суммирование в структуре #4
У меня такая идея была,но как бы так записать сие действие?
Kojt
73 / 69 / 2
Регистрация: 19.05.2010
Сообщений: 167
04.06.2013, 16:28     Суммирование в структуре #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int proizv_kol()
{
    
    char av[15];
    FILE *f;
    f=fopen("book.txt","r");
    int count = 0;
    cout<<"\n Vvedite avtora - "; cin>>av;
    while (!feof(f))
    {
     fscanf(f,"%15s %20s %4d %10s %6d\n",x.avtor, x.name, &x.god, x.izdat, &x.kol); 
     if (strcmp(av,x.avtor)==0)
     {
      printf("%15s %20s %6d\n",x.avtor, x.name,x.kol);
      count += x.kol;
     }
    }
    printf("count = %d\n", count);
Adzurro
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 4
04.06.2013, 16:37  [ТС]     Суммирование в структуре #6
Огромное спасибо!Все получилось!
Yandex
Объявления
04.06.2013, 16:37     Суммирование в структуре
Ответ Создать тему
Опции темы

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