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

Ошибки в MSVC - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как правильно записать результаты в файл?! http://www.cyberforum.ru/cpp-beginners/thread847528.html
Добрый день! У меня возникла проблема - мне необходимо записать в файл результаты некой игры. В файл пишется три непонятных символа. только три иероглифа. Не могу никак исправить. Помогите пожалуйста...!!!! void table(string n1,string n2,string n3, int mass, int n,string nh1,string nh2,string nh3) { game final; game fin_sort; FILE *out; out=fopen("recording.dat","w"); int tmp,i;
C++ использование функций шаблонов:для работы с двумерными мыссивами арифмитических типов данных разработать шаблоны ввода и вывода массива,а также шаблон для решения этой задачи :подсчитать среднее арифметическое ненулевых элементов расположенных над побочной диагональю http://www.cyberforum.ru/cpp-beginners/thread847525.html
C++ Вывести каждую вторую строку матрицы в обратном порядке
не могу найти ошибку в программе. программа должа решать задачу: Из одномерного массива, формировать квадратную матрицу порядка n по заданному образцу (матрица формируется методом повторения массива, причем каждая 2-я строка в обратном порядке). Вывод матрицы на экран оформить в виде процедуры. но она выдает строки в обратном порядке с лишними числами, причем всегда с одной и той-же комбанацией...
C++ Рекурсия. Функция для вывода на экран следующей картинки:
дано натуральное число n . Разработать рекурсивную функцию для вывода на экран следующей картинки: 1 (1 РАЗ) 222 (3 РАЗА) 33333 (5 раз) ... (n раз) 33333 (5 раз) 222 (3 РАЗА) 1 (1 РАЗ)
C++ Шаблонный динамический класс DynArr http://www.cyberforum.ru/cpp-beginners/thread847515.html
Создать шаблонный динамический класс DynArr для работы с одномерными массивами. Осуществить перегрузки символов операций: «=« - Динамическое присвоение, «+« - По элементное добавления, «*«- Скалярное умножение массивов, «« - Доступ к элементу с контролем Товарищи прошу о вашей помощи,очень нужно,кто чем может помогите))))
C++ Матрицы Сдравствуйте. у меня есть пара вопросов на счет матриц: Можно ли как-нибудь разделить элементы матрицы на число типа double, если сама матрица типа int? Может ли матрица быть типа double? просто билдер почему то ругается когда я задаю ей тип double. Работаю над созданием программы для нахождения обратной матрицы. Сейчас я на стадии завершения, код достаточно специфический, нужно бесконца... подробнее

Показать сообщение отдельно
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
24.04.2013, 20:02  [ТС]     Ошибки в MSVC
Вот класс, с изменения которого все началось. Старая версия теперь тоже не работает -_-

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
class _interface
{
    bool inventoryOpened;
    string statusMessage[4];
    int colorMessage[4];
    int inventoryIter;
public:
    _interface()
    {
        inventoryOpened = false;
        for(int i=0; i<4; i++) 
        {
            statusMessage[i] = '\0';
            colorMessage[i] = 0;
        }
    }
    bool getInventoryStatus(){return inventoryOpened;}
 
    void drawTable(int sizex, int sizey, int startx, int starty, char* name, bool fill)     //отрисовка таблиц и окон (окна если fill == true)
    {
        for(int i=0; i<sizex+1; i++)
            for(int j=0; j<sizey+1; j++)
            {
                gotoxy(startx+i, starty+j);
                if(i == 0 && j == 0)
                {
                    cout<<(char)218; continue;
                }
                if(i == sizex && j == 0)
                {
                    cout<<(char)191;
                    continue;
                }
                if(i == 0 && j == sizey)
                {
                    cout<<(char)192;
                    continue;
                }
                if(i == sizex && j == sizey)
                {
                    cout<<(char)217;
                    continue;
                }
                if(i == 0 || i == sizex)
                {
                    cout<<(char)179;
                    continue;
                }
                if(name != NULL)
                    if(j == 0 && i > (sizex - strlen(name))/2 && i < (sizex + strlen(name))/2 + 1)
                        cout<<name[i-(sizex-strlen(name))/2 - 1];
                if(j == 0 || j == sizey)
                {
                    cout<<(char)196;
                    continue;
                }
                if(fill == true) 
                {
                    initconscreen(Black);
                    cout<<'/0';
                    initconscreen(White);
                }
            }
    }
 
    void drawInventory(itemManager &inst)
    {
        drawTable(30, 20, 35, 15, "Inventory", true);
        inventoryOpened = true;
        item* _item;
        gotoxy(36, 16);
        printf("No Name               Count\n");
        for(int i=0, n=1; i<inst.getCount(); i++)
        {
            _item = inst[i];
            if(_item != NULL && _item->getOwner() == 0)
            {
                gotoxy(36, 16+n);
                printf("%-2i %-18s %-2i\n", n, nameTable(_item->getType()), _item->getCount());
                n++;
            }
        }
        inventoryIter = 0;
    }
 
    void eraseInventory()
    {
        for(int x=30; x<71; x++)
            for(int y=10; y<41; y++)
            {
                gotoxy(x, y);
                cout<<char(0);
            }
        inventoryOpened = false;
    }
 
    void statusDraw(player _player)
    {
        gotoxy(0, CSIZEY-4);
        for(int i=0; i<CSIZEX*3+CSIZEX-1; i++)
            cout<<' ';
        gotoxy(0, CSIZEY-4);
        cout<<"HP: ";
        switch(_player.getHP()/25)
        {
            case 0: initconscreen(Red); break;
            case 1: initconscreen(Yellow); break;
            case 2: initconscreen(Yellow); break;
            case 3: initconscreen(LightGreen); break;
        }
        cout<<_player.getHP()<<' ';
        gotoxy(0, CSIZEY-3);
        cout<<"Equiped: ";
        if(_player.getItem()) cout<<nameTable(_player.getItem()->getType()); else cout<<"NONE";
        for(int i=0; i<4; i++)
        {
            //initconscreen(colorMessage[i]);
            gotoxy(CSIZEX - statusMessage[i].size()+1, 46+i);
            cout<<statusMessage[i];
        }
        initconscreen(2);
        cout<<statusMessage;
        initconscreen(15);
    }
 
    void setStatusMessage(char* message, int color)
    {
        for(int i=0; i<2; i++)
        {
            statusMessage[i] = statusMessage[i+1];
            colorMessage[i] = colorMessage[i+1];
        }
        statusMessage[3] = message;
        colorMessage[3] = color;
    }
};
Это те самые функции, которые используют windows.h для работы с консолью.

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
HANDLE hstdout;
COORD Coor;     // структура (х,у) - координаты точки экрана
 
//функция инициализации консоли цветом С
int initconscreen(WORD C) 
{   
    COORD TCoor={0,0};
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
    //задать цвет вывода
    SetConsoleTextAttribute(hstdout,C);
    //очистить Экран
    //FillConsoleOutputAttribute(hstdout,C,CSIZEX*CSIZEY,TCoor,NULL);
    //заголовок консоли
    SetConsoleTitle("Labyrinth");
    return 0;
}
 
    //функция позиционирования курсора
void gotoxy(short x,short y)
{
    Coor.X=x; Coor.Y=y;
    SetConsoleCursorPosition(hstdout,Coor);
}
 
    //функция очистки экрана цветом С
void clrscr(WORD C)
{
    Coor.X=0; Coor.Y=0;
    SetConsoleCursorPosition(hstdout,Coor);
    //FillConsoleOutputAttribute(hstdout,C,256*256,Coor,NULL);
}
 
    //функция установки текущего цвета С
void setcolor(WORD C)
{
    SetConsoleTextAttribute(hstdout,C);
}
    //функция для установки цвета текста и фона
void conscol(int text, WORD background)
{
   HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
   SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
 
Текущее время: 06:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru