С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 43
1

Вывод односвязного списка

24.04.2017, 18:17. Показов 1431. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Выводи лишь последний элемент, в чёи ошибка? Подскажите пожалуйста
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
struct phone
{
    char marka[10];
    char model [10];
    int year;
    int cost;
    phone *next;
};
phone* head = 0;
phone* curr = head;
void menu()
{
    system("cls");
    cout << "1-Filling a structure" << endl;
    cout << "2-Structure output" << endl;
    cout << "3-Sorting" << endl;
    cout << "4-Delete" << endl;
    cout << "5-Add" << endl;
    cout << "6-Binary filling" << endl;
    cout << "7-Binary output" << endl;
    cout << "8-Exit" << endl;
}
void menu_sort()
{
    system("cls");
    cout << "1-Marka" << endl;
    cout << "2-Year" << endl;
    cout << "3-Model" << endl;
    cout << "4-Cost" << endl;
 
}
 
void filling()
{
    cout << "Enter amount of struct" << endl;
    int amount, year, cost;
    char marka[10], model[10];
    cin >> amount;
    for (int i(0); i < amount; i++)
    {
        if (!head)
        {
            head = new phone;
            cout << "Marka: "; cin >> marka;
            strcpy_s(head->marka, 10, marka);
            cout << "Model: "; cin >> model;
            strcpy_s(head->model, 10, model);
            cout << "Year: "; cin >> year;
            head->year = year;
            cout << "Cost: "; cin >> cost;
            head->cost = cost;
            head->next = NULL;
            curr = head;
            cout << endl;
        }
        else
        {
            curr->next = new phone;
            cout << "Marka: "; cin >> marka;
            strcpy_s(curr->marka, 10, marka);
            cout << "Model: "; cin >> model;
            strcpy_s(curr->model, 10, model);
            cout << "Year: "; cin >> year;
            curr->year = year;
            cout << "Cost: "; cin >> cost;
            curr->cost = cost;
            curr->next = NULL;
            cout << endl;
        }
    }
}
void output()
{
    curr = head;
    while (curr !=NULL)
    {
        cout << curr->marka << " " << curr->model << " " << curr->year << " " << curr->cost << " ";
        system("pause");
        curr = curr->next;
    }
    system("pause");
}
 
int main()
{
    int x, k = 0;
    system("cls");
    while (k == 0)
    {
        menu();
        cout << "Choise a number of menu" << endl;
        cin >> x;
        switch (x)
        {
        case 1:
            system("cls");
            filling();
            break;
        case 2:
            system("cls");
            output();
            break;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2017, 18:17
Ответы с готовыми решениями:

Вывод односвязного списка
Здравствуйте, помогите найти ошибку в функции. Выводит только первый элемент списка, даже если ты...

Вывод односвязного списка на C
помогите исправить ошибку!не выводит последний элемент списка. пишет: В экземпляре объекта не...

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

Обеспечить вывод на экран первых букв элементов односвязного списка
У нас есть односвязные список, которые принимает данные типа char и выводит их на экран С функцией...

1
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
24.04.2017, 18:38 2
curr не обновили.
C++
1
2
3
4
5
if(!head)
    head=curr=new phone;
else
    curr=curr->next=new phone;
//а здесь вставить код заполнения curr
0
24.04.2017, 18:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2017, 18:38
Помогаю со студенческими работами здесь

Создание и вывод односвязного списка (выводится только первый элемент)
Надо создать список и вывести его, выводит только 1 и последний элемент, не понимаю почему,...

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

Удаление элементов из односвязного списка списка
Привет всем знатокам, суровым программистам и профессионалам своего дела. Засел за реализацией...

Из односвязного списка в двусвязный
Помогите, кусок переделать в двусвязный список. #include &lt;iostream&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru