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

Запись в файл - C++

Восстановить пароль Регистрация
 
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
11.10.2012, 19:52     Запись в файл #1
Что-то не то в функции write, вроде всё логично, но не выводит(подскажите ошибку
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include "stdafx.h"
#include "stdafx.h"
#include "iostream"
#include <fstream>
using namespace std;
 
 
struct Value
{
        public:
            int data;
            Value* next;
            Value(){next=NULL;data=0;};
            ~Value(){data=0;}
};
 
class Stack
{
public:
        Value* Head;
        void Add(int a);
        void Delete();
        int Delete1();
        void Print();
        bool empty();
        void read(const char*file1);
        void write(const char*file2);
        Stack(){Head=NULL;}
        Stack(Stack&a){Head=a.Head;};
};
 //Добавление элемента в стек
void Stack::Add(int a)
{
        Value* p=new Value(); 
        p->data=a;
        p->next=Head;
        Head=p;
}
 //Удаление элемента из стека
void Stack::Delete()
{
        Value *p;
        p=Head->next;
        delete Head;
        Head=p;
}
 int Stack::Delete1()
{
        Value *p;
        p=Head->next;
        delete Head;
        Head=p;
        return (p->data);
}
 //Распечатать стек
void Stack::Print()
{
        Value *p=Head;
        while(p!=NULL)
        {
                cout<<p->data<<"  ";
                p=p->next;
        }
}
//Проверка на пустоту
bool Stack::empty()
{ 
    
    if(Head==NULL)
        return true;
        return false;
}
//Чтение из файла
void Stack::read(const char*file1)
{
    long double a;
    ifstream in;
    in.open("file1.txt");
    while(!in.eof())
    {
        in>>a;
        Add(a);
    }
    in.close();
}
void Stack::write(const char*file2)
{
    double b;
    ofstream out;
    out.open("file2.txt");
    while(!(*this).empty())
    {
        b = (*this).Delete1();
        out<<b<<" ";
    }
    out.close();
}
;
 
 
void test2()
{
    
        Stack elements2;
 
        elements2.read("file1.txt");
        Stack a;
        while(!a.empty())
        {
            cout<<a.Delete1()<<" ";
        }
        a.write("file2.txt");
 
};
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"");
 
        test2();
        system("pause");
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2012, 19:52     Запись в файл
Посмотрите здесь:

Запись в файл C++
C++ Запись в файл
C++ запись в файл
C++ запись в файл
Запись в файл C++
C++ Запись в файл
Запись в файл C++
C++ Запись в файл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 09:51     Запись в файл #2
Цитата Сообщение от yuliyayuliya28 Посмотреть сообщение
void Stack::write(const char*file2)
C++
1
2
3
4
5
6
7
8
9
10
11
{
    double b;
    ofstream out;
    out.open("file2.txt");
    while(!(*this).empty())
    {
        b = (*this).Delete1();
        out<<b<<" ";
    }
    out.close();
}
есть 2 варианта, 1й это то что файл не создан поэтому может быть ошибка, но он не правдоподобен.
2й это то что попробовать сначала записывать в файл из б а потом удалять оО
Yandex
Объявления
12.10.2012, 09:51     Запись в файл
Ответ Создать тему
Опции темы

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