0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
1

Линейный односвязный список - выводится только одна запись

11.05.2015, 18:38. Показов 653. Ответов 3
Метки нет (Все метки)

Выводит только одну запись, в чем ошибка..
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
struct Node1
{
    string Region;
    int Temperature;
    int Davl;
    bool Rainfall;
    double Vlaga;
};
 
struct Node
{
    Node1 l;
    Node *next;
};
 
string st, html;
Node *head = 0;
 
void ListCAddNode()
{
    string Reg;
    double Vlag;
    int Da, Tem;
    bool Rain;
    Node *p;
    try { p = new Node; }
    catch (...)
    {
        cout << "Ошибка";
        _getch();
        _exit(-1);
    }
    p->next = head;
    head = p;
    cout << "Введи регион: ";
    cin >> Reg;
    (p->l).Region = Reg;
    cout << "Введи температуру: ";
    cin >> Tem;
    (p->l).Temperature = Tem;
    cout << "Введи влажность: ";
    cin >> Vlag;
    (p->l).Vlaga = Vlag;
    cout << "Введи давление: ";
    cin >> Da;
    (p->l).Davl = Da;
    cout << "В наличии? (0 - нет, 1 - да): ";
    cin >> Rain;
    (p->l).Rainfall = Rain;
}
 
void ListCPrint()
{
    Node *cur = head;
    cur->next = head;
    head = cur;
    if (cur == 0)
        return;
    cout <<endl<< " ------------------------------------------------------------------------------" << endl;
    cout << " |Region    " << setw(9) << "|Temperatura " << "|Osadki     " << setw(10) << "|Davlenie " << "|Vlajmost`|" << endl;
    cout << " ------------------------------------------------------------------------------" << endl;
    while (1)
    {
        cout << " |" << setw(10) << left << (cur->l).Region << "|" << setw(11) << left << (cur->l).Temperature << " |";
        if ((cur->l).Rainfall == 0)
            cout << left << setw(9) << "Нет осадков" << "|";
        if ((cur->l).Rainfall == 1)
            cout << left << setw(9) << "Есть осадки" << "|";
        cout << setw(9) << (cur->l).Davl << "|" << left << setw(9) << (cur->l).Vlaga << "|";
    
        break;
    }   
    cout << endl;
}
список со структурой данных в самом узле списка.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2015, 18:38
Ответы с готовыми решениями:

Линейный односвязный (однонаправленный) список, запись и чтение из файла
нужна помощь в организации чтения и записи списка из файла, #include &lt;iostream&gt; #include &lt;string&gt;...

Почему выводится только одна запись из бд?
Вроде ж все нормально. Почему не выводит все. Не пойму :( while($myrow =...

Выводится только одна запись категории
Доброго времени суток! Столкнулся с проблемой, после того, как спустя несколько лет пересел...

В результате запроса выводится только одна запись
Есть текстареа, по каждой строке текста в нем должен происходить поиск по бд. В результате запроса...

3
618 / 216 / 51
Регистрация: 22.11.2010
Сообщений: 1,776
Записей в блоге: 3
11.05.2015, 18:56 2
dmiales, выложи весь код
0
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
11.05.2015, 19:01  [ТС] 3
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
167
168
169
#include "stdafx.h"
#include <math.h>
#include <iomanip>
#include <iostream>
#include <conio.h>
#include <locale.h>
#include <fstream>
#include <string>
using namespace std;
 
struct Node1
{
    string Region;
    int Temperature;
    int Davl;
    bool Rainfall;
    double Vlaga;
};
 
struct Node
{
    Node1 l;
    Node *next;
};
 
string st, html;
Node *head = 0;
 
void ListCAddNode()
{
    string Reg;
    double Vlag;
    int Da, Tem;
    bool Rain;
    Node *p;
    try { p = new Node; }
    catch (...)
    {
        cout << "Ошибка";
        _getch();
        _exit(-1);
    }
    p->next = head;
    head = p;
    cout << "Введи регион: ";
    cin >> Reg;
    (p->l).Region = Reg;
    cout << "Введи температуру: ";
    cin >> Tem;
    (p->l).Temperature = Tem;
    cout << "Введи влажность: ";
    cin >> Vlag;
    (p->l).Vlaga = Vlag;
    cout << "Введи давление: ";
    cin >> Da;
    (p->l).Davl = Da;
    cout << "В наличии? (0 - нет, 1 - да): ";
    cin >> Rain;
    (p->l).Rainfall = Rain;
}
 
void ListCPrint()
{
    Node *cur = head;
    cur->next = head;
    head = cur;
    if (cur == 0)
        return;
    cout <<endl<< " ---------------------------------------------------------" << endl;
    cout << " |Region    " << setw(9) << "|Temperatura " << "|Osadki     " << setw(10) << "|Davlenie " << "|Vlajmost`|" << endl;
    cout << " ---------------------------------------------------------" << endl;
    while (cur)
    {
        cout << " |" << setw(10) << left << (cur->l).Region << "|" << setw(11) << left << (cur->l).Temperature << " |";
        if ((cur->l).Rainfall == 0)
            cout << left << setw(9) << "Нет осадков" << "|";
        if ((cur->l).Rainfall == 1)
            cout << left << setw(9) << "Есть осадки" << "|";
        cout << setw(9) << (cur->l).Davl << "|" << left << setw(9) << (cur->l).Vlaga << "|";
        cur = cur->next;
        break;
    }   
    cout << endl;
}
 
void ListCSaveToFile()
{
    Node *cur = head;
    cur->next = head;
    head = cur;
    if (cur == 0)
        return;
    ofstream of_save;
    of_save.open("BDname.txt", ios::out | ios::trunc);
    if (!of_save){ cout << "not open for save" << endl; _exit(-1); }
    while (1)
    {
        of_save << (cur->l).Region << endl;
        of_save << (cur->l).Temperature << endl;
        of_save << (cur->l).Vlaga << endl;
        of_save << (cur->l).Davl << endl;
        of_save << (cur->l).Rainfall << endl;
        cur = cur->next;
        of_save.close();
        cout << endl << "сохранено" << endl;
        break;
    }
}
 
void ListCReadFromFile()
{
    Node *cur = head;
    ifstream if_read;
    if_read.open("BDname.txt");
    if (!if_read){ cout << "нет BDname.txt" << endl; _exit(-2); }
    while (1)
    {
        if (if_read.bad())
            return;
        if_read >> (cur->l).Region;
        if_read >> (cur->l).Temperature;
        if_read >> (cur->l).Vlaga;
        if_read >> (cur->l).Davl;
        if_read >> (cur->l).Rainfall;
        if_read.close();
        cout << endl << "загружено" << endl;
    }
 
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    while (1)
    {
        cout << "Меню:" << endl;
        cout << "1. " << endl;
        cout << "2. Добавить запись" << endl;
        cout << "3. Просмотреть все записи" << endl;
        cout << "4. " << endl; // по мульти указателю
        cout << "5. Сохранить файл БД " << endl;
        cout << "6. Загрузить файл БД" << endl;
        cout << "7. " << endl;
        cout << "8. " << endl;
        cout << "9. Сохранить, как HTML файл" << endl;
        cout << "0. " << endl;
        cout << "\"-\" Выход" << endl;
 
        switch (_getch())
        {
        case '1':  break;
        case '2': ListCAddNode(); break;
        case '3': ListCPrint(); break;
        case '4':  break;
        case '5': ListCSaveToFile(); break;
        case '6': ListCReadFromFile(); break;
        case '7':  break;
        case '8':  break;
            //  case '9': SaveHtml(); break;
        case '0':  break;
        case 27:
        case '-': _exit(1);
        }
        cout << endl;
    }
    _getch();
    return 0;
}
0
618 / 216 / 51
Регистрация: 22.11.2010
Сообщений: 1,776
Записей в блоге: 3
11.05.2015, 23:39 4
dmiales, а обязательно такое извращение со структурами?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2015, 23:39
Помогаю со студенческими работами здесь

В FlexDrid или DataCombo1 выводится только одна запись
Private Sub ShowAllAss() Dim CONN As ADODB.Connection Dim RS As ADODB.Recordset Dim...

Чекер аккаунтов ютуба: выводится только одна запись
Подскажите, пожалуйста, где беда. Сегодня написал первое что-то более-менее полезное на шарпе -...

Односвязный линейный список
Здравствуйте. Возник вопрос по поводу линейных односвязных списков. Как записать в односвязный...

Линейный односвязный список
Можете более понятным языком объяснить,что требуется в этом задании? Дана непустая...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru