Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Slavkan
11 / 11 / 1
Регистрация: 05.07.2013
Сообщений: 82
#1

Не получается нарисовать рамку в консоли - C#

29.07.2013, 18:42. Просмотров 1147. Ответов 5
Метки нет (Все метки)

Добрый день!
Мучаюсь, капаюсь и не получается нарисовать такую рамку в консоли, вот задние:
Не получается нарисовать рамку в консоли
Вот код который успел нарыть, для примера.
http://www.cyberforum.ru/csharp-beginners/thread970231.html
Может кто-то поможет...

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Task8_10
{
    class Program
    {
 
        static void Main(string[] args)
        {
            Console.Write('в•”');
            for (int index = 1; index != 79; index++)
                Console.Write('в•ђ');
            Console.Write('в•—');
            for (int index = 1; index != 49; index++)
            {
                Console.Write('в•‘');
                Console.CursorLeft = 79;
                Console.Write('в•‘');
            }
            Console.Write('в•љ');
            for (int index = 1; index != 79; index++)
                Console.Write('в•ђ');
            Console.Write('в•ќ');
            Console.ReadLine();
        }
    }
}
 Комментарий модератора 
Предупреждаю, в следующий за такое название темы выдам карточку.
Переименовано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2013, 18:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не получается нарисовать рамку в консоли (C#):

Нарисовать в консоли танк
Здравствуйте, помогите пожалуйста Описать три класса: 1) класс Танк - танк...

Нарисовать фигуры в консоли
1)Нарисовать пирамиду из n строк,которые вводятся с клавиатуры. ...

SystemParametersInfo не получается на консоли
Здраствуйте! Помогите мне пожалуйста! Мне нужно с помощью функции...

Как "нарисовать" рамку?
+------------+ | 9 12 15 18 | +------------+ Здравствуйте.Как получить такой...

Как нарисовать таблицу в консоли
Как делается таблица в С#?

5
Slavkan
11 / 11 / 1
Регистрация: 05.07.2013
Сообщений: 82
29.07.2013, 20:06  [ТС] #2
Цитата Сообщение от NickoTin
Предупреждаю, в следующий за такое название темы выдам карточку.
Переименовано.
Извините. вырвалось, больше не буду!
0
Psilon
Master of Orion
Эксперт .NET
5981 / 4834 / 901
Регистрация: 10.07.2011
Сообщений: 14,439
Записей в блоге: 5
Завершенные тесты: 4
29.07.2013, 21:43 #3
Курсор не причем, возитесь с форматамм вывода с фиксированной запятой.
0
Slavkan
11 / 11 / 1
Регистрация: 05.07.2013
Сообщений: 82
29.07.2013, 22:04  [ТС] #4
Вот сделал:

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Task8_10
{
    class Program
    {
 
        static void Main(string[] args)
        {
 
            Console.WriteLine("Как желаете заполнить?");
            Console.WriteLine("Цифра 1  = в столбик, цифра 2 = в строчку");
            int valMethod = Convert.ToInt32(Console.ReadLine());
 
            Console.Clear();
 
 
            Console.SetCursorPosition(1, 0);
            for (int index = 1; index != 22; index++)
            {
                Console.CursorLeft = 1;
                Console.WriteLine('|');
                if (index < 21)
                {
                    Console.CursorLeft = 19;
                    Console.Write('|');
                }
            }
 
 
 
 
            Console.SetCursorPosition(1, 0);
            for (int index = 1; index != 62; index++)
                Console.Write('-');
 
            Console.SetCursorPosition(35, 1);
 
            int valueRow = 0;
            for (int i = 0; i < 4; i++)
            {
                for (int index = 1; index != 20; index++)
                {
                    Console.SetCursorPosition(28 + valueRow, 1 + index);
                    Console.WriteLine('|');
                }
                valueRow += 8;
 
            }
 
            for (int index = 1; index != 20; index++)
            {
                Console.SetCursorPosition(29 + valueRow, 0 + index);
                Console.WriteLine('|');
            }
 
 
 
            Console.SetCursorPosition(20, 2);
            for (int index = 1; index != 43; index++)
                Console.Write('-');
 
            int value = 4;
            for (int i = 0; i < 9; i++)
            {
                Console.SetCursorPosition(1, value);
                for (int index = 1; index != 62; index++)
                    Console.Write('-');
                value += 2;
            }
 
            Console.SetCursorPosition(6, 2);
            Console.WriteLine("Спортсмен");
 
            Console.SetCursorPosition(25, 1);
            Console.WriteLine("Вид спорта");
 
 
            int value1 = 5;
            for (int i = 1; i < 9; i++)
            {
                Console.SetCursorPosition(6, value1);
                Console.WriteLine("{0}", i);
                value1 += 2;
            }
 
            int value2 = 2;
            for (int i = 1; i < 6; i++)
            {
                Console.SetCursorPosition(22 + value2, 3);
                Console.Write("{0}", i);
                value2 += 8;
            }
 
            if (valMethod == 1)
            {
                InputColumn();
            }
            else if (valMethod == 2)
            {
                InputRow();
            }
            else
            {
                Console.WriteLine("Вы ввели неправильное значение");
            }
 
 
            Console.ReadLine();
        }
 
 
        static void InputColumn()
        {
            int value3 = 0;
            int value4 = 5;
            for (int j = 0; j < 5; j++)
            {
 
                for (int i = 0; i < 8; i++)
                {
                    Console.SetCursorPosition(24 + value3, value4);
                    Console.ReadLine();
                    value4 += 2;
                }
                value4 = 5;
                value3 += 8;
            }
            Console.SetCursorPosition(5, 22);
            Console.WriteLine("Спасибо Alex за использование программы!");
        }
 
 
        static void InputRow()
        {
            int value3 = 0;
            int value4 = 5;
            for (int j = 0; j < 8; j++)
            {
 
                for (int i = 0; i < 5; i++)
                {
                    Console.SetCursorPosition(24 + value3, value4);
                    Console.ReadLine();
                    value3 += 8;
                }
                value4 += 2;
                value3 = 0;
            }
            Console.SetCursorPosition(5, 22);
            Console.WriteLine("Спасибо Alex за использование программы!");
        }
 
 
 
 
 
    }
}
0
kesean
273 / 272 / 108
Регистрация: 04.09.2010
Сообщений: 638
Завершенные тесты: 1
29.07.2013, 22:41 #5
Цитата Сообщение от Slavkan Посмотреть сообщение
C#
1
Console.Write('в•”');
А что же отказались от таких красивых символов?
C#
1
Console.Write(Encoding.GetEncoding(437).GetChars(new byte[] { 186, 187, 188, 200, 201, 205 }));
1
Slavkan
11 / 11 / 1
Регистрация: 05.07.2013
Сообщений: 82
29.07.2013, 23:50  [ТС] #6
Цитата Сообщение от kesean Посмотреть сообщение
А что же отказались от таких красивых символов?
C#
1
Console.Write(Encoding.GetEncoding(437).GetChars(new byte[] { 186, 187, 188, 200, 201, 205 }));
Откровенного говоря, причина лень((( Но сейчас постараюсь)

Добавлено через 14 минут
Хоть в Эрмитаж ))) переделал

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Task8_10
{
    class Program
    {
 
        static void Main(string[] args)
        {
 
            Console.WriteLine("Как желаете заполнить?");
            Console.WriteLine("Цифра 1  = в столбик, цифра 2 = в строчку");
            int valMethod = Convert.ToInt32(Console.ReadLine());
 
            Console.Clear();
 
 
            Console.SetCursorPosition(1, 0);
            for (int index = 1; index != 22; index++)
            {
                Console.CursorLeft = 1;
                Console.WriteLine('в•‘');
                if (index < 21)
                {
                    Console.CursorLeft = 19;
                    Console.Write('в•‘');
                }
            }
 
 
 
 
            Console.SetCursorPosition(1, 0);
            for (int index = 1; index != 62; index++)
                Console.Write('в•ђ');
 
            Console.SetCursorPosition(35, 1);
 
            int valueRow = 0;
            for (int i = 0; i < 4; i++)
            {
                for (int index = 1; index != 20; index++)
                {
                    Console.SetCursorPosition(28 + valueRow, 1 + index);
                    Console.WriteLine('в•‘');
                }
                valueRow += 8;
 
            }
 
            for (int index = 1; index != 20; index++)
            {
                Console.SetCursorPosition(29 + valueRow, 0 + index);
                Console.WriteLine('в•‘');
            }
 
 
 
            Console.SetCursorPosition(20, 2);
            for (int index = 1; index != 43; index++)
                Console.Write('в•ђ');
 
            int value = 4;
            for (int i = 0; i < 9; i++)
            {
                Console.SetCursorPosition(1, value);
                for (int index = 1; index != 62; index++)
                    Console.Write('в•ђ');
                value += 2;
            }
 
            Console.SetCursorPosition(6, 2);
            Console.WriteLine("Спортсмен");
 
            Console.SetCursorPosition(25, 1);
            Console.WriteLine("Вид спорта");
 
 
            int value1 = 5;
            for (int i = 1; i < 9; i++)
            {
                Console.SetCursorPosition(6, value1);
                Console.WriteLine("{0}", i);
                value1 += 2;
            }
 
            int value2 = 2;
            for (int i = 1; i < 6; i++)
            {
                Console.SetCursorPosition(22 + value2, 3);
                Console.Write("{0}", i);
                value2 += 8;
            }
 
            Console.SetCursorPosition(1, 0);
            Console.Write("в•”");
 
            Console.SetCursorPosition(61, 0);
            Console.Write("в•—");
 
            Console.SetCursorPosition(1, 20);
            Console.Write("в•љ");
             
            Console.SetCursorPosition(61, 20);
            Console.Write("в•ќ");
 
            if (valMethod == 1)
            {
                InputColumn();
            }
            else if (valMethod == 2)
            {
                InputRow();
            }
            else
            {
                Console.WriteLine("Вы ввели неправильное значение");
            }
 
 
            Console.ReadLine();
        }
 
 
        static void InputColumn()
        {
            int value3 = 0;
            int value4 = 5;
            for (int j = 0; j < 5; j++)
            {
 
                for (int i = 0; i < 8; i++)
                {
                    Console.SetCursorPosition(24 + value3, value4);
                    Console.ReadLine();
                    value4 += 2;
                }
                value4 = 5;
                value3 += 8;
            }
            Console.SetCursorPosition(5, 22);
            Console.WriteLine("Спасибо Alex за использование программы!");
        }
 
 
        static void InputRow()
        {
            int value3 = 0;
            int value4 = 5;
            for (int j = 0; j < 8; j++)
            {
 
                for (int i = 0; i < 5; i++)
                {
                    Console.SetCursorPosition(24 + value3, value4);
                    Console.ReadLine();
                    value3 += 8;
                }
                value4 += 2;
                value3 = 0;
            }
            Console.SetCursorPosition(5, 22);
            Console.WriteLine("Спасибо Alex за использование программы!");
        } 
    }
}
0
29.07.2013, 23:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 23:50
Привет! Вот еще темы с решениями:

Как нарисовать таблицу в консоли?
Объясните, как расчертить таблицу по данному коду? class Program { static...

как нарисовать график в консоли?
Как вывести в консоль прямую, функцией которой будет, например, &quot;y = x + 2&quot;?...

Нарисовать треугольник в консоли по заданным координатам
Добрый день. Помогите пожалуйста с таким вопросом . Нужно нарисовать...

Нарисовать фигуры в консоли без их пересечения
Отображать новые фигуры(допустим квадрат) в области консоли ограниченного...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru