Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
#1

Нарисовать таблицу - C++

09.11.2013, 15:46. Просмотров 1405. Ответов 6
Метки нет (Все метки)

В разделе с++ для начинающих не могу создать тему, пишет что нецензурная лексика или слова с русскими и английскими буквами. Я даже не догадываюсь в чем проблема. Выкладываю без вложения(что с вложением, что без, все равно не выкладывалось).
Тема: проблема с выводом
Содержание:
1)Почему несколько раз выводится cout на 19 строке?
2) Можно ли сделать из этого подобие красивой таблички? А то как-то не очень прикольно выводится. Я понимаю это не Exel, но надо, надо.
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
void openfile()
{
    FILE* ftab=fopen("elevatorinfo.bin", "rb");
    tablica servstr;
    int size=0;
    int start=0;
    while (true)
    {
        fread(&servstr, sizeof(tablica), 1, ftab);
        if (servstr.num==0)
        {break;}
        else
        {
            if (size==0) start=servstr.num;
            size++;
            tabstr[servstr.num]=servstr;
        }
    }
    cout<<"prochitano "<<size<<" zapicey, nazhmite lubuyu clavishu"<<endl;
    getch();
    system("cls");
    tablzag tablz;
    strcpy(tablz.num,"  № ");
    strcpy(tablz.codes,"Cod silosa ");
    strcpy(tablz.codec,"Cod culturi ");
    strcpy(tablz.massa, "Massa, t ");
    strcpy(tablz.type, "Type " );
    strcpy(tablz.vlazh,"Vlazhnost ");
    strcpy(tablz.steklo,"Steklovidnost, % ");
    strcpy(tablz.cleygr,"Cleykovina gruppa ");
    strcpy(tablz.cleysod,"Cleykovina soderzhanie, % ");
    strcpy(tablz.natmass,"Naturalnaya massa kg/m^3 ");
    strcpy(tablz.primzer,"Primes zernobvaya, % ");
    strcpy(tablz.primsor,"Primes sornaya, % ");
    cout<<tablz.num<<tablz.codes<<tablz.codec<<tablz.massa<<tablz.type<<tablz.vlazh<<tablz.steklo<<tablz.cleygr<<tablz.cleysod<<tablz.natmass<<tablz.primzer<<tablz.primsor<<endl;
    for (int i=start; i<=size; i++)
    {
        printf("%3d %10d %11d %5.2f %3d %9d %16d %15d %22.2f 22.2f %18.2f %15.2f\n", tabstr[i].num, tabstr[i].codes, tabstr[i].codec, tabstr[i].mass, tabstr[i].type, tabstr[i].vlazh, tabstr[i].steklo, tabstr[i].cley.gruppa, tabstr[i].cley.sod, tabstr[i].natmass, tabstr[i].prim.zer, tabstr[i].prim.sor);
    }
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 15:46     Нарисовать таблицу
Посмотрите здесь:

В консоли нарисовать таблицу - C++
Доброе время суток!Помогите,пожалуйста, представить рез-ты вычислений в виде таблицы в консоли! #include &lt;stdlib.h&gt; #include...

Как в ActiveX контроле нарисовать таблицу ? - C++
Пишу некий ActiveX контрол... Как там нарисовать таблицу? При этом хотелось бы чтобы был доступ к каждой ячейке таблицы и можно было бы...

Как нарисовать таблицу и заносить в нее значения (Win32 Console Application)? - C++
Вообщем то в продолжении темы с обработкой клавиш.Теперь требуется в той же консоли на языки с,(win32 console application)(visual...

Помогите написать программу, которая вводит фактические данные в таблицу, и выводит на экран таблицу - C++
Помогите написать программу, которая вводит фактические данные в таблицу, и выводит на экран таблицу. Офісні пакети ...

Нарисовать таблицу с помощью псевдографики и в эту таблицу вывести матрицу - Turbo Pascal
В общем, друзья, такая задача:вводим матрицу, делаем там с ней некие действия и нужно нарисовать таблицу с помощью псевдографики в эту...

Нарисовать таблицу - Pascal
Здраствуйте.Мне нужно нарисовать таблицу в Паскале.Вот пример такой таблици на рисунке.Кто может сказать как такую таблицу можно...

Нарисовать таблицу в CMD - CMD/BAT
Добрый день! Подскажите, как нарисовать в cmd вот такую таблицу?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RHB
33 / 33 / 8
Регистрация: 27.01.2013
Сообщений: 200
09.11.2013, 16:32     Нарисовать таблицу #2
не так давно как раз помогал оформить таблицу. В суть кода можете не вникать, но как оформить именно таблицей вам должно стать понятно. Все тоже самое можно сделать при помощи printf'а в вашем случае. И очень не совету так случайно позаимствовать класс string, я его использовал только потому что было такое ТЗ. А так ИМХО он очень неудобен.
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
#include <iostream>
#include <string>
#include <stdlib.h>
#include <iomanip>
 
using namespace std;
 
const int N=10;
 
int main()
{
    struct tableSix {
        int nomer;
        string surname;
        char sex; 
        int  year; 
        int  start;
        int staj;
    };
    tableSix worker[N]; 
    worker[0].surname = "Anosimov U.P."; worker[0].sex = 'M'; worker[0].year = 1940; worker[0].start = 1957;
    worker[1].surname = "Ivanov I.N.";   worker[1].sex = 'M'; worker[1].year = 1980; worker[1].start = 1999;
    worker[2].surname = "Mahova O.I.";   worker[2].sex = 'F'; worker[2].year = 1960; worker[2].start = 1980;
    worker[3].surname = "Ogarev K.M.";   worker[3].sex = 'M'; worker[3].year = 1971; worker[3].start = 1990;
    worker[4].surname = "Egorova P.K.";  worker[4].sex = 'F'; worker[4].year = 1993; worker[4].start = 2011;
    worker[5].surname = "Golikova O.I."; worker[5].sex = 'F'; worker[5].year = 1972; worker[5].start = 1990;
    worker[6].surname = "Sotnikov T.S."; worker[6].sex = 'M'; worker[6].year = 1943; worker[6].start = 1960;
    worker[7].surname = "Komov V.I.";    worker[7].sex = 'M'; worker[7].year = 1979; worker[7].start = 2005;
    worker[8].surname = "Lebedev A.A.";  worker[8].sex = 'M'; worker[8].year = 1959; worker[8].start = 1981;
    worker[9].surname = "Dimova V.V.";   worker[9].sex = 'F'; worker[9].year = 1991; worker[9].start = 2010;
    cout << "Ishodnie dannie:" << endl;
    cout << "+----+--------------+-+----+----+" << endl;
    cout << "|num |      FIO     |P| GR |GPNR|" << endl;
    cout << "+----+--------------+-+----+----+" << endl;
    for(int i=0; i<N; ++i)
    {
        worker[i].nomer=i+1;
        cout << "|" <<setw(4) << worker[i].nomer << "|"<< setw(14) <<worker[i].surname << "|" << worker[i].sex << "|" << worker[i].year << "|" <<worker[i].start <<"|"<< endl;
        cout << "+----+--------------+-+----+----+" << endl;
    }
    for( int i=0; i<N; i++)
    {
        worker[i].staj=2013-worker[i].start;
    }
    for ( int i = 0; i < N-1; i ++ ) 
        for ( int j = N-2; j >= i; j -- ) 
            if ( worker[j].staj < worker[j+1].staj ) 
              {
                tableSix temp;
                temp.surname=worker[j].surname;
                temp.sex=worker[j].sex;
                temp.year=worker[j].year;
                temp.start=worker[j].start;
                temp.staj=worker[j].staj;
                temp.nomer=worker[j].nomer;
                worker[j].surname=worker[j+1].surname;
                worker[j].sex=worker[j+1].sex;
                worker[j].year=worker[j+1].year;
                worker[j].start=worker[j+1].start;
                worker[j].staj=worker[j+1].staj;
                worker[j].nomer=worker[j+1].nomer;
                worker[j+1].surname=temp.surname;
                worker[j+1].sex=temp.sex;
                worker[j+1].year=temp.year;
                worker[j+1].start=temp.start;
                worker[j+1].staj=temp.staj;
                worker[j+1].nomer=temp.nomer;
              }
    cout<< endl;
    cout << "Preobrazovannie danie:" << endl;
    cout << "+----+--------------+-+----+----+" << endl;
    cout << "|num |      FIO     |P| GR |GPNR|" << endl;
    cout << "+----+--------------+-+----+----+" << endl;
    for(int i=0; i<N; ++i)
    {
        if(worker[i].year<1983){
            cout << "|" <<setw(4) << worker[i].nomer << "|"<< setw(14) <<worker[i].surname << "|" << worker[i].sex << "|" << worker[i].year << "|" <<worker[i].start <<"|"<< endl;
            cout << "+----+--------------+-+----+----+" << endl;
        }
    }
    system("PAUSE");
    return 0;    
}
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
09.11.2013, 17:18  [ТС]     Нарисовать таблицу #3
Смысл кода вроде понятен, но... у меня вывод получается вот такой(вложение). Так что мне кажется таблица тоже выведется криво.
Миниатюры
Нарисовать таблицу  
RHB
33 / 33 / 8
Регистрация: 27.01.2013
Сообщений: 200
09.11.2013, 17:25     Нарисовать таблицу #4
Angeline, хммм.. а какое у вас задание? Просто есть подозрение что вы заполняете неправильно...
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
09.11.2013, 17:26  [ТС]     Нарисовать таблицу #5
RHB, а, нет, все, разобралась, расцелую))
RHB
33 / 33 / 8
Регистрация: 27.01.2013
Сообщений: 200
09.11.2013, 17:27     Нарисовать таблицу #6
Angeline, ну как будете в Новосибирске дайте знать, я не против
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2013, 17:28     Нарисовать таблицу
Еще ссылки по теме:

Не могу нарисовать таблицу - HTML, CSS
Всем доброго вечера. Так давно не работал с таблицами, что сейчас никак не разберусь. Нужна таблица следующей структуры (в приложении). ...

Как нарисовать таблицу - MS Word
Подскажите как нарисовать такую вот синюю таблицу?сорри если очень нубский вопрос

Необходимо нарисовать таблицу - Assembler
Здравствуйте. Вот есть такой код: .686 .model flat, stdcall option casemap : none include \masm32\include\windows.inc ...

Как нарисовать таблицу? - C#
Как нарисовать таблицу, выделенную красным? Особенно интересуют заголовки составные...

Нарисовать в отчете таблицу a la Word - MS Access
Подскажите, пожалуйста, как нарисовать в отчете MS Access 2007 таблицу по типу Word, чтобы вставить в нее текст и поля таблицы. Чтобы...


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

Или воспользуйтесь поиском по форуму:
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
09.11.2013, 17:28  [ТС]     Нарисовать таблицу #7
RHB, задание программу создающую файлик, открывающую его в таблицу и изменяющую строки таблицы.

Добавлено через 19 секунд
RHB, ахах, ладно, я запомню)
Yandex
Объявления
09.11.2013, 17:28     Нарисовать таблицу
Ответ Создать тему
Опции темы

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