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

Реализовать работу очереди передачи сообщений между двумя ПК в компьютерной сети - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как найти сумму элементов списка http://www.cyberforum.ru/cpp-beginners/thread822666.html
помогите пожалуйсто разобраться!! как найти сумму элементов списка, исходя из этой программы: #include <iostream.h> //struktura dinamizeckogo spiska struct LIST { int dann; LIST *next; }; LIST *head=NULL; LIST *rear=NULL;
C++ Двусвязный список с объектом трех типов: "целое число", "вещественное число", "строка" Есть проблема. Реализовать двухсвязный список. Каждый элемент списка может содержать один объект. Объект может быть трех типов: "целое число", "вещественное число", "строка". В разных узлах одного списка может быть любой объект одного из допустимых типов. Подскажите как подобное реализуется? Сам список реализован только с одним из значений(в данном примере int data) MyList.h class... http://www.cyberforum.ru/cpp-beginners/thread822636.html
Удалить заданную строку и столбец матрицы со сдвигом C++
Как удалить заданную строку a и столбец b со сдвигом, в динамическом массиве MxN заполненного рандомными числами?
Графика на C++ C++
Помогите. Срочно нужно сделать задание, а графику даже еще не учили. Сделать нужно на Visual Studio. В файле задано равнобедренные треугольники с помощью двух вершин, определяющих основу каждого из треугольников, и суммарной длины двух других сторон. Вывести треугольники на экран. Отдельным цветом выделить треугольник который имеет площадь, близкую к величине, заданной в другом файле, и не...
C++ Не работает русский язык http://www.cyberforum.ru/cpp-beginners/thread822628.html
У меня такая проблема: Пользуюсь компилятором Visual C++ 6.0. После написания кода нажимаю build и Execute. Но почему-то в результате в полях вывода (cout << ) символы кириллицей превращаются в какие-то иероглифы и приодится писать транслитом. Кто знает, как это исправить?
C++ SDL - помогите найти ошибку в коде Ребят, начал изучать SDL. Такая параша #include <SDL.h> int main () { SDL_Init (SDL_INIT_VIDEO | |SDL_INIT_VIDEO); if ( SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0 ) { printf("Unable to init SDL: %s\n", SDL_GetError()); подробнее

Показать сообщение отдельно
fifa068
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 93
30.03.2013, 09:33  [ТС]     Реализовать работу очереди передачи сообщений между двумя ПК в компьютерной сети
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#include <iostream.h>
 
const int N=10;
 
struct proc{
int prior;
char name[30];               //размерность
};
 
struct QUEUE {               //Структура элемента очереди
proc* arr[N];
int first;
int last;
int count;
};
 
int polniy(QUEUE *pq)          //Класс для выяснения полноты очереди
{
if (pq->count==N)            //очередь заполнена
return 1;
else
return 0;
}
 
int pystaya(QUEUE *pq)   
{
if (pq->count==0)           //очередь пустая
return 1;
else
return 0;
}
 
int wtf(QUEUE *pq)
{
int k = 0;
for (int i = 0; i < N; i++)
if (pq->arr[i] != NULL)
k++;
return k;
}
 
void init(QUEUE *pq)
{
pq->first=0;
pq->last=0;
pq->count=0;
for (int i = 0; i < N; i++)
    pq->arr[i] = NULL;               //Инициализация очереди, т.е. очистка всех значений для последующей корректной работой с очередью 
}
 
void Add(QUEUE *pq)                  //Ввод инфы 
{
proc *nproc;                         //объявление переменной
nproc = new proc;
cout<<"Вводим ip адресс:";cin >> nproc->name;
cout <<"Ваше сообщение: ";cin >> nproc->prior;
pq->arr[pq->last]=nproc;             //Доступ к переменной через указатель
pq->last++;
if (pq->last==N)
for(int i = 0; i < pq->count; i++)
if(pq->arr[i] == 0)
pq->last=i;
if(pq->last == N)
cout << "Err";
pq->count=wtf(pq);
}
 
void Del1(QUEUE *pq)
{
for (int i = 0; i < N; i++)
if(pq->arr[i] != NULL)
if (pq->arr[i]->prior > 30)
{
 cout <<pq->arr[i] -> name;
  cout <<pq->arr[i] -> prior << endl;
}
pq->count=wtf(pq);
}
 
void Del(QUEUE *pq)                     //Удаление сообщения из очереди
{
pq->arr[pq->first] = 0;
pq->first++;
if (pq->first==N)
pq->first=0;
pq->count=wtf(pq);
}
 
void Show(QUEUE *pq)                   //ввод данных в сообщение для очереди!
{
for (int i = 0; i < N; i++)
if (pq->arr[i] != NULL)
{
cout <<"Вводим ip aдрес:"<< pq->arr[i]->name<< endl;
cout <<"Ваше сообщение: " << pq->arr[i]->prior << endl <<endl;
}
}
 
int main()                 // Меню
{
 
QUEUE q;
init(&q);
char otv, otv1;
do
{
cout << "1.Добавление сообщения " << endl <<
        "2. Удаление сообщения из очереди" <<endl <<
        "3. Вывод очереди на экран" << endl <<
        "4. Проверка очереди на пустоту" << endl <<
        "5. Проверка очереди на заполненость" << endl <<
        "0. Выход" << endl;
cout << "Ваше действие: ";cin >> otv;
switch(otv)
{
case '1':
if (polniy(&q)==1)                                      //Проверяем заполнена ли очередь
cout << endl << "Очередь полная" << endl<<endl;
else
{
cout <<endl<< "Ввидите элемент"<< endl;
Add(&q);
cout << endl << "Сообщение успешно добавлено в очередь!" << endl<<endl;
}
break;
case '2':
cout << "1. Удалить сообщение из очереди! " << endl
<< "2. " << endl;
cout << "Choose your destiny - ";cin >> otv1;
switch(otv1)
    {
case '1':
if (pystaya(&q)==1)
cout << endl << "message net" << endl<<endl;
else
{
Del(&q);
cout << endl << " Сообщение удалено из очереди!" << endl<<endl;
}
break;
case '2':
if (pystaya(&q)==1)
cout << endl << "Очередь пустая!" <<endl<<endl;
else
{
Del1(&q);
cout << endl << " Сообщение найдено в очереди" << endl<<endl;
}
break;
default:
cout << endl << "Еrror" << endl;
break;
}
break;
case '3':
if (pystaya(&q)==1)
cout << endl << "Очередь пустая!" << endl<<endl;
else
{
cout << endl << "Элементы очереди:" << endl<<endl;
Show(&q);
cout << endl;
}
break;
case '4':
if (pystaya(&q)==1)
cout << endl << "Очередь пустая" << endl<<endl;
else
cout << endl << "Очередь содержит сообщение" << endl<<endl;
break;
case '5':
if (polniy(&q)==1)
cout << endl << "Очередь полная!" <<endl<<endl;
else
cout << endl << "Возможно добавить сообщение!" << endl<<endl;
break;
case '0':
break;
default:
cout << endl << "Еrror enter" <<endl<<endl;
break;
}
}while(otv!='0');
cin.get();
 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru