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

Стек: Ошибка в объявлении getch - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сумма элементов массива, имеющих в своей записи все одинаковые цифры http://www.cyberforum.ru/cpp-beginners/thread1170424.html
Определить сумму элементов массива, имеющих в своей записи все одинаковые цифры и расположенных между двумя элементами с максимальным значением, не включая сами эти элементы
C++ C++ Шифр Цезаря Help нужно написать программу на С++, которая шифрует русские и английские слова. Делает запрос на сдвиг. Зашифрованный код переводил обратно в нормальный текст. (С запросами и выводами).(Шифр Цезаря). Уровень реализации новичка. Заранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread1170411.html
C++ Дана строка до точки, группа символов в которой между пробелами считается словом
Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются. Удалить из строки все пробелы, расположенные перед знаком препинания.
Организация исходников C++
Не нашел в гугле толковый инфы. Вот есть у меня допустим два класса, нейрон и перцептрон. Описал я их в .h. Реализовал в .cpp одном. Но может лучше реализовать в разных .cpp? Т.е. нейрон в neyron.cpp, а перцептрон в perceptron.cpp? Или если описаны в одном хэдере, то и реализовывать в одном cpp? Как лучше в общем? Проект небольшой, около 2к строк.
C++ Создание классов в С++. Раздельная компиляция http://www.cyberforum.ru/cpp-beginners/thread1170367.html
При создании класса C++ в VS создается два файла, "<имя_класса>.h" и "<имя_класса>.cpp", зачем они ? В каком сам класс писать? Простите за глупый вопрос, но только начал разбираться и вот сразу такой момент в моей книге про это не слова :-) Даже странно.
C++ Метод "игрок берет все карты" не срабатывает как надо void Player::MoveAllCardFromArea(Player x) //переместить карты из полей обоих игроков в собственность игрока, вызывающего функцию (игрок берет карты) { while (GetAreaSize()>0) //пока есть карты в поле в AddCard(GetAndDeleteArea()); //срабатывает нормально while (x.GetAreaSize()>0) AddCard(x.GetAndDeleteArea()); //ВОТ - возвращает... подробнее

Показать сообщение отдельно
naa17
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 47

Стек: Ошибка в объявлении getch - C++

08.05.2014, 21:48. Просмотров 346. Ответов 13
Метки (Все метки)

Добрый вечер!

Реализовал стек и некоторые функции.

Вопрос1: в функции doub имеется проблема - нет ограничения, судя по ошибкам, как это сделать?
Вопрос2: ошибка в объявлении getch почему-то.

Код ниже:

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 <iostream>
#include <conio.h>
 
using namespace std;
 
///////////////////////////////////////////////////////////
 
struct link // один элемент списка
{
    int data; // некоторые данные
    link* next; // указатель на следующую структуру
};
 
///////////////////////////////////////////////////////////
 
class stack// список
{
private:
    link* first;
public:
    stack() // конструктор без параметров
    {
        first = NULL;
    } // первого элемента пока нет
    void push(int d); // добавление элемента
    void display(); // показ данных
    void doub();
    int locate();
};
 
///////////////////////////////////////////////////////////
 
void stack:: push(int d) // добавление элемента
{
    link* newlink = new link; // выделяем память
    newlink->data = d; // запоминаем данные
    newlink->next = first; // запоминаем значение first
    first = newlink; // first теперь указывает на новый элемент
}
 
///////////////////////////////////////////////////////////
 
void stack::display()
{
    link* current = first; // начинаем с первого элемента
    while (current) // пока есть данные
    {
        cout << current->data << endl; // печатаем данные
        current = current->next; // двигаемся к следующему элементу
    }
}
 
void stack::doub()
{
    link* current = first; // начинаем с первого элемента
    link* current2 = current->next;
    while (current) // пока есть данные
    {
    while (current)
        {
            if (current == current2)
                cout << current->data << endl; // печатаем данные
            current2 = current2->next; // двигаемся к следующему элементу
        }
        current = current->next;
        current2 = current->next;
    }
}
 
int stack::locate ()
{
    int index = 0;
    link* current = first; // начинаем с первого элемента
    while (current) // пока есть данные
    {
        if ((current->data) == index)
        {
            return index;
        }
        else index++;
        current = current->next; // двигаемся к следующему элементу
    }
    cout<<"Error. Out of range"<<endl;
    return 0;
}
 
///////////////////////////////////////////////////////////
 
int main()
 
{
    int el, n;
    stack li; // создаем переменную-список
    cout << "input number of element";
    cin >> n;
    while (n>0)
    {
        cout << "input current element";
        cin >> el;
        li.push(el); // добавляем туда несколько чисел
        n--;
    }
 
    /* li.additem ( 25 ); // добавляем туда несколько чисел
    li.additem ( 36 );
    li.additem ( 49 );
    li.additem ( 64 ); */
 
    li.display(); // показываем список
    //li.doub();
    li.locate();
    getch();
    system("payse");
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru