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

Необходимо создать связной список с записью в файл и восстановлением из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблон принимает аргументы с различными типами http://www.cyberforum.ru/cpp-beginners/thread1118018.html
template <class T> T function(T a,T b) { if(a>b)return a; else return b; } Если я делаю вызов с различными типами function(3.1124,20); то компилятор пишет про неоднозначность параметров.Можно исправить как-нибудь?Вообще компилятор позволяет проводить сравнение различных числовых типов?
C++ Добавление индексатора, позволяющего обратиться к элементу строки. Помогите добавить в мой код.Индексатор, позволяющий по индексу обращаться к соответствующему символу строки. #include "stdafx.h" #include "iostream" #include <string> #include <algorithm> #include "vector" using namespace std; class stroki http://www.cyberforum.ru/cpp-beginners/thread1117990.html
C++ Бинарный поиск рекурсией
Не могу разобраться, какое условие дописать в функцию для возврата -1, если искомый элемент не найден? int BinSearch(int mas,int Start, int End,int Val) { int Mid=(Start+End)/2; if(Val==mas) return Mid; if(Val<mas) BinSearch(mas,Start,Mid-1,Val); else BinSearch(mas,Mid+1,End,Val);
C++ Интерфейс для программы
В общем.Думаю,что набрался каких-никаких знаний по языку,хотелось бы научиться придавать приличный внешний вид программам:кнопки там всякие и прочее.Знаю,что в VS можно создать что-то простое с кнопками,но кажется,что это не серьёзно,хотя точно не знаю.Ну так понял,что стоит рассмотреть OpenGL. Может подскажете ещё толковые программы или же стоит поработать в OpenGL?
C++ Среднее арифметическое полученной части последовательности http://www.cyberforum.ru/cpp-beginners/thread1117942.html
Написать программу, которая вводит с клавиатуры последовательность из семи дробных отрицательных чисел и после ввода каждого числа выводит среднее арифметическое полученной части последовательности
C++ Полностью описать код struct tree { int val; tree*ch;}; int F23 (tree*p) { if (p==NULL) return 0; int s==p ->val; for (int i=0; i<4; i++) {int vv=F23 (p->ch); if (vv>s) s=vv;} return s;} подробнее

Показать сообщение отдельно
SARS
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 17
13.03.2014, 12:40     Необходимо создать связной список с записью в файл и восстановлением из файла
Народ выручайте. В задании необходимо создать связной список с записью в файл и восстановлением из файла. Со списком я более-менее разобрался, но я не пойму по КАКОМУ принципу происходит чтение/запись и каким образом это прикрутить. Подскажите зашиваюсь времени в обрез.
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
#include <iostream>
#include <stdio.h>
#include <string>
#include <locale>
 
 
using namespace std;
 
class STATE
{
    public:
    char countryName [128];
    char countryCapital [128];
    char countryLang [128];
    char countryPolitical [128];
    char countryMoney [128];
    char countryPopulation [128];
    char countryArea [128];
    char moneyTodollar [128];
 
    STATE* eNext;               // указатель на следующий элемент
};
 
STATE* eFirst=0;            //в начале список пуст
 
void addLast (STATE* eLast)     //функция добавления в конец списка
{
    
    eLast -> eNext=0;            // переходим на следующий элемент
    if (eFirst == 0)            // если первый элемент равен 0 (список пуст)
    {
        eFirst = eLast;         //присваеваем указателю на 1й элемент, значение на текущий элемент
        return;
    }
    
    STATE* eCurrent = eFirst;           // иначе задаем временный указатель на начало
    while (eCurrent -> eNext)           // пока не дойдем до последнего элемента
    {
        eCurrent = eCurrent -> eNext;            // цикл перехода с текущего на следующий элемент
    }
    eCurrent -> eNext = eLast;            //для последнего элемента следующим делаем тот, что передали в функцию
}
 
 
STATE* getData ()                          // функция возврата указателя на элемент для добавления
{
    
    STATE* eLast = new STATE;           //создаем новый элемент
    
    cout << "Название страны - " ;
    cin >> eLast -> countryName;
    
        if ((stricmp (eLast -> countryName, "end") == 0))           // при вводе "end"
        {                                                           
            delete eLast;                                          // удаляем элемент
            return 0;
        }
 
    cout << "Столица - ";                             // ВВОД ДАННЫХ В СПИСОК                      
    cin >> eLast -> countryCapital;
    
    cout << "Язык - ";
    cin >> eLast -> countryLang;
    
    cout << "Госстрой - ";
    cin >> eLast -> countryPolitical;
    
    cout << "Денежная единица - ";
    cin >> eLast -> countryMoney;
    
    cout << "Численность наседения млн.чел.- ";
    cin >> eLast -> countryPopulation;
    
    cout << "Площадь территории кв.км.- ";
    cin >> eLast -> countryArea;
    
    cout << "Курс валют за 1$ - ";
    cin >> eLast -> moneyTodollar;    
    
    eLast -> eNext = 0;              // данных больше нет
    return eLast;
}
 
 
 
void showData (STATE* eLast)            // функция вывода данных на экран
{
 
    cout << eLast -> countryCapital
         <<"/ "
         << eLast -> countryLang 
         <<"/ "
         << eLast -> countryPolitical 
         <<"/ "
         << eLast -> countryMoney
         <<"/ "
         << eLast -> countryPopulation
         <<"/ "
         << eLast -> countryArea
         <<"/ "
         << eLast -> moneyTodollar
         <<" for 1$/" << endl;
}
 
int main (int argc, char* eArgc[])
{
    
    setlocale (LC_ALL, "Russian");
 
    cout << "Enter data" << endl 
         << "Enter 'end' for close" <<"\n \n" << endl;
         
    STATE* eLast;                               // указатель на элемент списка
    while (eLast = getData())               // пока не будет введена команда "end"
    {
        addLast (eLast);                    // добавление элементов в конец списка
    }
    cout << "ГОСУДАРСТВО:" <<"\n"<< endl;
    eLast = eFirst;                       // определяем начало списка
    while (eLast)
    {
        showData (eLast);               // вывод содержимого списка по полям каждого элемента
        eLast = eLast -> eNext;         // переход на следующий элемент
    }
    system ("PAUSE");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru