Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 29.09.2013
Сообщений: 96

Использование include для построения кода

28.02.2015, 16:00. Показов 1429. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Файлы:
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
// Алгоритмы и структуры данных лаба 2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "stdio.h"
#include "typedef_file.h"
#include <fstream>
#include "Stack.cpp"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream inp("C:\\Learning and stuff\\Input_A.txt");
    Stack New_Stack;
    TInf temp;
    while (inp)
    {
        inp >> temp;
        New_Stack.Push(temp);
    }
    cout << "Last el in stack:" << endl;
    cout << New_Stack.Top();
    cout << "Reading stack:" << endl;
    try
    {
        while (!false)
        cout << New_Stack.Top();
    }
    catch (PustoiStackError)
    {
        cout << "Stack Pust";
    }
    system("pause>>end");
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//typedef_file.h
#include <fstream>
 
struct TInf
{
    char stroka[50];
    int num_of_words = 0;
    friend ifstream & operator>> (ifstream &inp, TInf A)
    {
        for (int i = 0; i < 50; ++i)
             A.stroka[i]= inp.get();
        inp >> A.num_of_words;
    }
    friend ostream & operator<<(ostream &out, TInf A)
    {
        for (int i = 0; i < 50; ++i)
            out << A.stroka[i];
        out << " Slov:" << A.num_of_words<<endl;
    }
};
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
//List_file.h
class node
{
public:
    TInf item;
    node* next;
};
 
class spisok
{
private:
    node* first = NULL;
public:
    bool Pustoi()
    {
        if (first)
            return false;
        else return true;
    }
    void Input_In_Begin(TInf newitem)
    {
        node* q = new node;
        for (int i = 0; i < 50; ++i)
            q->item.stroka[i] = newitem.stroka[i];
        q->item.num_of_words = newitem.num_of_words;
        q->next = first;
        first = q;
    }
    node* DeleteFirst()
    {
        if (first != NULL)
        {
            node *temp = first;
            first = first->next;
            delete temp;
            return first;
        }
        else return NULL;
    }
    void InsertAfter(node*p, TInf newitem)
    {
        node *q = new node;
        for (int i = 0; i < 50; ++i)
            q->item.stroka[i] = newitem.stroka[i];
        q->item.num_of_words = newitem.num_of_words;
        q->next = p->next;
        p->next = q;
    }
    void DeleteAfter(node*p)
    {
        node*q = p->next;
        p->next = p->next->next;
        delete q;
    }
    node* GetFirst()
    {
        return first;
    }
    int average_num_of_words()
    {
        node* hey = first;
        int c = 0, s = 0;
        while (hey)
        {
            s += hey->item.num_of_words;
            ++c;
            hey = hey->next;
        }
        if (c)
            return s / c;
        else return 0;
    }
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Stack.h
 
 
class Stack : public spisok
{
private:
    spisok A;
public:
    Stack();
    virtual TInf Top() throw(PustoiStackError);
    virtual TInf Pop() throw(PustoiStackError);
    virtual void Push(TInf);
    virtual void Delete();
    ~Stack();
};
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
//Stack.cpp
#include "Stack.h"
#include "stdafx.h"
#include "List_file.h"
#include "typedef_file.h"
#include "Errors.h"
#include "List_file.h"
 
Stack::Stack()
{};
 
TInf Stack::Top()
{
    if (!A.Pustoi)
        return A.GetFirst()->item;
    else throw PustoiStackError();
}
 
TInf Stack::Pop()
{
    if (!A.Pustoi())
    {
        return A.GetFirst()->item;
        A.DeleteFirst();
    }
    else throw PustoiStackError();
}
 
void Stack::Push(TInf new_item)
{
    if (2 + 2 == 4)
    {
        A.Input_In_Begin(new_item);
    }
    else throw PolniyStackError();
}
 
void Stack:: Delete()
{
    while (!A.Pustoi)
        A.DeleteFirst();
}
C++
1
2
3
4
5
6
7
//Errors.h
 
class PustoiStackError
{};
 
class PolniyStackError
{};
Выдаёт массу ошибок типа:
"Ошибка 23 error C2011: node: переопределение типа "class" c:\users\viacheslav\documents\visual studio 2013\projects\алгоритмы и структуры данных лаба 2\алгоритмы и структуры данных лаба 2\list_file.h 2 1 Алгоритмы и структуры данных лаба 2"
Что я делаю не так? Вроде по примеру один в один.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.02.2015, 16:00
Ответы с готовыми решениями:

Использование include для подключения удаленного скрипта
Доброго всем дня. Есть хостинг, из phpinfo видно вот что: Есть скрипт, расположенный по адресу, скажем http://site.com/file.php ...

Использование данных из БД для построения графика
Есть БД с одной таблицей. У таблицы три столбца. - Первичный ключ. - Фамилия. - Оценка. (int) (максимальное значение 5) Как...

Использование функций Matlab для построения графиков
Написала приложение на WPF, которое считает расстояние между сильно отделимыми шариками. Подключила к приложению функции, написанные на...

4
 Аватар для rao
903 / 424 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
28.02.2015, 18:29
Цитата Сообщение от Slavytuch Посмотреть сообщение
#include "Stack.cpp"
подозрительно выглядит как то

Добавлено через 3 минуты
и что бы особо не разбираться с зависимостями можно использовать:
C
1
#pragma once
Добавлено через 35 секунд
(в начале .h файлов)
1
0 / 0 / 1
Регистрация: 29.09.2013
Сообщений: 96
28.02.2015, 22:08  [ТС]
Цитата Сообщение от rao Посмотреть сообщение
и что бы особо не разбираться с зависимостями можно использовать:
Код C
1
#pragma once
Не помогло
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
28.02.2015, 22:18
Цитата Сообщение от Slavytuch Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Stack : public spisok
{
private:
    spisok A;
public:
    Stack();
    virtual TInf Top() throw(PustoiStackError);
    virtual TInf Pop() throw(PustoiStackError);
    virtual void Push(TInf);
    virtual void Delete();
    ~Stack();
};
не совсем понял, зачем:
1) наследоваться от spisok
2) использовать виртуальные методы, если нет наследников

Добавлено через 5 минут
Цитата Сообщение от Slavytuch Посмотреть сообщение
C++
1
2
3
4
5
6
TInf Stack::Top()
{
    if (!A.Pustoi) // СКОБКИ ЗАБЫЛИ!!!
        return A.GetFirst()->item;
    else throw PustoiStackError();
}
Скобок не хватает
0
0 / 0 / 1
Регистрация: 29.09.2013
Сообщений: 96
28.02.2015, 23:00  [ТС]
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
не совсем понял, зачем:
1) наследоваться от spisok
2) использовать виртуальные методы, если нет наследников
наследники есть в другом заголовке.
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Скобок не хватает
скобки основной проблемы не решают
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.02.2015, 23:00
Помогаю со студенческими работами здесь

Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h>
В типизированном файле записаны названия городов и их численность. Увеличить численность каждого города на 5% (Количество жителей всегда...

Ошибка! Использование метода рекурсивного спуска для построения синтаксического анализатора
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,...

скажите какие есть программы для построения блок схем из кода???
скажите какие есть программы для построения блок схем из кода???

Найти бесплатную программу для построения блок-схем из кода скриптового языка PHP
Помогите найти в интернете безоплатную программу которая может генерировать блок схемы из исходного кода скриптового языка PHP. Короче я...

программа для схематичного построения робота(механизма) различной сложности (Элементы для построения желательно поместить в БД).
доброго времени суток. незнаю куда лучше определить тему, поэтому создал ее тут. препод подкинул идей с перспективой защиты по ней...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru