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

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

Войти
Регистрация
Восстановить пароль
 
Masai
6 / 6 / 1
Регистрация: 13.07.2014
Сообщений: 233
#1

Как записать вывод в файл многократно - C++

15.07.2014, 14:07. Просмотров 240. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i = 0; i < 60; i ++){
    Tovar *a = Vvod (number, Names);
    cout << "\n";
    for (int i = 0; i < number; i ++){
        if (a[i].Price > 1000){
            Dollars = Dollars + a[i].Price;
        }
    }
    delete []a;
    cout << "Результат задания:\nСумма товаров, которые стоят выше 1000р. = " << Dollars << "\n\n\n\n\n";
    ofstream write_file ("D:\output.txt");
    write_file << Dollars << " ";
    }
(Виноват - не умею на форуме код размещать в спец.форму)

Я хочу провести некоторую статистику, чтоб определённое количество раз вывод программы записывался в файл, я это сделал, но проблема в том, что он перезаписывается каждый раз, в итоге в файле содержится не 60 выводов программы, а один - последний (т.е каждую итерацию он перезаписывается), как сделать чтоб он выводил именно как нужно?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2014, 14:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как записать вывод в файл многократно (C++):

Как записывать в текстовый файл, многократно - C++
Допустим дана программа int main (){ int i; int ch=&quot;123456&quot;; for (i=0;i&lt;6;i++){ if (ch%2==0) // запись в какой-то...

Низкоуровневый ввод-вывод. Как с помощью функции write записать в файл тип int? - C++
Работаю в Ubuntu.По заданию требуется использовать функции низкоуровневого ввода-вывода.Как с помощью функции write(fd,buf,bufsize)...

Используя ввод-вывод в стиле С создать файл и записать в него структурированные данные - C++
Помогите очень нужна ваша помощь. Cтруктура &quot;Стадион&quot;: - название; - год постройки; - количество площадок; - виды спорта. ...

Считать данные из текстового файла по условию и записать их в другой текстовый файл (файловый ввод/вывод) - C++
Здравствуйте! Очень прошу о помощи! Суть задания - дан текстовый файл, нужно считать его и записать в другой файл слова состоящие только из...

Строки, имеющиеся в двух заданных текстовых файлах, записать в третий файл (файловый ввод/вывод) - C++
Даны два текстовых файла. Записать в третий файл только те строки, которые есть и в первом, и во втором файлах.

Для каждой строки файла удалить среднее слово; результат записать в файл (файловый ввод/вывод) - C++
для каждой строки файла удалить среднее слово. результат записать в файл

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
15.07.2014, 14:13 #2
Masai, файловый ввод/вывод
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
15.07.2014, 14:29 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
строка 11
Цитата Сообщение от Masai Посмотреть сообщение
ofstream write_file ("D:\output.txt");
Эту строку надо вынести вперед - перед циклом.
А после цикла надо
C++
1
 write_file.close();
1
Masai
6 / 6 / 1
Регистрация: 13.07.2014
Сообщений: 233
15.07.2014, 14:41  [ТС] #4
zss - спасибо! Не подскажите как оформлять код как Вы вот отредактировали?

И проблема - я сделал как Вы сказали, но ошибка на строке - write_file.close(0);
Ошибка: error: 'write_file' was not declared in this scope|

Всё сделал правильно,
Мейн{
...
ofstream write_file

Цикл

write_file.close(0);
...
}

Добавлено через 5 минут
Виноват! Перепутал и ofstream всё же был внутри цикла!

Теперь ошибка другая с тем же самым close.

error: no matching function for call to 'std::basic_ofstream<char>::close(int)'|
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
15.07.2014, 14:43 #5
Ноль внутри вызова close() не надо, это опечатка
1
Masai
6 / 6 / 1
Регистрация: 13.07.2014
Сообщений: 233
15.07.2014, 14:45  [ТС] #6
Да, ровно за минуту до Вашего ответа методом тыка получилось определить этот момент. =)

Ещё раз спасибо, был бы признателен Вам если бы в личку (например) просветили по поводу как оформлять вставки кода на этом форум корректно.
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
15.07.2014, 18:56 #7
Цитата Сообщение от Masai Посмотреть сообщение
как оформлять вставки кода
Над кодом есть кнопочки. В том числе "С++".

Как работать в редакторе сообщений:
http://www.cyberforum.ru/about-forum/thread103521.html
0
Masai
6 / 6 / 1
Регистрация: 13.07.2014
Сообщений: 233
15.07.2014, 20:20  [ТС] #8
Спасибо! Пробую:
П.С - отлично!
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>
#include <cstdlib>
#include <time.h>
#include <fstream>
#include <stdio.h>.
 
 
using namespace std;
//          Задача 7.21
// Известны данные о стоимости каждого товара из группы. Найти общую
// Стоимость тех товаров, которые стоят дороже 1000р.
 
struct Tovar{
 
    public : int Price;
 
};
 
Tovar* Vvod (int number, string Name[]){
 
    Tovar *spisok = new Tovar [number];
 
    for (int i = 0; i < number; i++){
        cout << "Введите цену " << i + 1 << " товара: ";
        spisok[i].Price = rand() % 1000 + 300;
        if (i < 10){
            cout << Name[i] << " - " << spisok[i].Price << endl;
            }
        else{
            cout << " - " << spisok[i].Price << endl;}
        }
    return spisok;
    }
int main()
{
    srand( time( NULL ) );
    int number = 100;
    int Dollars = 0;
    string Names [] = {"Хлеб", "Водка" , "Помидоры" , "Квас" , "Макароны" , "Устрицы" , "Вода" , "Витамины" , "Колбаса" , "Мясо"};
    system("chcp 1251 >> nul");
    cout << "Введите сколько товаров в наборе: ";
    ofstream write_file ("D:\output.txt");
    for (int i = 0; i < 60; i ++){
    Dollars = 0;
    Tovar *a = Vvod (number, Names);
    cout << "\n";
    for (int i = 0; i < number; i ++){
        if (a[i].Price > 1000){
            Dollars = Dollars + a[i].Price;
        }
    }
    delete []a;
    cout << "Результат задания:\nСумма товаров, которые стоят выше 1000р. = " << Dollars << "\n\n\n\n\n";
 
    if (i == 5 || i == 10 || i == 15 || i == 20 || i == 25 || i == 30 || i == 35 || i == 40 || i == 45 || i == 50 || i == 55 || i == 60){
       write_file << Dollars << "     " << "    \n";
    }
    else { write_file << Dollars << "    " << "    ";}
    cout << "\n\n\n";
    }
    write_file.close();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2014, 20:20
Привет! Вот еще темы с ответами:

Записать в бинарный файл массив объектов Student (бинарный файловый ввод/вывод) - C++
Здравствуйте. Стоит задача записать в бинарный файл массив объектов student: class student { string firstname,lastname, group; ...

создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы. - C++
Не могу понять почему не работает вот этот кусок текста. ofstream q (&quot;1.part&quot;); for (int i=0; i&lt;10; ++i) { q &lt;&lt; mas ; ...

Как записать файл в массив? - C++
Добрый день, как записать побитово файл в массив типа int? Возможно ли картинку записать в массив? Нужно не буквы из txt файла, а сами...

Как записать в файл FileWrite(...) ? - C++
cherez FileWrite(...), peremennuyu tipa long, che ne proboval abrakadabra vylazit...pomogite


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

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

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