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

Удаление и добавление звена в линейном списке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разные кнопки http://www.cyberforum.ru/cpp-beginners/thread713397.html
Дело в том что есть два вида управляемых елемнтов (может ибольше но меня интересуют только эти два) это круглые(в картинке обратите внимание на кнопки "открыть". "закрыть") и квадратные обращайте внимание на кнопки. Надеюсь вы поняли что я имею ввиду. Так вот вопрос как изменить квадратную кнопку на круглую. Заранее благодарен:)
C++ printf. Округление чисел типа double Пытаюсь писать программу для округления чисел типа double. // okruglenie double.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv) { http://www.cyberforum.ru/cpp-beginners/thread713396.html
C++ Удаление слов, имеющих нечетный порядковый номер
Приветствую всех! Нужна помощь в написании программы, которая получает удаляет все слова с нечетными порядковыми номерами и переворачивает все слова с четными порядковыми номерами. Под словами подразумевается группа символов, разделенными знаком "пробел". Вобщем вся проблема сводится к тому что, у меня никак не выходит удаление слов с нечетным порядковым номером. Как мне записать в массив...
Нужно написать программку по заданию, используя функции, как можно проще C++
Дан интервал натуральных чисел . Напечатать на экране все те числа, которые принадлежат этому интервалу и которые можно выразить как сумму квадратов двух натуральных чисел (используя функцию, которая знает квадраты целых чисел)
C++ Мусор при компиляции http://www.cyberforum.ru/cpp-beginners/thread713379.html
Только начал работать с классами, и на первом же примере застрял. Посмотрите пожалуйста, в чем ошибка? //заголовочный файл class.h #include "stdafx.h" #include <stdio.h> #include <math.h> #include <iostream> #include <conio.h> using namespace std;
C++ Задача с иеерархией корней Помогите, не получаеться написать саму функцию с циклом походу((. Задача: Составить программу решающию уравнение вида как на скрине, только с учетом первого чила с которго начинать, шага, и количества числе с конями. Исправьте пожалуйста код)) #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main() подробнее

Показать сообщение отдельно
Arantir
1 / 1 / 0
Регистрация: 24.08.2012
Сообщений: 18

Удаление и добавление звена в линейном списке - C++

29.11.2012, 16:39. Просмотров 341. Ответов 0
Метки (Все метки)

Здравствуйте тётеньки и дяденьки!!!...Помогите мне дописать код...
Задача:
Картотека в бюро обмена квартир организована в виде линейного списка. Сведения о каждой квартире включают:
-количество комнат;
-этаж;
-площадь;
-адрес.
Написать программу, которая обеспечивает:
-начальное формирование картотеки;
-ввод заявки на обмен;
-поиск в картотеке подходящего варианта: при равенстве количества комнат и этажа и различии площадей в пределах 10% соответствующая картотека выводится и удаляется из списка, в противном случае поступившая заявка включается в список;
вывод всего списка.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
Код:
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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <string>
 
using namespace std;
 
struct file
{
    file *prev;
    file *next;
    short int room;
    short int level;
    short int area;
    string adress;
};
 
void add(file **temp, file **last);
void search(file **temp, file **head, file **last);
void out(file **temp, file **head, file **last);
 
void add(file **temp, file **last)
{
    cout << "--------------\n";
    cout << "Rooms:";
    cin >> (*temp)->room;
    cout << "Levels:";
    cin >> (*temp)->level;
    cout << "Area:";
    cin >> (*temp)->area;
    cout << "Adress:";
    cin >> (*temp)->adress;
    cout << "--------------\n";
    (*temp)->next=new(file);
    (*temp)->next->prev=(*temp);
    (*temp)=(*temp)->next;
    (*last)=(*temp);
}
 
 
void search(file **temp, file **head, file **last)
{
    (*temp)=(*head);
    short int n_room, n_level, n_area;
    double an;
    string s_adress;
    cout << "**************\n";
    cout << "Rooms:";
    cin >> n_room;
    cout << "Levels:";
    cin >> n_level;
    cout << "Area:";
    cin >> n_area;
    cout << "Adress:";
    cin >> s_adress;
    cout << "**************\n";
    while((*temp)!=(*last))
    {
        an=1;
        if(n_room==(*temp)->room && n_level==(*temp)->level)
        {
            if(n_area>(*temp)->area)
            {
                an=(1-(double)(*temp)->area/n_area)*100;
            }
            else
            {
                an=(1-(double)n_area/(*temp)->area)*100;
            }
            if(an<=10)
            {
                //удалить текущее звено
            }
            else
            {
                //создать звено с данными из n_room, n_level, n_areaб s_adress
            }
        }
        else
        {
            //создать звено с данными из n_room, n_level, n_areaб s_adress
        }
        (*temp)=(*temp)->next;
    }
}
 
 
void out(file **temp, file **head, file **last)
{
    (*temp)=(*head);
    while((*temp)!=(*last))
    {
        cout << "##############\n";
        cout << "Rooms:";
        cout << (*temp)->room << endl;
        cout << "Levels:";
        cout << (*temp)->level << endl;
        cout << "Area:";
        cout << (*temp)->area << endl;
        cout << "Adress:";
        cout << (*temp)->adress << endl;
        cout << "##############\n";
        (*temp)=(*temp)->next;
    }
}
 
void main()
{
    file *head, *temp, *last;
    head=new(file);
    temp=head;
    temp->prev=NULL;
    short int n;
    do
    {
        cout << "______________\n";
        cout << "Menu:\n";
        cout << "1-Input\n2-Search\n3-Output\n4-Exit\n";
        cout << "______________\n";
        n=_getch();
        switch(n) 
        {
            case '1': add(&temp, &last); break;
            case '2': search(&temp, &head, &last); break;
            case '3': out(&temp, &head, &last); break;
            case '4': break;
            default: cout << "Retype!\n"; break;
        }
    }
    while(n!='4');
}
Собственно осталось реализовать 2 задачи удаление и добавление звена в зависимости от условия. Можете дать рабочую реализацию или кратко объяснить или ссылки дать, но только не молчите...)) Всё остальное работает...Спасибо...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru