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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Adzurro
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 4
#1

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

04.06.2013, 14:10. Просмотров 349. Ответов 5
Метки нет (Все метки)

Всех приветствую,начинаю изучать С++ и вот встала такая задачка,думаю второй день над ней,решил спросить у знатоков!
Надо найти все произведения автора и общее кол-во напечатанных экземпляров.Со второй частью проблема.
Данные в файле записываются вот так:

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++
Помогите решить структуру #include &lt;stdio.h&gt; #include &lt;cstdlib&gt; #include &lt;string.h&gt; using namespace std; struct atc { ...

Сортировка в структуре - C++
Надо отсоритровать структуру по параметру &quot;Телефон&quot; Листал форум, вроде все написано правильно, сортировку делаю &quot;пузырьком&quot;, но выводит...

Сортировка в структуре - C++
Нужно создать структуру, вбить туда инфу: имя, факультет, группа, пропусков. вывести список у кого больше пропусков (отсортировать пожалуй,...

Классы в структуре - C++
Добрый вечер. Вопрос первый: какой из контейнеров STL наиболее целесообразней использовать, если предполагаются частые операции поиска в...

Ошибка в структуре - C++
#include &lt;iostream&gt; using namespace std; struct Fraction { int num; // числитель int denum; //знаминатель ...

Инициализация в структуре - C++
const int len=30; const int size=5; struct stud { char name= &quot;Olga Mironova&quot;, &quot;Mihail Mihailov&quot;, &quot;Vladimir...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
Огромное спасибо!Все получилось!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2013, 16:37
Привет! Вот еще темы с ответами:

Указатель в структуре - C++
Как можно работать дальше с Abool как с массивом, обращаясь к нему как к члену структуры, т. е. D.Abool? Когда программа доходит до этого...

String в структуре - C++
Добрый вечер! Подскажите пожалуйста, почему компилятор видит ошибку в строке &quot;cin &gt;&gt; tablica.marka;&quot; следующего кода: #include...

Сортировка в структуре - C++
Нужно считать в структуру информацию из файла, и отсортировать по зарплате. В файле записана информацию: Имя, год рождения, и зарплата. Со...

Ошибка в структуре - C++
не пойму в чем ошибка,пожалуйста, помогите исправить. // 897.cpp: определяет точку входа для консольного приложения. // ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.06.2013, 16:37
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru