Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
5 / 5 / 4
Регистрация: 07.01.2013
Сообщений: 35

Некоторые программы, которые сама написала

15.06.2013, 15:09. Показов 882. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Было у меня задание написать класс, в котором нужно перевести градусы в радианы. Прога ниже.
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
#include<iostream>
#include<conio.h>
using namespace std;
double pi=3.14159265;
class gradus
{double m;
public:gradus(double a)
       {m=a;}
       friend double perevod(gradus ob);
};
double perevod(gradus ob)
{double grad;
grad=(180*ob.m/pi);
cout<<ob.m<<" радиан(а) равно "<<grad<<" градусу(ам) \n";
return grad;}
int main()
{setlocale(LC_ALL,"Russian");
double y;
cout<<"Введите значение угла в радианах :\n";
cin>>y;
gradus ob1(y);
perevod (ob1);
system("pause");
return 0;}
Ещё надо было написать программу, которая реализовывала бы библиотечный каталог, в котором вводились автор, название книги, год издания книги, стоимость книги. Также в программе нужно было определить, какая книга стоит больше заданного числа (у меня 100) и общую стоимость всех книг в каталоге. Конечно, некоторые моменты не получились - у меня времени уже не хватило додумывать, к сожалению. Ниже сама программа.
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
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>            
#include <iterator>
#include <functional>
using namespace std;
short n;
class catalog
{  private:
    string *title;
    string *author;
    int *year;
    float *cost;
    public:
    catalog(string goo, string roo, int bd, float price)
    { title=new string(goo);
      author=new string(roo);
      year=new int(bd);
      cost=new float(price);}
    catalog()
    {title=new string();
      author=new string();
      year=new int();
      cost=new float();}
    void input()
    {cout<<endl<<"Название книги:"<<"\n";
    cin>>*title;
    cout<<"Автор книги:"<<"\n";
    cin>>*author;
    cout<<"Год издания:"<<"\n";
    cin>>*year;
    cout<<"Цена книги:"<<"\n";
    cin>>*cost;}
    float summ()
    {return *cost;}
    string *liab()
    {return title;}
    void output()
    {if (*cost>100) 
    cout<<"Книга стоит больше 100 гривен\n";
    else cout<<"Книга стоит меньше 100 гривен\n";}
    ~catalog()
    {delete title; title=NULL;
        delete author; author=NULL;
        delete year; year=NULL;
        delete cost; cost=NULL;} 
};
int main()
{setlocale(LC_ALL,"Russian");
float *sum = new float(0);
    string *lib;
    cout<<"Введите количество книг"<<"\n";
    cin>>n; 
   catalog *h = new catalog[n];
    for(int i=0;i<n;i++){
        h[i].input();
        *sum+=h[i].summ(); 
         h[i].output();
         if(h[i].summ()<=100)
        {lib = h[i].liab();}
    cout<< "Название книги: " << *lib<<"\n";};
    cout<<"\n";
    cout<<"Общще количество книг "<<n<<"\n";
    cout<<"Общая стоимость книг в каталоге - \n"<<*sum<<"\n";    
    delete []sum;
    delete []h;
    system("pause");
    return 0;}
Программа с перегруженными операциями сложения, вычитания и умножения комплексных чисел.
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
#include<iostream> 
using namespace std;
float a,b,c,d; 
float x,y;
class complex 
{float x,y;
public: 
complex() {x=0;y=0;}
complex(float i, float j) {x=i;y=j;}
void get_xy(float &i, float &j) {i=x; j=y;}
complex operator-(complex ob1);
complex operator+(complex ob1);
complex operator*(complex ob1);
};
 
complex complex::operator+(complex ob1) 
{complex temp; 
temp.x=x+ob1.x;
temp.y=y+ob1.y; 
return temp;}
 
complex complex::operator-(complex ob1)
{complex temp;
temp.x=x-ob1.x; 
temp.y=y-ob1.y;
return temp;}
 
complex complex::operator*(complex ob1)
{complex temp;  
temp.x=x*ob1.x+y*ob1.y;     
temp.y=ob1.x*y+x*ob1.y;
return temp;}
int main() 
{setlocale(LC_ALL,"Russian");
cout<<"Первые два числа"<<'\n';
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b; 
cout<<"Вторые два числа"<<'\n';
cout<<"c=";
cin>>c;
cout<<"d=";
cin>>d;
cout<<'\n';
complex ob2(a,b),ob3(c,d);
complex s,r,p;
s=ob2+ob3;
s.get_xy(x,y);
cout<<"Сумма: "<<x;
if (y!=0) cout<<"+("<<y<<")i"<<"\n"; 
r=ob2-ob3; 
r.get_xy(x,y);
cout<<"Разность: "<<x; 
if (y!=0) cout<<"+("<<y<<")i"<<"\n";  
p=ob2*ob3; 
p.get_xy(x,y);
cout<<"Умножение: "<<x;
if (y!=0) cout<<"+("<<y<<")i"<<"\n";
system("pause");
return 0;}
Программа с классом и конструктором с деструктором, где вводятся и выводятся данные о работниках, также есть проверка на то, что достиг ли работник пенсионного возраста или нет.
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
#include <iostream>
#include<malloc.h>
#include<string.h>
using namespace std;
int i;int *f; int *a; int *pr; int *g; int *p;
class Kadr 
{string fam;string adres; string prof;char pol;
   int god;
    public: Kadr()
            {cout<<"Работает конструктор\n";
            cout<<" Введите паспортные данные \n";
            string *f=new string[];
            cout<<" Введите фамилию \n"; cin>>fam;
            string *a=new string[];
            cout<<" Введите адрес \n"; cin>>adres;
            string *pr=new string[];
            cout<<" Введте профессию \n"; cin>>prof;
            int *g=new int[];
            cout<<" Введите год рождения \n"; cin>> god;
            char *p=new char[];
            cout<<" Введите пол \n"; cin>>pol;}
            ~Kadr() 
            {delete[]f;
            delete[]a;
            delete[]pr;
            delete[]g;
            delete[]p;}     
            void pensvoz ()
    { int tgod;
      int voz;
    cout<<" Введите текущий год \n"; cin>>tgod;
    voz=tgod-god;
    if (((pol='м')&&(voz>60))||((pol='ж')&&(voz>55)))
        cout<<" Работник достиг пенсионного возраста \n";
    else cout<<"Работник ещё не пенсионер\n";
    }
    void vyvod()
    {cout<<"Вывод паспортных данных\n";
    cout<<"Фамилия "<<fam<<"\n";
    cout<<"Адрес "<<adres; cout<<"\n";
    cout<<"Профессия "<<prof; cout<<"\n";
    cout<<"Год рождения"<<god;
    cout<<"\n";
    }   };
    int main ()
    { setlocale (LC_ALL, "Russian");
    Kadr ob1;
    ob1.vyvod();
    ob1.pensvoz();
    Kadr ob2;
    ob2.vyvod();
    ob2.pensvoz();
    Kadr ob3;
    ob3.vyvod();
    ob3.pensvoz();
    system ("pause");
    return 0;}
Программа с использованием родительского и дочернего класса, в которых надо ввести и вывести список студентов, их оценки, подсчитать средний балл по оценкам, удалить запись о каком-то студенте.
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
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 int k=0; float sum=0;
 int q=0; int i=0;
 int tt=0; int l;
