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

Создание библиотеки для работы со стеками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать стек на основе контейнера vector http://www.cyberforum.ru/cpp-beginners/thread1206813.html
На основе контейнера vector построить стек целых чисел. Выполнить операции занесения элемента в стек, извлечение значения с вершины стека, вывода всех значений стека на экран, определения количества элементов стека. Предусмотреть возможности: - Формирование входных данных заданного размера (количество точек для проверки); - Сохранение входных данных в файле с заданной названием; -...
C++ Работа с файлами. Спасайте) Здравствуйте, очень нужна помощь. Есть тест, занесенный в текстовый файл () следующей структуры: строка1 - номер вопроса, строка2 - вопрос, строка3 - варианты ответа, строка4 - ввод ответа. Я построчно его считываю. Когда доходит до считывания строки: "Введите ответ", я ввожу определённую цифру, которую нужно занести в обычный численный массив. Как это сделать? Вот есть код, но компилятор... http://www.cyberforum.ru/cpp-beginners/thread1206808.html
C++ Составить программу на языке С++ для обработки строк с использованием указателей
Дана строка. Распечатать слова в два столбика. 1 столбик — слова, имеющие четное количество букв, а второй — нечётное. help!! Добавлено через 6 часов 8 минут help
Некоторые функции не соответствуют условию задачи C++
программа выдает неправильные результаты с операциями итератора и вообще в задании написано совсем другие операции: 1) установка на начало списка, 2) проверка конца списка, 3) доступ к значению текущего элемента, 4) переход к следующему элементу списка, 5) переход к предыдущему элементу списка (для списков на базе массива или двусвязных структур) а здесь в меню программы написано совсем...
C++ Корневая директория ОС http://www.cyberforum.ru/cpp-beginners/thread1206784.html
Гуглю-гуглю, ну никак не могу найти информацию о том - какой функцией вытянуть корневую директорию ОС?
C++ Автоматический выбор шага и метод Рунге-Кутта Имеется такое вычисление диф. уравнения методом Рунге-Кутты: #include <iostream> using namespace std; float fun(float x, float y) { return x*x + y*y; } void run_kut(float a, float b, float y0, int n) { подробнее

Показать сообщение отдельно
AskeRik
0 / 0 / 0
Регистрация: 13.06.2014
Сообщений: 4
13.06.2014, 02:34     Создание библиотеки для работы со стеками
Есть задание "разработать библиотеку для работы со структурой данных типа стек" . Я создал 3 файла: первый "stek.cpp", в котором содержится функция main и вызов функций для работы со стеком:
stek.cpp

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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include "iostek.h"
using namespace std;
int main();
 
 
struct List
{
    int x; 
    List *Next,*Head; 
} mystek;
 
 
int main()
{
    int i,j,k;
    List *MyList=new List;
    MyList->Head=NULL; 
    cout<<"Vvedite kol-vo elementov steka: "<<endl;
    cin>>j;
    for ( k=0; k<j;k++)
    {
        cout<<"Vvedite element steka nomer "<<k+1<<endl;
        cin>>i;
        STEK::Add(i,&MyList); 
    }
   
    while (true)
    {
        cout<<endl;
         cout << "Viberite deistvie:"<<endl; cout<<" 1 - pokazat' stek"<<endl; cout<<" 2 - Dobavlenie elementa"<<endl; cout<<" 3- Udalenie elementa"<<endl; cout<<" 4 - Exit ";   cin >> k; 
 switch(k) 
 { 
 case 1: STEK::Show(MyList);    break; 
 case 2: STEK::Addelement(&MyList); break;
 case 3: STEK::delel(MyList); break;
 case 4: STEK::ClearList(MyList); cout<<"Memory is clear! "<<endl; return 0;
    default: cout << "Ne vuibrana funkciya "; return 1; 
 } 
    }
}

Второй cpp файл - файл, в котором содержится тело самой функции:
stek1.cpp
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
#include <iostream>
#include "iostek.h"
 using namespace std;
 namespace STEK
 {
 
void Add(int x, List **MyList)
{
    List *temp=new List;
    temp->x=x; 
    temp->Next=(*MyList)->Head; 
    (*MyList)->Head=temp; 
}
 
void Addelement( List **MyList) 
{
    int x;
    cout<<"Vvedite dobavlaemii element: "<<endl;
    cin>>x;
    List *temp=new List;
    temp->x=x;
    temp->Next=(*MyList)->Head;
    (*MyList)->Head=temp;
}
 
void Show(List *MyList) 
{
    List *temp=MyList->Head;
               
    while (temp!=NULL) 
    {
        cout<<temp->x<<" "; 
        temp=temp->Next; 
    }
}
 
void delel(List *MyList)
{
    if (MyList->Head!=NULL) 
        {
            
    List *temp=MyList->Head; 
    cout<<"Deleted element: "<<temp->x;
    temp=temp->Next;
        delete MyList->Head;
        MyList->Head=temp;}
    else cout<<"stek pystoi, dobav'te elementi"<<endl;
}
 
void ClearList(List *MyList)
{   
     while (MyList->Head!=NULL)  
     {   
        List *temp=MyList->Head->Next; 
        delete MyList->Head; 
        MyList->Head=temp; 
     }
}
 }

И 3-ий файл - заголовочный, где содержатся прототипы функции:
iostek.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef stek0113371
#define stek0113371
namespace STEK
{
    struct List
{
    int x; 
    List *Next,*Head; 
} mystek;
    void Add(int x, List **MyList);
    void Addelement( List **MyList) ;
    void Show(List *MyList) ;
    void delel(List *MyList);
    void ClearList(List *MyList);
}
#endif

При компиляции выбивает следующие ошибки:
Создание библиотеки для работы со стеками
1>e:\gavno dlya ychebi\tiitlaba1\tiitlaba1\stek.cpp(28): error C2664: STEK::Add: невозможно преобразовать параметр 2 из "List **" в "STEK::List **"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>e:\gavno dlya ychebi\tiitlaba1\tiitlaba1\stek.cpp(37): error C2664: STEK::Show: невозможно преобразовать параметр 1 из "List *" в "STEK::List *"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>e:\gavno dlya ychebi\tiitlaba1\tiitlaba1\stek.cpp(38): error C2664: STEK::Addelement: невозможно преобразовать параметр 1 из "List **" в "STEK::List **"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>e:\gavno dlya ychebi\tiitlaba1\tiitlaba1\stek.cpp(39): error C2664: STEK::delel: невозможно преобразовать параметр 1 из "List *" в "STEK::List *"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>e:\gavno dlya ychebi\tiitlaba1\tiitlaba1\stek.cpp(40): error C2664: STEK::ClearList: невозможно преобразовать параметр 1 из "List *" в "STEK::List *"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
Подскажите, пожалуйста, почему не работает?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru