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

не работает ф-я сохранения и загрузки - C++

Восстановить пароль Регистрация
 
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
22.05.2013, 22:56     не работает ф-я сохранения и загрузки #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
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<dos.h>
using namespace std;
 
struct list
{
    int data;
    list *next;
    
}; list *first=0, *cur=0;
 
int IsEmpty()
{
    return first==NULL;
}
 
 
 
void AddFirst(int val)
{
    list *tmp;
    tmp=new list;
    tmp->data=val;
    tmp->next=first;
    first=cur=tmp;
}
 
 
 
void DeleteFirst()
{if(IsEmpty())
    {
        printf("\nСписок пуст. Удаление невозможно");
        getch();
        return;
    }
    list *tmp;
    tmp =new list;
    tmp=first->next;
    delete first;
    first=tmp;
 
}
 
void DeleteAll()
{
    if(IsEmpty())
    {
        printf("\nСписок пуст. Удаление невозможно");
        getch();
        return;
    }
    list *tmp;
    tmp=new list;
    while(first!=NULL)
    {DeleteFirst();
    first=first->next;
    }
}
 
void Print()
{
    if(IsEmpty())
    return;
    list *tmp;
    tmp=first;
    do
    {
        printf("%3i",tmp->data);
        tmp=tmp->next;
    }
    while(tmp!=NULL);
}
 
void SaveInFile(){                          /*сохранить в файл*/
    if(first){
        FILE *SaveFile;
        SaveFile = fopen("lab11.txt", "wb");
        if(SaveFile){
            list *tmp = first;
            do{
                int data = tmp->data;
                fwrite(&data, sizeof(data), 1, SaveFile);
                tmp = tmp->next;
            }while(tmp != first);
            cout << "List is saved!";
            fclose(SaveFile);
        }
        else cout << "Error!";
    }
    else cout << "List is empty!";
    getch();
}
void LoadFromFile(){                       /*прочитать из файла*/
    if(!first){
        FILE *LoadFile;
        LoadFile = fopen("lab11.txt", "rb");
        if(LoadFile){
             first = new list;
            first->next = first;
            int data = 0;
            fread(&data, sizeof(data), 1, LoadFile);
            first->data = data;
            list *cur = first;
            while(!feof(LoadFile)){
                list *New = new list;
                fread(&data, sizeof(data), 1, LoadFile);
                if(!feof(LoadFile)){
                    New->data = data;
                    New->next = first;
                    cur->next = New;
                    cur = New;
                }
            }
            cout << "File is loaded!";
        }
        else cout << "Error!";
    }
    else cout << "List did't empty!";
    getch();
}
 
int main()
{ 
    int q;
    char a;
    do
    {
       int delay(1000);
       int clrscr();
       setlocale(LC_ALL,"Russian");
      
        int val;
        Print();
        printf("\nНажмите:\n\t1 - добавление элемента в начало списка;\n\
    2 - удаление текущего єл-та;\n\t3 - сохранение эл-тов;\n\
    4 - удаление всех элементов;\n\t5 - загрузка эл-тов\
    Esc - Выход\n");
        a=getch();
        switch (a)
        {
            case '1':
                printf("\nВведите значение:\n");
                scanf("%i",&val);
                AddFirst(val);
            break;
            case '2':
                DeleteFirst();
            break;
            case '3':
                SaveInFile();
            break;
            case '4':
                DeleteAll();
            break;
            case '5':
                void LoadFromFile();
            break; 
            
        }
    }
    while (a!=27);
        return 0;
}
прошу помочь, не знаю как заставить работать прогу с сохранением и загрузкой из файла.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 22:56     не работает ф-я сохранения и загрузки
Посмотрите здесь:

Функция для сохранения в файл C++
C++ Функция для сохранения в файл
Сохранения информации динамической матрицы (С++) C++
Сохранения C++
Сохранения данных массива и наоборот C++
сохранения с++ C++
скажите пожалуйста код сохранения и загрузки каталога C++
Ошибка сохранения/загрузки объекта с файла C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.05.2013, 01:25     не работает ф-я сохранения и загрузки #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void SaveInFile()
{                          /*сохранить в файл*/
    if(first)
    {
        FILE *SaveFile;
        SaveFile = fopen("lab11.txt", "wb");
        if(SaveFile)
        {
            list *tmp = first;
            do
            {
                int data = tmp->data;
                fwrite(&data, sizeof(data), 1, SaveFile);
                tmp = tmp->next;
            } while(tmp);
            cout << "List is saved!";
            fclose(SaveFile);
        }
        else cout << "Error!";
    }
    else cout << "List is empty!";
    getch();
}
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
23.05.2013, 01:41  [ТС]     не работает ф-я сохранения и загрузки #3
alsav22, спасибо помогло
Yandex
Объявления
23.05.2013, 01:41     не работает ф-я сохранения и загрузки
Ответ Создать тему
Опции темы

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