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

Массив структур(правильное чтение структуры после перезагрузки программы) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нахождение двух максимальных чисел из 10 http://www.cyberforum.ru/cpp-beginners/thread553697.html
Вводится последовательно 10 чисел, найти 2 максимальных из них #include <iostream> using namespace std; int main () { int number, largest_1, largest_2, counter = 1; cout<<"Vvedite 1oe chislo: ";
C++ Создание стека Помогите пожалуйста решить задачу на С++. Определить класс «Стек» – Stack. Элементы стека хранятся в массиве. Если массив имеет фиксированную размерность, то предусмотреть контроль выхода за пределы массива. Если память выделяется динамически и ее не хватает, то увеличить размер выделенной памяти. Включение элементов в стек и их извлечение реализовать как в виде методов, так и с помощью... http://www.cyberforum.ru/cpp-beginners/thread553695.html
C++ Из паскаля в си++
Здравствуйте. Помогите, пожалуйста, сконвертировать программу с турбо паскаля на си++. Очень нужно для проекта. Заранее благодарен. var n,i:integer; w:array of longint; p,t,s,j,k,min:longint; begin assign(input, 'input.txt'); reset(input); assign(output, 'output.txt'); rewrite(output); readln ( n ); p:=0; s:=1; for i:=1 to n do begin read(w); p:=p+w; s:=s*2; end;
C++ Создание bmp изображения.(Нужна помощь)
Подскажите новичку пожалуйста, я изучаю С++ и пытаюсь создать библиотеку для рисования в файле расширения bmp но столкнулся с одной проблемой: при занесении информации об изображении и заголовка, честно говоря не знаю что происходит, есть некая проблема. По моему оно неправильно заносит эту информацию в файл. вот сам код создания заголовка и информации об изображении std::ofstream...
C++ Строки и файлы С++ http://www.cyberforum.ru/cpp-beginners/thread553645.html
Написать программу, которая считывает текст из файла и выводит на экран только те предложения, содержащие введенное с клавиатуры слово. Помогите пожалуйста! ;) P.S если уже было скиньте ссылку на тему :)
C++ в матрице К(7,7) найти минимальный элемент и заменить его на значение среднего в матрице К(7,7) найти минимальный элемент и заменить его на значение среднего арифметического верхней треугольной матрицы подробнее

Показать сообщение отдельно
Игорёчег
 Аватар для Игорёчег
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 18
20.04.2012, 19:49     Массив структур(правильное чтение структуры после перезагрузки программы)
Собственно проблема вот в чём. Не получается сохранить целостность структуры после считывания её(структуры) с файла(.тхт). Списки здесь типа "очередь" (FIFO) . Вот код:

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
#include <iostream>
#include <string>
#include <fstream>
#include <windows.h>
using namespace std;
struct node
{
 int value;     //информационное поле
 node *next;    //указатель на следующий елемент
};
class Spisok
{
 node *no;      //начало списка
 node *ko;      //конец списка
 int temp;
public:
    Spisok(){no=NULL;ko=NULL;}  
 void Post();   //построение списка
 void Show();   //вывод списка на екран
 void Add();    //добавление записи в списки
 void Delete(); //удаление записи
 void Read();   //чтение с фала(и вывод прочитанного на экран)
 void Write();  //запись в файл
 
};
void Spisok::Post()
{
 cout<<"Ghelaete zapolnit` zapis`('y')?"<<endl;
 char sw;
 cin>>sw;
 if(sw=='y')
 {
  node *r=new node;  
  no=r;
  ko=r;
  cout<<"Wedite znachenia"<<endl;
  cin>>r->value;
  r->next=NULL;
  cout<<"Dobavit` eshe zapis?('y')"<<endl;
  cin>>sw;
  while(sw=='y')
  {
   r=new node;
   r->next=NULL;
   cout<<"wedite chislo"<<endl;
   cin>>r->value;
   ko->next=r;
   ko=r;
   cout<<"Dobavit` eshe zapis?('y')"<<endl;
   cin>>sw;
  }
 
 }
 
}
void Spisok::Show()
{
 node *r=no;
 while(r!=NULL)
 {
 
  cout<<r->value<<endl;
  r=r->next;
 
 }
 
}
void Spisok::Add()
{
 node *q=new node;
 cout<<"wedite chislo!"<<endl;
 cin>>q->value;
 q->next=NULL;
 if(no!=NULL)
 {
  ko->next=q;
  ko=q;
 }
 else
 {
  no=q;
  ko=q;
 }
}
void Spisok::Delete()
{
 node  *r=no;
 if(no!=NULL)
 {
  temp=no->value;
  no=no->next;
  delete r;
 }
} 
void Spisok::Ochistka()
{
 node *q=no;
 if(no!=NULL)
 {
  while(no!=ko)
  {
   no=q->next;
   delete q;
   q=no;
  }
 delete no;
 ko=NULL;
 no=NULL;
 }
}
void Spisok::Write()
{
    node *t=no;
    ofstream fout("file1.txt",ios::trunc);
    while(t!=NULL)
    {
    
        fout.write((char*)&t->value,sizeof(node));
        t=t->next;
    }
    fout.close();
}
void Spisok::Read()
{
    node *t=no;
    ifstream fin("file1.txt");
    while(t!=NULL)
    {
        fin.read((char*)&t->value,sizeof(node));
        cout<<t->value<<" ";
        t=t->next;
    }
    fin.close();
}
void main()
{
 Spisok ob;
 int n;
 cout<<"Read info from file  -  (1)"<<endl;
 cout<<"Write info into the file  -  (2)"<<endl;
 cin>>n;
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    switch(n)
    {
    case 1:cout<<"read :"<<endl;ob.Read();break;
    case 2:{ cout<<"Postroenie :"<<endl;
        ob.Post();cout<<"Vuvod 1 :"<<endl;
        ob.Show();cout<<"Dobavlenie :"<<endl;
        ob.Add();cout<<"Write :"<<endl;ob.Write()
    ;}
    }
}
Чем можете помогите, буду очень признателен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru