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

Линейный список. Картотека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ std::vector::erase http://www.cyberforum.ru/cpp-beginners/thread816465.html
Всем привет. Буду очень рад, если кто-нибудь может мне объяснить логику... см. скриншот....
C++ Найти ошибку (Вычисление функции с помощью разложения в ряд) Итак,проблема с разницей в показаниях Задание Вычисление функции с помощью разложения в ряд Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от хнач до хкон с шагом dx с точностью e . Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента,значение функции, значение функции через ряд тейлора, ... http://www.cyberforum.ru/cpp-beginners/thread816462.html
C++ массив объектов
добрый вечер всем. Возникла такая проблема - необходимо создать массив деков символов. Я хочу создать пустой объект - нулевого размера. а затем подавать на вход размер. Только не могу сообразить как правильно это сделать. Вот код. подскажите пожалуйста где ошибка. При попытке собрать проект студия говорит, что я пытаюсь переопределить значение по умолчанию в конструкторе. У Лафоре ничего...
Обращение к строкам файла по ее номеру C++
К примеру есть файл file.txt, написанный в текстовом редакторе, с таким содержанием The quick brown fox jumps over the lazy dog. Jackdaws love my big sphinx of quartz. The five boxing wizards jump quickly. Можно ли как-то обратиться по номеру строки, чтобы вывести ее на экран. Я понимаю, что нужно использовать seekg, read те char out;
C++ Диапазоны значений перечислителей http://www.cyberforum.ru/cpp-beginners/thread816424.html
Доброго времени суток, уважаемые форумчане! Для чего нужны диапазоны значений перечислителей, если самим перечислителям соответствуют только те значения, которыми они инициализированы при объявлении? Поначалу, когда я читал, упустил этот момент и подумал, что на перечислитель будет указывать любое значение его диапазона, тогда полезность его очевидна (особенно при выборе диапазонов с...
C++ Создать класс [B]TreeChar[/B], для работы с элементами двоичного дерева Создать класс TreeChar, для работы с элементами двоичного дерева ASCII-символов. В качестве членов-данных рекомендуется брать элементы самоссылочной структуры следующего вида: struct Node { char data; Node *LeftPtr, *RightPtr; }; где LeftPtr и RightPtr адрес левого и правого узла, соответственно. Определить в этом классе функции-члены класса, обеспечивающие: заполнение дерева,... подробнее

Показать сообщение отдельно
евг
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 154
23.03.2013, 18:34     Линейный список. Картотека
Картотека:
Адрес
Номер
Тип

Для представления картотеки в ОП ПЭВМ воспользоваться структурой данных – ЛОС (линейный однонапр список). В программе предусмотреть:
- поиск элемента ЛоС по ключу;
- вставку элемента в ЛоС;
- удаление элемента из ЛоС;
- вывод картотеки на принтер.
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
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<iomanip.h>
#define n 3
class los
{int b;
int numb;
char adres[20];
char tip[20];
los *next;
public:
static los*p;
void input();
void output();
void search();
void del();
void add();
};
los*los::p;
void los::input()
{los *r;
p=new los;
cout<<"\n Key 1: ";
cin>>p->b;
cout<<"\n № magazina 1: ";
cin>>p->numb;
cout<<"\n Adres 1: ";
gets(p->adres);
cout<<"\n Tip magazina 1: ";
gets(p->tip);
p->next = NULL;
r=p;
for(int i=0; i<n-1; i++)
{clrscr();
r = r->next;
r=new los;
cout<<"\n Key "<<(i+2)<<": ";
cin>>r->b;
cout<<"\n № magazina "<<(i+2)<<": ";
cin>>r->numb;
cout<<"\n Adres "<<(i+2)<<": ";
gets(r->adres);
cout<<"\n Tip magazina "<<(i+2)<<": ";
gets(r->tip);
r->next=NULL;
getch();
}
void los::output()
{clrscr();
lds *r;
r=p;
cout<<"\n"<<"ЪДДДДДВДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДДї";
cout<<"\n"<<"і"<<setw(5)<<"Key"<<"і"<<setw(10)<<"Numb"<<"і"<<setw(15)<<"Adres"<<"і"<<setw(10)<<"Tip"<<"і";
cout<<"\n"<<"ГДДДДДЕДДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДДДґ";
while(r!=NULL)
{cout<<"\n"<<"і"<<setw(5)<<r->b<<"і"<<setw(10)<<r->numb<<"і"<<setw(15)<<r->adres<<"і"<<setw(10)<<r->tip<<"і";
r=r->next;}
cout<<"\n"<<"АДДДДДБДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДДЩ";
getch();
}
void los::search()
 {clrscr();
  los *r;
  int key;
  cout<<"\n Vvedite kluch dlya poiska: ";
  cin>>key;
  r=p;
 
 while(r != NULL && r->b != key)
  r=r->next;
if(r->b==key)
{cout<<"\n"<<"ЪДДДДДВДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДДї";
cout<<"\n"<<"і"<<setw(5)<<"Key"<<"і"<<setw(10)<<"Numb"<<"і"<<setw(15)<<"Adres"<<"і"<<setw(10)<<"Tip"<<"і";
cout<<"\n"<<"ГДДДДДЕДДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДДДґ";
  cout<<"\n"<<"і"<<setw(5)<<r->b<<"і"<<setw(10)<<r->numb<<"і"<<setw(10)<<r->adres<<"і"<<setw(10)<<r->tip<<"і";
  cout<<"\n"<<"АДДДДДБДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДДЩ";
  }
else
 cout<<"\n Nichego ne najdeno.";
getch();
}
void los::del()
 
  
getch();
}
void lds::add()
{clrscr();
los *r;
los *ptr;
ptr=new los;
int key;
cout<<"\n Vvedite kluch elementa posle kotorogo dobavit' novij: ";
cin>>key;
r=p;
while(r != NULL && r->b != key)
r = r->next;
if(r->b == key)
   {if(r->next != NULL)
       {cout<<"\n Dobavlenie: ";
    cout<<"\n Vvedite kluch novogo magazina: ";
    cin>>ptr->b;
    cout<<"\n Vvedite number novogo magazina: ";
    cin>>ptr->numb;
    cout<<"\n Vvedite adres  novogo magazina: ";
    gets(ptr->adres);
    cout<<"\n Vvedite tip novogo magazina: ";
    gets(ptr->tip);
    ptr->next = r->next;
    r->next = ptr;
       }
    else
       {cout<<"\n Dobavlenie: ";
    cout<<"\n Vvedite kluch novogo magazina: ";
    cin>>ptr->b;
    cout<<"\n Vvedite number novogo magazina: ";
    cin>>ptr->numb;
    cout<<"\n Vvedite adres  novogo magazina: ";
    gets(ptr->adres);
    cout<<"\n Vvedite tip novogo magazina: ";
    gets(ptr->tip);
    ptr->next=NULL;
    r->next=ptr;
       }
   }
getch();
}
void menu()
{clrscr();
cout<<"\n 1-Vvod dannih";
cout<<"\n 2-Vivod dannih";
cout<<"\n 3-Poisk dannih po kluchu";
cout<<"\n 4-Udalenie dannih po kluchu";
cout<<"\n 5-Vstavka dannih posle elementa";
cout<<"\n ESC-vihod iz programmi";
}
void main()
{clrscr();
 char punkt;
 while(punkt!=27)
 {menu();
  punkt=getch();
  clrscr();
  switch(punkt)
  {case '1':input();getch;break;
   case '2':output();getch;break;
   case '3':search();getch();break;
   case '4':del();getch();break;
   case '5':add();getch();break;
  }
 }
}
Вот собственно код.Не могу сделать удаление и добавление.А из 3 магазинов выводится только первый .Помогите пожалкйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru