Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 7
1

Описать запись с именем ZNAK

12.05.2011, 03:05. Показов 2284. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написала программу на СИ++, помогите (если есть время у кого-нибудь) перевести на СИ!!..В пятницу сдавать,не могу доделать...+если можете,помогите оформить в виде меню..
Вот программа на СИ++ и задание


Описать запись с именем ZNAK, содержащую следующие поля:
– фамилия, имя;
– знак Зодиака;
– дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из восьми элементов типа
ZNAK;
– вывод таблицы на экран;
– записи упорядочить по датам рождения;
– вывод отсортированной таблицы на экран;
– вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
– если такого нет, выдать на дисплей соответствующее сообщение.
+Оформить в виде меню


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
/*
1. Структура с именем ZNAK содержит следующие поля:
-   фамилия и инициалы;
-   знак зодиака;
-   день рождения (массив из трех чисел).
2. Условие поиска – вывод на экран информации о людях,
родившихся под знаком, наименование которого введено с клавиатуры.
*/
 
#include <iostream.h>
#include <iomanip.h>
#include <string.h>
#include <conio.h>
 
#define FAMN 26//Количество символов в массиве, содержащем фамилию
#define H 15//Количество человек в массиве
#define ZDK 9//Количество символов в массиве, содержащем знак зодиака
 
//Описание структуры ZNAK
struct ZNAK
{
  char familia[FAMN],fio[4],zodiak[ZDK];
  int birth[3];
};
 
// прототипы функций
void input ( ZNAK [H] );//Функция ввода в массив записей типа ZNAK
void output ( ZNAK [H] );//Функция для вывода из массива всех записей типа ZNAK
ZNAK inputzap ();//Функция ввода одной записи типа ZNAK
void outputzap ( ZNAK );//Функция вывода одной записи типа ZNAK
void tabl();//Вспомогательная таблица
void poisk ( ZNAK [H] );//Поиск значений, удовлетворяющих условию
 
 
void main(){
    ZNAK z[H];
    clrscr();
    input(z);
    clrscr();
    output(z);
    poisk(z);
}
 
// определение функции ввода в массив объектов
void input( ZNAK x[H])
{
  int i;
  cout << "Ввод информации в массив объектов:\n";
  for (i=0; i<H; i++)
    x[i]=inputzap();
}
 
// определение функции ввода одной записи
ZNAK inputzap()
{
  ZNAK z;
  cout << "Введите фамилию: ";
  cin.seekg(0L, ios::end);
  cin.get(z.familia,FAMN-1,'\n');
  cout << "Введите инициалы: ";
  cin.seekg(0L, ios::end);
  cin.get(z.fio,3,'\n');
  cout << "Введите день рождения('год месяц день'): ";
  cin.seekg(0L, ios::end);
  cin >> z.birth[0] >> z.birth[1] >> z.birth[2];
  //Знак зодиака определяется автоматически по дню рождения,
  //хотя можно и спрашивать пользователя о нём, не определяя автоматически
  switch (z.birth[1]) {
    case 1:if (z.birth[2]<=20) strcpy(z.zodiak,"Козерог");
           else strcpy(z.zodiak,"Водолей");
           break;
    case 2:if (z.birth[2]<=18) strcpy(z.zodiak,"Водолей");
           else strcpy(z.zodiak,"Рыбы");
           break;
    case 3:if (z.birth[2]<=20) strcpy(z.zodiak,"Рыбы");
           else strcpy(z.zodiak,"Овен");
           break;
    case 4:if (z.birth[2]<=20) strcpy(z.zodiak,"Овен");
           else strcpy(z.zodiak,"Телец");
           break;
    case 5:if (z.birth[2]<=21) strcpy(z.zodiak,"Телец");
           else strcpy(z.zodiak,"Близнецы");
           break;
    case 6:if (z.birth[2]<=21) strcpy(z.zodiak,"Близнецы");
           else strcpy(z.zodiak,"Рак");
           break;
    case 7:if (z.birth[2]<=22) strcpy(z.zodiak,"Рак");
           else strcpy(z.zodiak,"Лев");
           break;
    case 8:if (z.birth[2]<=23) strcpy(z.zodiak,"Лев");
           else strcpy(z.zodiak,"Дева");
           break;
    case 9:if (z.birth[2]<=23) strcpy(z.zodiak,"Дева");
           else strcpy(z.zodiak,"Весы");
           break;
    case 10:if (z.birth[2]<=23) strcpy(z.zodiak,"Весы");
            else strcpy(z.zodiak,"Скорпион");
            break;
    case 11:if (z.birth[2]<=22) strcpy(z.zodiak,"Скорпион");
            else strcpy(z.zodiak,"Стрелец");
            break;
    case 12:if (z.birth[2]<=21) strcpy(z.zodiak,"Стрелец");
            else strcpy(z.zodiak,"Козерог");
            break;
  }
  return z;
}
 
// определение функции вывода всей информации на экран
void output ( ZNAK x[H] )
{
  int i;
  cout << "Вывод информации о всех людях:\n";
  tabl();
  for (i=0; i<H; i++)
    outputzap(x[i]);
  cout << "------------------------------------------------------------\n";
}
 
 
// определение функции вывода одной записи на экран
void outputzap (ZNAK z)
{
    cout << z.familia<< "(" << z.fio << ")" <<setw(20-strlen(z.familia))<<"|"<<
        z.birth[0] << "-" << z.birth[1] << "-" << z.birth[2]<< "|"
        << z.zodiak << endl;
}
 
void tabl()
{
  cout << "-------------------------------------------------------------------------------\n";
  cout << "|      Фамилия(ФИО)       |ГГГГ-ММ-ДД|Знак зодиака\n";
  cout << "|-------------------------|----------|-----------------------------------------|\n";
}
 
// определение функции вывода на экран информации,
// отвечающей условию поиска
void poisk ( ZNAK x[H] )
{
  int i;
  char ZN[ZDK];
  cout << "Введите знак зодиака:";
  cin.seekg(0L, ios::end);
  cin.get(ZN,ZDK-1,'\n');
 
  cout << "Вывод информации о людях с этим знаком зодиака:\n";
  tabl();
  for (i=0; i<H; i++)
      if (strcmp(x[i].zodiak,ZN)==0)
          //Знак зодиака такой же, какой указал пользователь,
          //можно выводить информацию об этом i-ом человеке
             outputzap(x[i]);
  cout << "------------------------------------------------------------\n";
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2011, 03:05
Ответы с готовыми решениями:

Описать структуру с именем ZNAK
вот код программы всё работает, тут ввод с клавиатуры а нужно чтобы из файла Добавлено через 32...

Описать структуру с именем ZNAK
Добрый вечер. Прошу помощи с программой: Описать структуру с именем ZNAK, содержащую следующие...

Описать структуру с именем ZNAK
Дорогие программисты здравствуйте ,я в отчаянии , который день я ломаю голову как же построить код...

Описать структуру с именем ZNAK
Кто нибудь может написать такую задачу? Описать структуру с именем ZNAK, содержащую следующие...

13
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
12.05.2011, 03:13 2
Цитата Сообщение от Margo93 Посмотреть сообщение
Написала программу на СИ++, помогите (если есть время у кого-нибудь) перевести на СИ!!
сестра - это твой брат
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 7
12.05.2011, 03:18  [ТС] 3
Да,задание схоже в принципе,но всё равно ошибки...+меню=(
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
12.05.2011, 03:27 4
Цитата Сообщение от Margo93 Посмотреть сообщение
+меню=(
принцип построения меню
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
bool flag = true; //флаг выхода
int ans; //ответ пользователя
do
{
    //очищаем экран
    //выводим все пункты меню
    //предлагаем пользователю выбрать пункт меню, записываем выбраный пункт в ans
    switch(ans)
     {
         case 1:
               //исполняем код 1-го пункта
               break;
         case 2:
               //исполняем код 2-го пункта
               break;
         case 3:
             //исполняем код 3-го пункта           
               break;
         case 4:
             //исполняем код 4-го пункта        
                break;
         case 5: //выход
                flag = false;
                break;
        }
} while (flag);
1
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 7
12.05.2011, 19:14  [ТС] 5
Maxwe11,спасибо!

Добавлено через 15 часов 44 минуты
подскажите пожалуйста,как заменить вот эту строку из СИ++ на СИ : cin.seekg(0L, ios::end)
совсем запуталась
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 7
12.05.2011, 20:48  [ТС] 6
Ребята,помогите пожалуйста исправить ошибки!Переделывала программу с Паскаля написанного,запуталась...Завтра сдавать!( Заранее огромное спасибо!


Описать запись с именем ZNAK, содержащую следующие поля:
– фамилия, имя;
– знак Зодиака;
– дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из восьми элементов типа
ZNAK;
– вывод таблицы на экран;
– записи упорядочить по датам рождения;
– вывод отсортированной таблицы на экран;
– вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
– если такого нет, выдать на дисплей соответствующее сообщение. +еще меню


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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define N 8
struct znak
{
char name[30];
char zodiak[100];
int bday[30];
};
struct znak note[N];
 
void input(void)
{
for (int i=0; i<N;i++)
{
puts("Vvedite familiyu");
scanf("%s",&note[i].name);
puts("Vvedite znak");
scanf("%d",&note[i].zodiak);
puts("Vvedite den' rozdenya v formate DD MM GGGG");
scanf("%d %d %d",&note[i].bday[0],&note[i].bday[1],&note[i].bday[2]);
system("cls");
}
}
void output(void)
{
puts("|---------------------|-----------|---------------|");
puts("|       Familiya      |  Zodiak   |Den' rozhdeniya|");
puts("|---------------------|-----------|---------------|");
for (int i=0; i<N;i++)
printf("|%21s|%11d|%2d.%2d.%4d |\n",note[i].name,note[i].zodiak,note[i].bday[0],note[i].bday[1],note[i].bday[2]);
printf("|-------------------------------------------------|\n");
}
void sort(void)
begin
 
  for j:=1 to N-1 do
    for i:=1 to N-j do
     if(m[i].bday[2]) > (m[i+1].bday[2]) then
     begin
      m[i]=buf[i];
      buf[i]=buf[i+1];
      buf[i+1]=m[i];
     end;
 
   for j:=1 to N-1 do
    for i:=1 to N-j do
     if (m[i].bday[2])=(m[i+1].bday[2]) then
      if (m[i].bday[1]) > (m[i+1].bday[1]) then
     begin
      buf[1]:=m[i];
      m[i]:=m[i+1];
      m[i+1]:=buf[1]
     end;
 
   for j:=1 to N-1 do
    for i:=1 to N-j do
     if (m[i].bday[2])=(m[i+1].bday[2]) then
      if (m[i].bday[1]) = (m[i+1].bday[1]) then
       if (m[i].bday[0]) > (m[i+1].bday[0]) then
     begin
      buf[1]:=m[i];
      m[i]:=m[i+1];
      m[i+1]:=buf[1]
     end;
end
 
 
void search()
{
puts("VVedite familiyu");
 
 scanf(name);
  for i:=1 to k do
   if m[i].name=fam then
    begin
     puts("Фамилия:',m[i].f:14,'  ');
     puts("Знак зодиака:',m[i].zodiak:14,' ');
     puts("Дата рождения:");
      for j:=1 to 3 do
       printf(m[i].bday[j],'.');
    end
  else
   puts("Неверно");
 
end;
 
 
void main()
{
    int i;
    struct znak
input();
puts("Ishodnaya tablica");
output();
puts("Vyberete deystvie");
puts("1 - sortirovka");
puts("2 - poisk");
int i=0;
scanf("%d", &i);
switch(i)
{
case 1:sort();puts("otsortirivannaya");output();break;
case 2:search();
}
fflush(stdin);
char c=getchar();
}
 Комментарий модератора 
Не надо дублировать темы!
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.05.2011, 20:52 7
Надо:
C++
1
2
scanf("%s",note[i].name);
scanf("%d",note[i].zodiak);
1
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 7
12.05.2011, 21:00  [ТС] 8
проблема в том,что при компиляции множество ошибок,глаза разбегаются,не могу никак от Паскаля отвыкнуть...по ходу исправляю , но не справляюсь все равно(
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.05.2011, 21:02 9
Margo93, сделайте полностью, потом мы исправим ошибки.

Добавлено через 1 минуту
Кстати неправильно я написал. Надо:
C++
1
scanf("%s",note[i].zodiak);
Почему bday состоит из 20 элементов, если используются только 3?
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
12.05.2011, 21:12 10
Да тут ошибок вагон.
:=
if ( = ) then
и т.д.
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 7
12.05.2011, 21:14  [ТС] 11
пока вот..
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
 #include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define N 8
struct znak
{
char name[30];
char zodiak[100];
int bday[3];
};
struct znak note[N];
 
void input(void)
{
for (int i=0; i<N;i++)
{
puts("Vvedite familiyu");
scanf("%s",note[i].name);
puts("Vvedite znak");
scanf("%s",note[i].zodiak);
puts("Vvedite den' rozdenya v formate DD MM GGGG");
scanf("%d %d %d",&note[i].bday[0],&note[i].bday[1],&note[i].bday[2]);
system("cls");
}
}
void output(void)
{
puts("|---------------------|-----------|---------------|");
puts("|       Familiya      |  Zodiak   |Den' rozhdeniya|");
puts("|---------------------|-----------|---------------|");
for (int i=0; i<N;i++)
printf("|%21s|%11d|%2d.%2d.%4d |\n",note[i].name,note[i].zodiak,note[i].bday[0],note[i].bday[1],note[i].bday[2]);
printf("|-------------------------------------------------|\n");
}
void sort(void)
{
    {
  for j=1 to N-1 do
    for i=1 to N-j do
     if(m[i].bday[2]) > (m[i+1].bday[2]) then
     
      m[i]=buf[i];
      buf[i]=buf[i+1];
      buf[i+1]=m[i];
    }
 
    {for j=1 to N-1 do
    for i=1 to N-j do
     if (m[i].bday[2])=(m[i+1].bday[2]) then
      if (m[i].bday[1]) > (m[i+1].bday[1]) then
    }
    {
      buf[1]=m[i];
      m[i]=m[i+1];
      m[i+1]=buf[1];
    }
    {
   for j=1 to N-1 do
    for i=1 to N-j do
     if (m[i].bday[2])==(m[i+1].bday[2]) then
      if (m[i].bday[1]) == (m[i+1].bday[1]) then
       if (m[i].bday[0]) > (m[i+1].bday[0]) then
    }      
       {
      buf[1]=m[i];
      m[i]=m[i+1];
      m[i+1]=buf[1];
     }
}
}
 
void search()
puts("VVedite familiyu");
 
 scanf(name);
  for i=1 to k do
   if m[i].name==fam then
   {
     puts("Фамилия:',m[i].f:14,'  ');
     puts("Знак зодиака:',m[i].zodiak:14,' ');
     puts("Дата рождения:");
      for j=1 to 3 do
       printf(m[i].bday[j],'.');
   }
  else
   puts("Неверно");
 
}
 
 
void main()
{
    int i,j;
    struct znak
input();
puts("Ishodnaya tablica");
output();
puts("Vyberete deystvie");
puts("1 - sortirovka");
puts("2 - poisk");
int i=0;
scanf("%d", &i);
switch(i)
{
case 1:sort();
    puts("otsortirivannaya");
    output();
    break;
case 2:search();
}
fflush(stdin);
char c=getchar();
return 0;
}
продолжаю исправлять...
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.05.2011, 21:16 12
Margo93, в си массивы индексируются с нуля, а не с единицы.
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
12.05.2011, 21:18 13
Цитата Сообщение от Margo93 Посмотреть сообщение
C
1
puts("Фамилия:',m[i].f:14,' ');
После неправильной кавычки даже здесь форматирование сбилось
1
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 7
12.05.2011, 23:25  [ТС] 14
mimicria,спасибо,я исправила это..описалась.
Ребята,исправьте кто-нибудь пожалуйста до конца,голова уже кругом едет,всю ночь перед учебой сидела писала Паскаль и на СИ пыталась переделать...

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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define N 8
struct znak
{
char name[30];
char zodiak[100];
int bday[3];
};
struct znak note[N];
 
void input(void)
{
for (int i=0; i<N;i++)
{
puts("Vvedite familiyu");
scanf("%s",note[i].name);
puts("Vvedite znak");
scanf("%s",note[i].zodiak);
puts("Vvedite den' rozdenya v formate DD MM GGGG");
scanf("%d %d %d",&note[i].bday[0],&note[i].bday[1],&note[i].bday[2]);
system("cls");
}
}
void output(void)
{
puts("|---------------------|-----------|---------------|");
puts("|       Familiya      |  Zodiak   |Den' rozhdeniya|");
puts("|---------------------|-----------|---------------|");
for (int i=0; i<N;i++)
printf("|%21s|%11d|%2d.%2d.%4d |\n",note[i].name,note[i].zodiak,note[i].bday[0],note[i].bday[1],note[i].bday[2]);
printf("|-------------------------------------------------|\n");
}
void sort(void)
{
    {
  for j=1 to N-1 do
    for i=1 to N-j do
     if(m[i].bday[2]) > (m[i+1].bday[2]) then
     
      m[i]=buf[i];
      buf[i]=buf[i+1];
      buf[i+1]=m[i];
    }
 
    {for j=1 to N-1 do
    for i=1 to N-j do
     if (m[i].bday[2])=(m[i+1].bday[2]) then
      if (m[i].bday[1]) > (m[i+1].bday[1]) then
    }
    {
      buf[1]=m[i];
      m[i]=m[i+1];
      m[i+1]=buf[1];
    }
    {
   for j=1 to N-1 do
    for i=1 to N-j do
     if (m[i].bday[2])==(m[i+1].bday[2]) then
      if (m[i].bday[1]) == (m[i+1].bday[1]) then
       if (m[i].bday[0]) > (m[i+1].bday[0]) then
    }      
       {
      buf[1]=m[i];
      m[i]=m[i+1];
      m[i+1]=buf[1];
     }
}
}
 
void search()
puts("VVedite familiyu");
 
 scanf(name);
  for i=1 to k do
   if m[i].name==fam then
   {
     puts("Фамилия:",m[i].f:14,'  ');
     puts("Знак зодиака:",m[i].zodiak:14,' ');
     puts("Дата рождения:");
      for j=1 to 3 do
       printf(m[i].bday[j],'.');
   }
  else
   puts("Неверно");
 
}
}
 
 
void main()
{
    int i,j;
    struct znak
input();
puts("Ishodnaya tablica");
output();
puts("Vyberete deystvie");
puts("1 - sortirovka");
puts("2 - poisk");
int i=0;
scanf("%d", &i);
switch(i)
{
case 1:sort();
    puts("otsortirivannaya");
    output();
    break;
case 2:search();
}
fflush(stdin);
char c=getchar();
return 0;
}
Добавлено через 45 минут
Помогите пожалуйста хоть кто-нибудь...=(очень прошу...

Добавлено через 1 час 3 минуты
Помогите пожалуйста...=(
0
12.05.2011, 23:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2011, 23:25
Помогаю со студенческими работами здесь

Описать структуру с именем ZNAK
Прошу Вас помочь в написании программы, вообще не понимаю. Описать структуру с именем ZNAK,...

Описать структуру с именем ZNAK
Описать структуру с именем ZNAK, содержащую следущие поля:NAME - фамилия, имя; ZODIAC - знак...

Описать структуру с именем ZNAK
Описать структуру с именем ZNAK, содержащую следующие поля: фамилия, имя, знак зодиака, дата...

Описать структуру с именем ZNAK
описать структуру с именем ZNAK содержащие следующие поля фамилия,имя знак зодиака дата рождения...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru