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

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

Войти
Регистрация
Восстановить пароль
 
 
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
#1

файл и функции - C++

28.09.2010, 01:37. Просмотров 678. Ответов 15
Метки нет (Все метки)

добрый вечер.помогите,плз,с задачей.дело в том,что файл пустой оказывается после выполнения.
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 <conio.h>
 
using namespace std;
 
void rec(fstream &f,int matr[][3])
{   
    int i,j;
 
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
            f>>matr[i][j];
    }
}
 
int out(fstream &f,int matr[][3])
{
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            f<<matr[i][j];
            return matr[i][j];
        }
    }
}
 
int main()
{
    fstream f;
    int matr[3][3];
 
    f.open("f.txt",ios_base::in || 
                   ios_base::out);
    if(f.is_open()==false)
    {
        cout << "error!";
        return 1;
    }
 
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
            cin >> matr[i][j];
 
    rec(f,matr);
 
    f.close();
 
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2010, 01:37     файл и функции
Посмотрите здесь:

Вывод в файл из функции - C++
Приветствую! Мне надо вывести текст в файл, но проблемма в том, что вывод должен осуществляться из функции, а файл, в который будет идти...

Параметр функции - файл - C++
Как использовать файлы для чтения (ifstream) как параметр функции. Информацию искал, но в большинстве случаев советуют открывать файл уже в...

Функции и текстовый файл - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include &lt;ctime&gt; #include &lt;stdlib.h&gt; ...

Заголовочный файл и функции до определения - C++
Нужна небольшая помощь. Делаю лабораторную и столкнулся в небольшой проблемой. Задание : // Напишите функцию вычисления произведения двух...

Передать функции указатель на открытый файл - C++
как функции передать указатель на открытый файл??? int main() { ifstream file(&quot;file.txt&quot;,:in); func(&amp;file); ...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nwq
33 / 33 / 2
Регистрация: 24.09.2010
Сообщений: 140
28.09.2010, 01:54     файл и функции #2
Вместо rec(f,matr); наверно надо out(f,matr); и зачем return в out непонятно.
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
28.09.2010, 02:47  [ТС]     файл и функции #3
задача состоит в том,чтобы матрица записывалась в файл и читалась из него с выводом на экран.rec это запись в файл.но после выполнения этого кода файл все равно пустой.
Nwq
33 / 33 / 2
Регистрация: 24.09.2010
Сообщений: 140
28.09.2010, 03:01     файл и функции #4
Строка 36, ты используешь логическое || вместо бинарного |.

Добавлено через 1 минуту
rec у тебя это чтение из файла, а out запись в файл.

Добавлено через 4 минуты
Для создания файла: f.open("f.txt", ios_base::out | ios_base::trunc);
Для чтения: f.open("f.txt", ios_base::in);
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
28.09.2010, 11:43  [ТС]     файл и функции #5
хм,а на лекциях говорили что так же как и cin cout, только вместо них имя файла.а массив тут в функции изменяться будет?а то я его обнуляю,потом ф-ию записи,а он все равно нули выдает
Nwq
33 / 33 / 2
Регистрация: 24.09.2010
Сообщений: 140
28.09.2010, 11:50     файл и функции #6
Не пойму в чём проблема, rec читает из файла в массив, а out из массива записывает в файл.
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
28.09.2010, 12:02  [ТС]     файл и функции #7
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
void out(fstream &f,int matr[][3])
{   
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
            f>>matr[i][j];
}
 
void rec(fstream &f,int matr[][3])
{
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
            f<<matr[i][j];
        f<<endl;
    }
}
 
int main()
{
    fstream f;
    int matr[3][3];
 
    f.open("f.txt",ios_base::in | 
                   ios_base::out |
                   ios_base::trunc);
    if(f.is_open()==false)
    {
        cout << "error!";
        return 1;
    }
 
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
            cin >> matr[i][j];
 
    rec(f,matr);
 
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
            matr[i][j]=0;
 
    out(f,matr);
 
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
            cout << matr[i][j] << " ";
        cout << endl;
    }
    f.close();
}
вот так изменил код,а массив выводит с нулями.
chesser
17 / 17 / 1
Регистрация: 02.08.2010
Сообщений: 44
28.09.2010, 12:13     файл и функции #8
Так вы же сами обнулили массив
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
28.09.2010, 12:35  [ТС]     файл и функции #9
но я же потом вызвал функцию чтобы его же из файла заполнить
chesser
17 / 17 / 1
Регистрация: 02.08.2010
Сообщений: 44
28.09.2010, 12:39     файл и функции #10
Извините, сейчас посмотрю внимательнее.
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
28.09.2010, 12:40  [ТС]     файл и функции #11
нееет)я поменял названия функций)в файле все как надо.а в массиве нет
chesser
17 / 17 / 1
Регистрация: 02.08.2010
Сообщений: 44
28.09.2010, 13:08     файл и функции #12
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
#include <cstdlib>
#include <iostream>
#include <fstream>
 
using namespace std;
 
void out(fstream &f,int matr[][3])
{       
        for(int i=0;i<3;i++)
                for(int j=0;j<3;j++)
                    f>>matr[i][j];
                    
}
 
void rec(fstream &f,int matr[][3])
{
        for(int i=0;i<3;i++)
            {  for(int j=0;j<3;j++)
                      f<<matr[i][j]<<" ";
              cout<<endl;
              } 
}
 
int main()
{
        fstream f;
        int matr[3][3];
 
        f.open("f.txt",ios_base::out);
        if(f.is_open()==false)
        {
                cout << "error!";
                return 1;
        }
 
        for(int i=0;i<3;i++)
                for(int j=0;j<3;j++)
                        cin >> matr[i][j];
 
        rec(f,matr);
        f.close();
        for(int i=0;i<3;i++)
                for(int j=0;j<3;j++)
                        matr[i][j]=0;
        f.open("f.txt",ios_base::in); 
        out(f,matr);
        
 
        for(int i=0;i<3;i++)
        {
                for(int j=0;j<3;j++)
                        cout << matr[i][j] << " ";
                cout << endl;
        }
        f.close();
    system("PAUSE");
    return 0;
}
Nwq
33 / 33 / 2
Регистрация: 24.09.2010
Сообщений: 140
28.09.2010, 13:22     файл и функции #13
Цитата Сообщение от ooki2day Посмотреть сообщение
но я же потом вызвал функцию чтобы его же из файла заполнить
Ты вызвал функцию out. Я ещё раз говорю, твоя функция out - это запись в файл,
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
28.09.2010, 13:36  [ТС]     файл и функции #14
Nwq, да не,out-запись в массив)страницу назад исправил уже.
chesser, спасибо,понял,только там надо еще в файл пробелы записывать.вдруг,кому надо будет код:
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 <fstream>
 
using namespace std;
 
void out(fstream &f,int matr[][3])
{   
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
            f>>matr[i][j];
}
 
void rec(fstream &f,int matr[][3])
{
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            f<<matr[i][j];
            f<<" ";
        }
        f<<endl;
    }
}
 
int main()
{
    fstream f;
    int matr[3][3];
 
    f.open("f.txt",ios_base::out |
                   ios_base::trunc);
    if(f.is_open()==false)
    {
        cout << "error!";
        return 1;
    }
 
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
            cin >> matr[i][j];
 
    rec(f,matr);
    f.close();
 
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
            matr[i][j]=0;
 
    f.open("f.txt",ios_base::in);
    out(f,matr);
 
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
            cout << matr[i][j];
        cout << endl;
    }
 
    f.close();
    system("PAUSE");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2010, 13:37     файл и функции
Еще ссылки по теме:

С помощью какой функции загрузить файл - C++
Во общем на заголовок вопрос, если есть возможность то с примером

В файл записать результат вычисления функции - C++
Написать программу для с++: Дан текстовый файл с неизвестным количеством вещественных чисел. Написать функцию для создания нового...

решение функции и запись результата в файл - C++
Условие в прилогаемом файле...

Реализовать функции записи и чтения дерева из файл - C++
определить функции в соответствии с вариантом задания; в функции main() реализовать демонстрацию работы созданных функций; Во всех...


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

Или воспользуйтесь поиском по форуму:
Nwq
33 / 33 / 2
Регистрация: 24.09.2010
Сообщений: 140
28.09.2010, 13:37     файл и функции #15
out была раньше - запись в файл. Сейчас ты сделал наоборот.
Yandex
Объявления
28.09.2010, 13:37     файл и функции
Ответ Создать тему
Опции темы

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