class base
{public: string fio[25];
string data[25];float bal[25];
public:void vvod();
};
class doch:public base
{public :void count();
    void show();void udal();
};
void base::vvod()
{cout<<"Введите ФИО студента\n"; cin>>fio[i];
cout<<"Ведите год рождения\n"; cin>>data[i];
cout<<"Введите оценку\n";cin>>bal[i];
cout<<"\n";}
void doch::show()
{cout<<"ФИО студента - "<<fio[i]<<"\n";
cout<<"Год рождения - "<<data[i]<<"\n";
cout<<"Оценка - "<<bal[i]<<"\n";
cout<<"\n";}
void doch::count()
{sum=sum+bal[i];}
void doch::udal()       
{fio[l]='\0';
data[l]='\0';
bal[l]=0;}
int main() 
{setlocale (LC_ALL,"Russian");
 doch ob[10];
int punkt;
cout<<"Меню:"<<"\n";
cout<<"Добавить новую запись - (1)\n";
cout<<"Средний бал по сессии - (2)\n";
cout<<"Вывод содержимого на экран - (3)\n";
cout<<"Удалить запись - (4)\n";
cout<<"Отмена - (5)\n";
cout<<"\n";
cout<<"Введите пункт меню ";
cin>>punkt;
cout<<"\n";
while (punkt!=5)
{switch (punkt)
{case 1:
for(int i=0;i<10;i++)
ob[i].vvod(); break;
case 2:
for(int i=0;i<10;i++)
ob[i].count();
sum=sum/10 ;
cout<<"Средний балл по оценкам студентов = "<<sum<<"\n";break;
case 3:
cout<<"Список студентов \n";
for(int i=0;i<10;i++)
ob[i].show();break;
case 4:
int l;                      
cout<<"Удалить запись № \n";
cin>>l;
while (tt<l)
{tt++;} 
l--;
ob[l].udal();break;
default:cout<<"Вы ничего не выбрали. Приложение будет закрыто"<<"\n"; }
cout<<"Меню:\n";
cout<<"Создать новую запись - (1)\n";
cout<<"Средний балл по сессии - (2)\n";
cout<<"Вывод содержимого на экран - (3)\n";
cout<<"Удалить запись - (4)\n";
cout<<"Отмена - (5)\n";
cout<<"\n";
cout<<"Введите пункт меню ";
cin>>punkt;
cout<<"\n";}
system("pause");
return 0; }
Программа с использованием исключительных ситуаций, не скажу что всё верно получилось, потому что до конца не разобралась с использованием исключительных ситуаций.
Aeroflot: Пункт назначения, Номер рейса, Тип самолёта, Время вылеты, Дни недели. Создать массив объектов. Вывести:
а) список рейсов для заданного пункта назначения;
б) список рейсов для заданного дня недели;
в) список рейсов, время вылета для которых больше заданного.
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
#include <iostream> 
#include <conio.h> 
#include <fstream> 
#include <string> 
#include <stdio.h> 
using namespace std; 
int n=3; int i; 
struct Aeroflot{  
string punkt;
int nomer;
string tip;
int vremya;
string den;
friend ostream &operator<<(ostream &stream, Aeroflot reys){
stream<<"Номер рейса: "<<reys.nomer<<endl<<"Пункт назначения: "<<reys.punkt<<endl<<"Тип самолёта: "<<reys.tip<<endl<<"Время вылета: "<<reys.vremya<<endl<<"День недели: "<<reys.den<<endl;
return stream;}
friend istream &operator>>(istream &stream, Aeroflot &reys){
cout<<"Номер рейса: "; stream>>reys.nomer; 
cout<<"Пункт назначения: "; stream>>reys.punkt;
cout<<"Тип самолёта: "; stream>>reys.tip; 
cout<<"Время вылета: "; stream>>reys.vremya; 
cout<<"День недели: "; stream>>reys.den;
return stream;} 
void poisk_nedelya(string buf2)
{  bool k=false;
if (den==buf2) k=true;
if (k) cout<<"Номер рейса: "<<nomer<<"\n";
if (k) cout<<"Пункт назначения: "<<punkt<<"\n";
if (k) cout<<"Тип самолёта: "<<tip<<"\n";
if (k) cout<<"Время вылета: "<<vremya<<"\n";
if (k) cout<<"День недели: "<<den<<"\n";
};
void poisk_punkt(string buf1)
{  bool p=false;
if (punkt==buf1) p=true;
if (p) cout<<"Номер рейса: "<<nomer<<"\n";
if (p) cout<<"Пункт назначения: "<<punkt<<"\n";
if (p) cout<<"Тип самолёта: "<<tip<<"\n";
if (p) cout<<"Время вылета: "<<vremya<<"\n";
if (p) cout<<"День недели: "<<den<<"\n";
};
void poisk_vremya(int buf)
{ bool b=false;
if (vremya>buf) b=true;
if (b) cout<<"Номер рейса: "<<nomer<<"\n";
if (b) cout<<"Пункт назначения: "<<punkt<<"\n";
if (b) cout<<"Тип самолёта: "<<tip<<"\n";
if (b) cout<<"Время вылета: "<<vremya<<"\n";
if (b) cout<<"День недели: "<<den<<"\n";
};};
int main()
{ setlocale(LC_ALL,"Russian");
int i;
Aeroflot reys[3]; 
for(int i=0;i<n;i++)
cin>>reys[i]; 
cout<<"Вывод данных \n";
for(int i=0;i<n;i++)
cout<<reys[i]; 
try{
int buf;
cout<<"\nЗаданное время: "; cin>>buf;
cout<<"\nРейсы самолётов, время вылетов которых больше, чем "<<buf<<"\n";
for(i=0;i<3;i++)
reys[i].poisk_vremya(buf);
}
catch(int vremya)
{cout<<"Нет рейсов, больше заданного времени "<<vremya<<"\n";}
try{
string buf1;
cout<<"\nЗаданный пункт назначения: "; cin>>buf1; 
cout<<"\nРейсы самолётов, пункт назначения которых является "<<buf1<<"\n";
for(i=0;i<3;i++)
reys[i].poisk_punkt(buf1);
}
catch(string buf1)
{cout<<"Нет рейсов, которые вылетают в такой пункт назначения "<<buf1<<"\n";}
try{
string buf2;
cout<<"\nЗаданный день недели: "; cin>>buf2; 
cout<<"\nРейсы самолётов, вылетающие в день - "<<buf2<<"\n";
for(i=0;i<3;i++)
reys[i].poisk_nedelya(buf2);}
catch(string buf2)
{cout<<"Нет рейсов,вылетающие в такой день "<<buf2<<"\n";}
system("pause"); return 0;}
Добавлено через 3 минуты
Да, ещё

Добавлено через 1 минуту
вот недавно написала программу, которая запрашивает фамилии преподавателей, кол-во часов, почасовую ставку, затем выводит зарплату.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream> 
#include<string>
using namespace std;
 int main() {
     setlocale(LC_ALL,"Russian");
    int hours;
    int n; string fam;
     double stavka, zp;
     cout<<"Введите количество записей:";
    cin>>n;
        for (int i=0;i<n; i++) {
        cout<<"Введите фамилию преподавателя: ";
        cin>>fam;
        cout << "Введите количество часов: ";
        cin >> hours;
         if (hours != -1) {
         cout << "Введите почасовую ставку: ";
         cin >> stavka;
         zp = stavka * hours;                                 
         cout << "Зарплата равна: " << "grn" <<zp << "\n\n";        }
        else {             break;        }    }
    system("pause");    
    return 0;}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2013, 15:09
Ответы с готовыми решениями:

Мышь сама скроллит ползунки и некоторые окна при наведении
Доброго времени суток! Проснувшись сегодня обнаружил странную проблему. Из того что я заметил: 1)При наведении курсора мыши на...

Мышь сама скроллит ползунки и некоторые окна при наведении
Доброго времени суток! Проснувшись сегодня обнаружил странную проблему. Из того что я заметил: 1)При наведении курсора мыши на...

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

9
 Аватар для Expocooky
56 / 56 / 6
Регистрация: 06.06.2013
Сообщений: 112
15.06.2013, 15:37
Какая ты молодец!
0
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
15.06.2013, 15:39
ну молодец.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
15.06.2013, 15:49
Эх, если бы еще можно было прочесть нормально
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
15.06.2013, 15:52
Какая цель?
Помочь нуждающимся? В таком случае не помешало бы задуматься о качестве кода.
Хочется критики? Ну, для начала откройте для себя astyle (http://astyle.sourceforge.net/) и перестаньте называть сущности транслитом.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
15.06.2013, 15:56
Цитата Сообщение от 0x10 Посмотреть сообщение
и перестаньте называть сущности транслитом.

Не по теме:

Ты что, нерусский? Хочешь писать программы как тупые западные программисты?
Европа, *** её.

0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
15.06.2013, 15:59
Kuzia domovenok, как бы читать рядом английские названия встроенных функций и транслит от пользовательских переменных не ок. А любой нормальный программист обязан знать английский.
Для меня прочесть sobaka тяжелее, чем dog. Никто ведь не придирается к комментариям.

Комментарии на английском от российских разработчиков
1
5 / 5 / 4
Регистрация: 07.01.2013
Сообщений: 35
15.06.2013, 22:04  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
перестаньте называть сущности транслитом.
Вы знаете думать по-английски я настолько не научилась ещё - это во-первых, во-вторых, я открыла для себя C++ сравнительно недавно - во-вторых, поэтому я банально могу по незнанию непрофессионально называть сущности и т.д.
0
алкокодер
 Аватар для UnsKneD
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
15.06.2013, 23:06
Иридодикциум, практикуйтесь в этом, используйте словарь.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.06.2013, 02:19
Иридодикциум, на первом курсе я компенсировал это google.translate
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2013, 02:19
Помогаю со студенческими работами здесь

подолгу стали грузиться программы и сама ось
сильно стал тормозить комп,при включении и выключении,программы стали долго открываться Уважаемые вирусоборцы,спасите.что это...

Содержимое папки программы удаляется сама по себе
Добрый день, у метя возникла такая ситуация. Установил на свой стационарный компьютер windows server 2008, для удаленной работы, т.к....

После запуска программы она сразу сама закрывается!
Почитал на форуме пишут что нужен отчет программы Combofix.exe Я все сделал ComboFix 13-01-17.03 - Пк 2 17.01.2013 23:04:14.1.8...

При запуске программы, она сама прекращает работу
vs2017 .Net 4.5 есть класс Start using System.Diagnostics; using System; using System.Windows.Forms; using...

Сма LG M10B9SD1, Сама выключается, сама включается
Всем доброго дня. Привезли лыжу с дефектом : выключается и включается сама по себе. Т . е после простоя может запустится ,залить, покрутить...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru