Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/75: Рейтинг темы: голосов - 75, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132

Программа не содержит статический метод "Main", подходящий для точки входа (CS5001)

22.04.2019, 20:04. Показов 16037. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, прошу помощи для решения данной ошибки.
Заранее спасибо.
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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
 
namespace Cursovaya
{
 
public class Program
{
 
#region Метод LoadXML - загрузка данных из файла
 
public static ListShop LoadXML(string filename, ListShop listshop)
{
XmlSerializer Serializer = new XmlSerializer(typeof(ListShop));
 
try
{
using (StreamReader reader = new StreamReader(filename))
{
listshop = (ListShop)Serializer.Deserialize(reader);
}
}
catch (FileNotFoundException)
{
string newXML = @"<?xml version=""1.0"" encoding=""utf-8""?>" + '\n' + @"<ListKafe xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">" + '\n' + "<AllKafe />" + '\n' + "</ListKafe>";
 
using (StreamWriter writer = new StreamWriter(filename))
{
writer.Write(newXML);
}
}
return listshop;
}
#endregion
 
#region Save - сохранение экземляра класса Shop в файл
public static bool Save(ListShop listshop, string filename)
{
 
XmlSerializer sr = new XmlSerializer(listshop.GetType());
StringBuilder sb = new StringBuilder();
StreamWriter SW = new StreamWriter(filename);
 
sr.Serialize(SW, listshop);
SW.Close();
return true;
}
#endregion
}
#region классы (кафе, сотрудник,блюдо, заказ и др.) и интерфейсы
 
public class ListShop
{
public List<Worker> AllWorker = new List<Worker>();
public List<Food> AllFood = new List<Food>();
public List<Sale> AllSale = new List<Sale>();
public List<Check> AllCheck = new List<Check>();
}
 
public class Man
{
string name;
string surname;
string ot;
 
public string Name
{
get { return name; }
set { name = value; }
}
 
public string Ot
{
get { return ot; }
set { ot = value; }
}
public string Surname
{
get { return surname; }
set { surname = value; }
}
 
public Man()
{
name = "";
surname = "";
ot = "";
 
}
 
public Man(string Name, string Surname, string Ot)
{
name = Name;
surname = Surname;
ot = Ot;
}
}
 
[Serializable]
public class Worker : Man
{
DateTime ustrdate;
string twnumber;
string wmail;
public DateTime Ustrdate
{
get { return ustrdate; }
set { ustrdate = value; }
}
 
public string Twnumber
{
get { return twnumber; }
set { twnumber = value; }
}
 
public string Mail
{
get { return wmail; }
set { wmail = value; }
}
}
 
[Serializable]
public class Food
{
int id;
string name;
string ingr;
int price;
int kol;
public int ID
{
get { return id; }
set { id = value; }
}
 
public int Kol
{
get { return kol; }
set { kol = value; }
}
 
public string Name
{
get { return name; }
set { name = value; }
}
 
public string Ingr
{
get { return ingr; }
set { ingr = value; }
}
 
public int Price
{
get { return price; }
set { price = value; }
}
}
[Serializable]
public class Sale : Worker
{
Food foodsale;
DateTime date;
Worker worker;
int kolv;
 
public Food Food
{
get { return foodsale; }
set { foodsale = value; }
}
 
public DateTime Date
{
get { return date; }
set { date = value; }
}
 
public Worker Worker
{
get { return worker; }
set { worker = value; }
}
 
public int Kolv
{
get { return kolv; }
set { kolv = value; }
}
 
public Sale()
{
 
foodsale = new Food();
date = new DateTime();
worker = new Worker();
}
 
 
public Sale(Food Food, DateTime Date, Worker Worker)
{
foodsale = Food;
date = Date;
worker = Worker;
}
}
 
public class Check
{
private List<Sale> sales = new List<Sale>();
private DateTime printTime;
private double cost=0;
private string printText="";
 
public DateTime PrintTime
{
get { return printTime; }
}
public string PrintText
{
get { return printText; }
}
public Check( IEnumerable<Sale> newSales)
{
sales.AddRange(newSales);
foreach (Sale sale in sales)
{
cost += sale.Food.Price*sale.Kolv;
}
}
public Check(Sale newSale)
{
sales.Add(newSale);
cost += newSale.Food.Price*newSale.Kolv;
}
public void AddSale(IEnumerable<Sale> newSales)
{
sales.AddRange(newSales);
foreach (Sale sale in sales)
{
cost += sale.Food.Price * sale.Kolv;
}
}
public void AddSale(Sale newSale)
{
sales.Add(newSale);
cost += newSale.Food.Price * newSale.Kolv;
}
 
public double Cost
{
get { return cost; }
}
 
public string PrintCheck()
{
int temp=0;
printTime = DateTime.Now;
StringBuilder checkText = new StringBuilder();
checkText.AppendLine("*** Кафе ***");
checkText.AppendLine("Заказы :");
foreach (Sale sale in sales)
{
temp++;
checkText.AppendLine(String.Format("{0}: {1} - {2}*{3} = {4} этот заказ обслуживал {5} {6}", temp, sale.Food.Name,
sale.Food.Price, sale.Kolv, sale.Food.Price*sale.Kolv,sale.Worker.Name,sale.Worker.Surname));
}
checkText.AppendLine(string.Format("Итоговая стоимость {0}", cost));
checkText.AppendLine(string.Format("{0}",printTime));
checkText.AppendLine("***Спасибо за покупку****");
printText = checkText.ToString();
return checkText.ToString();
}
}
#endregion
}
Вообще хз что делать, кучу всего перепробовал и те советы которые тут были также испытывал.
Используемая среда - SharpDevelop
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2019, 20:04
Ответы с готовыми решениями:

Программа не содержит статический метод "Main", подходящий для точки входа (CS5001)
Доброго времени суток.Есть проблема.Установил программу SharpDevelop,но оно не собирает решения,ругается на 0 строку и выдаёт,что...

Программа не содержит статический метод "Main", подходящий для точки входа (CS5001)
Доброй ночи)):drink: Помогите, пожалуйста, исправить ошибку.Программа не содержит статического метода &quot;Main&quot;, подходящего для...

Программа не содержит статический метод "Main", подходящий для точки входа (CS5001) Как исправить подскажите пожалуйста
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace...

21
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
22.04.2019, 20:18
Цитата Сообщение от Cybbber27 Посмотреть сообщение
Вообще хз что делать, кучу всего перепробовал
А статический метод Main не пробовали где-нибудь создать?
0
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
22.04.2019, 20:22  [ТС]
Да, это первым делом попробовал
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
22.04.2019, 20:25
Цитата Сообщение от Cybbber27 Посмотреть сообщение
это первым делом попробовал
В выложенном коде его нет.
0
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
22.04.2019, 20:25  [ТС]
kolorotur, Потому что он не сработал
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
22.04.2019, 20:26
Цитата Сообщение от Cybbber27 Посмотреть сообщение
Потому что он не сработал
Так и выложенный код тоже не срабатывает

Покажите тот, который с Main не сработал.
0
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
23.04.2019, 10:59  [ТС]
kolorotur, Наверное я не правильно созданию этот метод, покажите пожалуйста, пример создания статического метода
0
454 / 278 / 163
Регистрация: 17.04.2019
Сообщений: 1,637
23.04.2019, 11:09
Cybbber27,
C#
1
2
3
4
public static void Main(string[] args)
{
    //какой-то код
}
1
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
23.04.2019, 11:48  [ТС]
ProgItEasy, Не выводит чего-то решение

Добавлено через 13 минут
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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
 
namespace KR
{
 
public class LoadAndSave
{
 
#region Метод LoadXML - загрузка данных из файла
 
public static ListShop LoadXML(string filename, ListShop listshop)
{
XmlSerializer Serializer = new XmlSerializer(typeof(ListShop));
 
try
{
using (StreamReader reader = new StreamReader(filename))
{
listshop = (ListShop)Serializer.Deserialize(reader);
}
}
catch (FileNotFoundException)
{
string newXML = @"<?xml version=""1.0"" encoding=""utf-8""?>" + '\n' + @"<ListKafe xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">" + '\n' + "<AllKafe />" + '\n' + "</ListKafe>";
 
using (StreamWriter writer = new StreamWriter(filename))
{
writer.Write(newXML);
}
}
return listshop;
}
#endregion
 
#region Save - сохранение экземляра класса Shop в файл
public static bool Save(ListShop listshop, string filename)
{
 
XmlSerializer sr = new XmlSerializer(listshop.GetType());
StringBuilder sb = new StringBuilder();
StreamWriter SW = new StreamWriter(filename);
 
sr.Serialize(SW, listshop);
SW.Close();
return true;
}
#endregion
}
public interface IFIOtoString
{
string FIOtoString();
}
 
#region классы (кафе, сотрудник,блюдо, заказ и др.) и интерфейсы
 
public class ListShop
{
public List<Worker> AllWorker = new List<Worker>();
public List<Food> AllFood = new List<Food>();
public List<Sale> AllSale = new List<Sale>();
public List<Check> AllCheck = new List<Check>();
}
 
public class Man
{
string name;
string surname;
string ot;
 
public string Name
{
get { return name; }
set { name = value; }
}
 
public string Ot
{
get { return ot; }
set { ot = value; }
}
public string Surname
{
get { return surname; }
set { surname = value; }
}
 
public Man()
{
name = "";
surname = "";
ot = "";
 
}
 
public Man(string Name, string Surname, string Ot)
{
name = Name;
surname = Surname;
ot = Ot;
}
}
 
[Serializable]
public class Worker : Man, IFIOtoString
{
DateTime ustrdate;
string twnumber;
string wmail;
public DateTime Ustrdate
{
get { return ustrdate; }
set { ustrdate = value; }
}
 
public string Twnumber
{
get { return twnumber; }
set { twnumber = value; }
}
 
public string Mail
{
get { return wmail; }
set { wmail = value; }
}
 
public string FIOtoString()
{
return Name + " " + Ot + " " + Surname;
}
}
 
[Serializable]
public class Food
{
int id;
string name;
string ingr;
int price;
int kol;
public int ID
{
get { return id; }
set { id = value; }
}
 
public int Kol
{
get { return kol; }
set { kol = value; }
}
 
public string Name
{
get { return name; }
set { name = value; }
}
 
public string Ingr
{
get { return ingr; }
set { ingr = value; }
}
 
public int Price
{
get { return price; }
set { price = value; }
}
}
[Serializable]
public class Sale : Worker, IFIOtoString
{
Food foodsale;
DateTime date;
Worker worker;
int kolv;
 
public Food Food
{
get { return foodsale; }
set { foodsale = value; }
}
 
public DateTime Date
{
get { return date; }
set { date = value; }
}
 
public Worker Worker
{
get { return worker; }
set { worker = value; }
}
 
public int Kolv
{
get { return kolv; }
set { kolv = value; }
}
 
public Sale()
{
 
foodsale = new Food();
date = new DateTime();
worker = new Worker();
}
 
 
public Sale(Food Food, DateTime Date, Worker Worker)
{
foodsale = Food;
date = Date;
worker = Worker;
}
}
 
public class Check
{
private List<Sale> sales = new List<Sale>();
private DateTime printTime;
private double cost=0;
private string printText="";
 
public DateTime PrintTime
{
get { return printTime; }
}
public string PrintText
{
get { return printText; }
}
public Check( IEnumerable<Sale> newSales)
{
sales.AddRange(newSales);
foreach (Sale sale in sales)
{
cost += sale.Food.Price*sale.Kolv;
}
}
public Check(Sale newSale)
{
sales.Add(newSale);
cost += newSale.Food.Price*newSale.Kolv;
}
public static void Main(string[] args)
{
    //какой-то код
}
public void AddSale(IEnumerable<Sale> newSales)
{
sales.AddRange(newSales);
foreach (Sale sale in sales)
{
cost += sale.Food.Price * sale.Kolv;
}
}
public void AddSale(Sale newSale)
{
sales.Add(newSale);
cost += newSale.Food.Price * newSale.Kolv;
}
 
public double Cost
{
get { return cost; }
}
 
public string PrintCheck()
{
int temp=0;
printTime = DateTime.Now;
StringBuilder checkText = new StringBuilder();
checkText.AppendLine("*** Кафе ***");
checkText.AppendLine("Заказы :");
foreach (Sale sale in sales)
{
temp++;
checkText.AppendLine(String.Format("{0}: {1} - {2}*{3} = {4} этот заказ обслуживал {5} {6}", temp, sale.Food.Name,
sale.Food.Price, sale.Kolv, sale.Food.Price*sale.Kolv,sale.Worker.Name,sale.Worker.Surname));
}
checkText.AppendLine(string.Format("Итоговая стоимость {0}", cost));
checkText.AppendLine(string.Format("{0}",printTime));
checkText.AppendLine("***Спасибо за покупку****");
printText = checkText.ToString();
return checkText.ToString();
}
}
#endregion
}

Запускается все, а потом решения на консоль по-просту не выводит
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,306
23.04.2019, 11:56
Цитата Сообщение от Cybbber27 Посмотреть сообщение
Запускается все, а потом решения на консоль по-просту не выводит
А с чего в консоль что-то должно выводиться? Где подобное в вашем коде?

C#
1
2
3
4
public static void Main(string[] args)
{
    //какой-то код
}
Строка "какой-то код" это должна за вас сделать?
0
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
23.04.2019, 12:06  [ТС]
Извините за непонимание, это первый код по C#, после Hello World, который мне дали разобрать
0
454 / 278 / 163
Регистрация: 17.04.2019
Сообщений: 1,637
23.04.2019, 12:09
Cybbber27, а где Main? Как раз в Main вы должны делать вызов методов и вывод результатов.
0
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
23.04.2019, 13:01  [ТС]
Не знаю, то наверное точно неправильно
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    public static void Main(string[] args)
{
int temp=0;
printTime = DateTime.Now;
StringBuilder checkText = new StringBuilder();
checkText.AppendLine("*** Кафе ***");
checkText.AppendLine("Заказы :");
foreach (Sale sale in sales)
{
temp++;
checkText.AppendLine(String.Format("{0}: {1} - {2}*{3} = {4} этот заказ обслуживал {5} {6}", temp, sale.Food.Name,
sale.Food.Price, sale.Kolv, sale.Food.Price*sale.Kolv,sale.Worker.Name,sale.Worker.Surname));
}
checkText.AppendLine(string.Format("Итоговая стоимость {0}", cost));
checkText.AppendLine(string.Format("{0}",printTime));
checkText.AppendLine("***Спасибо за покупку****");
    }
printText = checkText.ToString();
return checkText.ToString();
}
#endregion
}
Добавлено через 47 минут
ProgItEasy, Помогите пожалуйста, трудно доходить до меня
0
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
23.04.2019, 14:22  [ТС]
Вот такой результат:
Миниатюры
Программа не содержит статический метод "Main", подходящий для точки входа (CS5001)  
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
23.04.2019, 14:35
Cybbber27,
C#
1
public static String printCheck(String[] args)
1
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
23.04.2019, 14:39  [ТС]
Вот
Миниатюры
Программа не содержит статический метод "Main", подходящий для точки входа (CS5001)  
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
23.04.2019, 14:57
Cybbber27, уберите статик как с main так и с данного метода. Вам же написаны ошибки.
0
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
23.04.2019, 15:00  [ТС]
Andreyip, Тогда вылезает ошибка - Программа не содержит статический метод "Main", подходящий для точки входа (CS5001)
0
454 / 278 / 163
Регистрация: 17.04.2019
Сообщений: 1,637
23.04.2019, 15:19
Cybbber27, есть файл, откуда данные считываются?
0
0 / 0 / 0
Регистрация: 01.06.2017
Сообщений: 132
23.04.2019, 16:14  [ТС]
ProgItEasy,Я понимаю, что в главном методе я должен вызвать решение и оно выйдет на консоль

Добавлено через 24 секунды
Какие данные?

Добавлено через 49 минут
Неужели никто не знает как это все решить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2019, 16:14
Помогаю со студенческими работами здесь

«Программа не содержит статический метод« Main », подходящий для точки входа»
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace...

Программа не содержит статический метод "Main", подходящий для точки входа
Рыл форум, пробывал что-то сделать, не вышло, прошу помочь. Выбрасывает 2 ошибки: Программа не содержит статический метод...

Программа не содержит статический метод "Main", подходящий для точки входа
Помогите не пойму где ошибка using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OOP...

Приложение не содержит статический метод "Main", подходящий для точки входа
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ip_ca { class iputils ...

Ошибка CS5001 Программа не содержит статический метод «Main» для Backup
using System; using System.IO; using System.Threading; using System.Collections.Generic; namespace First { class Unit2 ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru