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

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

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

Создать файл записей, имеющих следующие поля - C++

18.06.2014, 22:57. Просмотров 334. Ответов 5
Метки нет (Все метки)

Создать файл записей, имеющих следующие поля: номер счета, сумма взноса. Номер счета может указываться в файле несколько раз. Создать новый файл, в котором данные
о каждом счету будут записаны один раз, а сумма взноса будет равна общей сумме всех взносов, сделанных на этот счет.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2014, 22:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать файл записей, имеющих следующие поля (C++):

Создать структуру с именем Train, содержащую следующие поля: - C++
Название пункта назначения; Номер поезда; Время отправления. Написать программу, выполняющую следующие действия: 1) Производить...

Создать структуру с именем STUDENT, содержащую следующие поля: - C++
Описать Структуру с именем STUDENT с полями 1. NAME-фамилия и инициалы; 2.GROUP-номер группы; 3.SES-успеваемость(массив из 5...

Создать класс Book. Переменная типа Book должна содержать следующие поля: - C++
Помогите решить=(. Создать класс Book. Переменная типа Book должна содержать следующие поля: название, количество авторов; авторы; год...

Создать файл записей - C++
Наработки оставил в учебном заведении поэтому не могу скинуть наработки. Помогите с задачей пожалуйста! Условие:"Создать файл записей...

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

Составить структуру, которая имеет следующие поля - C++
структура имеет следующие поля: фамилия, возраст, образование, должность. Вывести данные о сотрудниках, старше 30-ти лет, не имеющих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 89
19.06.2014, 00:44 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
1. Заносим записи из файла file_in.txt в вектор(массив)
2. Проходимся по массиву, берем элемент, и ищем другие элементы с эквивалентным номером счета, если находим то складываем их сумму взноса, и потом присваиваем найденому элементу номер счета равный -1, что бы он не мешал нам дальше.
3. Выводим всё в файл file_out.txt, кроме счетов с номером -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
#include <iostream>
#include <fstream>
#include <vector>
 
using namespace std;
 
struct Bill
{
    int number;
    int cash;
};
 
int main(void)
{
    ifstream file_in("file_in.txt");
    ofstream file_out("file_out.txt");
 
    vector<Bill> bills;
 
    while (!file_in.eof())
    {
        int buff_number = 0;
        int buff_cash = 0;
        file_in >> buff_number;
        file_in >> buff_cash;
 
        bills.push_back({ buff_number, buff_cash });
    }
 
    for (int i = 0; i < bills.size(); i++)
    {
        for (int j = i + 1; j < bills.size(); j++)
        {
            if (bills[i].number == bills[j].number)
            {
                bills[i].cash += bills[j].cash;
                bills[j].number = 0;
            }
        }
    }
 
    for (auto v : bills)
    {
        if (v.number != 0)
        {
            file_out << v.number << " " << v.cash << endl;
        }
    }
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Даш более подробное условие для второй задачи, и её тебе решу. Приведи пример, или объясни что за "блок", он состоит из последовательных дисциплин, или можно взять в произвольном порядке?
2
myjokes
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
19.06.2014, 13:06  [ТС] #3
Спасибо) Выручил)

Добавлено через 11 часов 25 минут
это и есть всё условие задачи. Я сегодня уточню и напишу

Добавлено через 43 минуты
NanoBreaker, я тебе через часа 2 уточню про задачу с блоками! Спасибо)) Хоть кто-то помог)))
0
NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 89
19.06.2014, 16:58 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Переписал, без использование новых фитч C++11. Теперь должно работать как надо.

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
#include <iostream>
#include <fstream>
#include <vector>
 
using namespace std;
 
struct Bill
{
    int number;
    int cash;
};
 
int main(void)
{
    ifstream file_in("file_in.txt");
    ofstream file_out("file_out.txt");
 
    vector<Bill> bills;
 
    while (!file_in.eof())
    {
        int buff_number = 0;
        int buff_cash = 0;
        file_in >> buff_number;
        file_in >> buff_cash;
 
        Bill buff_bill;
        buff_bill.number = buff_number;
        buff_bill.cash = buff_cash;
 
        bills.push_back(buff_bill);
    }
 
    for (int i = 0; i < bills.size(); i++)
    {
 
        for (int j = i + 1; j < bills.size(); j++)
        {
            if (bills[i].number == bills[j].number)
            {
                bills[i].cash += bills[j].cash;
                bills[j].number = -1;
            }
        }
    }
 
    for (int i = 0; i < bills.size(); i++)
    {
        if (bills[i].number != -1)
        {
            file_out << bills[i].number << " " << bills[i].cash << endl;
        }
    }
 
    system("PAUSE");
    return 0;
}
1
myjokes
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 20
19.06.2014, 17:22  [ТС] #5
теперь высвечивает окно ввода, но на нём ничего не пишеться и не могу ничего вписать
0
NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 89
19.06.2014, 17:51 #6
Так ничего писать и не надо ) У тебя же все данные вводятся через входной файлик, там просто надо нажать любую клавишу для завершения работы программы.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2014, 17:51
Привет! Вот еще темы с ответами:

Описать структуру с именем ., содержащую следующие поля - C++
Описать структуру с именем marsh, содержащую следующие поля: -номер маршрута; -нач точка; -конечная точка; 1.Программа вводит с...

Описать класс с именем ZNAK, содержащий следующие поля: - C++
1. Описать класс с именем ZNAK, содержащий следующие поля: • фамилия, имя; • знак Зодиака; • день рождения (массив из трех чисел). ...

Описать структуру с именем AEROFLOT, содержащую следующие поля - C++
Помогите написать программу. Описать запись необходимой структуры. Описать массив этих записей. Реализовать возможность добавления,...

Описать структуру с именем Price, содержащую следующие поля - C++
Если у вас есть время, то можно еще построчно :-#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iterator&gt; #include &lt;cstddef&gt; ...


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

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

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