Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для nevadch
0 / 0 / 1
Регистрация: 29.09.2012
Сообщений: 23

Вывести таблицу с заголовком в консольном приложении

04.12.2012, 05:08. Показов 2171. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать такое в консольном приложении?
Нужно организовать запись данных в файл прямого доступа, через диалоговое окно, и вывести данные из файла на экран в виде таблицы с заголовком.
Помогите пожалуйста.

 Комментарий модератора 
nevadch, не нужно дублировать темы. Объединено
Миниатюры
Вывести таблицу с заголовком в консольном приложении  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.12.2012, 05:08
Ответы с готовыми решениями:

Меню в консольном приложении
Доброго времени суток. Вот необходимо сделать интерфейс в консольном приложении. Я его сделал с помощью Switch case, однако вот ту у меня...

DispatcherTimer в консольном приложении
Можно ли использовать таймер DispatcherTimer в консольном приложении c#? И если можно, то как (пример)?

Ошибка в консольном приложении
Вылетает консольное приложение, не могу понять, что не так, ниже код: namespace ConsoleApplication2 { class Program { ...

3
 Аватар для nevadch
0 / 0 / 1
Регистрация: 29.09.2012
Сообщений: 23
10.01.2013, 01:57  [ТС]
Не получается победить, код вроде правильный, отладка идет. Но никак не могу ввести правильное кол-во элементов.

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
class Program
    {
        static string[,] table;
        static int word = 20, c = 10, q = 7;
        static void Main()
        {
            byte[] cur = new byte[word];
            FileStream fs = new FileStream("text.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
            table = new string[c, q];
            string[] elems;
            Console.WriteLine("Введите 10 строк для записи в файл\n");
            Console.WriteLine("Наименование\tКод\tДата пост.\tЗаказчик\tСт. ед.\tКол-во");
            for (int i = 0; i < c; i++)
            {
                elems = Console.ReadLine().Split(new char[] { '\t' }, StringSplitOptions.RemoveEmptyEntries);
                if (elems.Length != 6)
                {
                    Console.WriteLine("В строку введено неверное количество элементов");
                    fs.Close();
                    Console.ReadLine();
                    return;
                }
                for (int j = 0; j < 6; j++)
                    table[i, j] = elems[j];
            }
            Console.WriteLine("\nНажмите <ENTER>, чтобы произвести расчет");
            Console.ReadLine();
            Console.WriteLine("Наименование\tКод\tДата пост.\tЗаказчик\tСт. ед.\tКол-во\tОбщ. ст.");
            for (int i = 0; i < c; i++)
            {
                int quan;
                double price;
                if (!double.TryParse(table[i, 4], out price) || !int.TryParse(table[i, 5], out quan))
                {
                    Console.WriteLine("Ошибка при конвертации");
                    fs.Close();
                    Console.ReadLine();
                    return;
                }
                table[i, 6] = (quan * price).ToString();
                for (int j = 0; j < q; j++)
                {
                    fs.Seek((i * q + j) * word, SeekOrigin.Begin);
                    fs.Write(Encoding.Default.GetBytes(table[i, j]), 0, table[i, j].Length < word ? table[i, j].Length : word);
                    Console.Write(table[i, j]);
                    if (j < 6)
                        Console.Write("\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("\nНажмите <ENTER>, чтобы вывести данные из файла на экран с заголовком");
            Console.ReadLine();
            Console.WriteLine("Ведомость поставок");
            Console.WriteLine("\nНаименование\tКод\tДата пост.\tЗаказчик\tСт. ед.\tКол-во\tОбщ. ст.");
            for (int i = 0; i < c; i++)
            {
                for (int j = 0; j < q; j++)
                {
                    fs.Seek((i * q + j) * word, SeekOrigin.Begin);
                    fs.Read(cur, 0, word);
                    table[i, j] = Encoding.Default.GetString(cur).TrimEnd('\0');
                    Console.Write(table[i, j]);
                    if (j < 6)
                        Console.Write("\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("\nНажмите <ENTER>, чтобы вывести данные из файла по признаку Общ. ст. > 150");
            Console.ReadLine();
            Console.WriteLine("Наименование\tКод\tДата пост.\tЗаказчик\tСт. ед.\tКол-во\tОбщ. ст.");
            for (int i = 0; i < c; i++)
                if (double.Parse(table[i, 6]) > 100)
                {
                    for (int j = 0; j < q; j++)
                    {
                        Console.Write(table[i, j]);
                        if (j < 6)
                            Console.Write("\t");
                    }
                    Console.WriteLine();
                }
            Console.WriteLine("\nНажмите <ENTER>, чтобы отсортировать данные по признаку Общ. ст.");
            Console.ReadLine();
            Console.WriteLine("Наименование\tКод\tДата пост.\tЗаказчик\tСт. ед.\tКол-во\tОбщ. ст.");
            bool taken;
            string ex;
            for (int i = 0; i < c - 1; i++)
            {
                taken = false;
                for (int j = 0; j < c - 1 - i; j++)
                    if (int.Parse(table[j, 6]) > int.Parse(table[j + 1, 6]))
                    {
                        for (int k = 0; k < q; k++)
                        {
                            ex = table[j, k];
                            table[j, k] = table[j + 1, k];
                            table[j + 1, k] = ex;
                        }
                        taken = true;
                    }
                if (!taken)
                    break;
            }
            for (int i = 0; i < c; i++)
            {
                for (int j = 0; j < q; j++)
                {
                    Console.Write(table[i, j]);
                    if (j < 6)
                        Console.Write("\t");
                }
                Console.WriteLine();
            }
            fs.Close();
            Console.ReadLine();
        }
    }
}
0
 Аватар для rull
21 / 20 / 3
Регистрация: 10.11.2012
Сообщений: 240
Записей в блоге: 1
10.01.2013, 09:56
Можно новичку поинтересоваться? у вас тут не весь код? Должны быть ещё классы, или нет?
C#
1
FileStream fs = new FileStream("text.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
0
174 / 174 / 57
Регистрация: 08.01.2013
Сообщений: 335
10.01.2013, 11:39
Hу просто он только код класса Program скопировал, а так класс FileStream - включен в пространство имен System.IO

ЗЫ. или я туплю с утра и не понимаю вопроса?))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.01.2013, 11:39
Помогаю со студенческими работами здесь

Чат в консольном приложении
Помогите пожалуйста создать чат в консольном приложении. Вот хотела с подругой початиться. Очень есть интерес. Либо книжку подскажите...

Таблица в консольном приложении
for (int i = 1; i &lt;= 255; i++) { Console.Write(Convert.ToChar(i)); Console.Write(Convert.ToChar(&quot; &quot;)); ...

Графический интерфейс в консольном приложении
Добрый день, подскажите, плз, где можно почитать про создание графического интерфейса в консольном приложении? И как это, кстати,...

Использование меню в консольном приложении
Всем привет.Как правильно сделать меню?static public void Menu() { Console.Clear(); //Выводим меню, его пункты с соответствующими...

Глобальный хук в консольном приложении
Приветствую! Понимаю тема давно избита и куча решений, но не могу сам найти как реализовать.. И возможно ли такое? Необходимо считывать...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru