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

Ошибка при разбиении программы на файлы(модули) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объединить два бинарных файла в один http://www.cyberforum.ru/cpp-beginners/thread862081.html
Даны два бинарных файла f1 и f2, компоненты которых - произвольные цепочки символов (компоненты упорядочены в алфавитном порядке). Написать программу, которая объединяет файлы f1 и f2 в файл f3 так,...
C++ строка-указатель #include <iostream> using namespace std; int main() { char *original="1brainED 2brainED 3brainED notprint 4brainED 5brainED notprint 6brainED"; while(*original!='\0') http://www.cyberforum.ru/cpp-beginners/thread862071.html
C++ общий метод наименьших квадратов
Доброго времени суток. У кого есть уже готовый общий метод наименьших квадратов? Кому не жалко, можете дать код? Или подскажите где есть реализованный уже? Спасибо!
C++ Сравнение алгоритмов поиска и сортировки
Дан массив из N целых элементов. Элементы генерируются случайным образом. Провести сравнительный анализ алгоритмов последовательного поиска с определением ближайших узлов и бинарного поиска с...
C++ Массив: функции getchar и putchar http://www.cyberforum.ru/cpp-beginners/thread862043.html
Задан массив. «Фамилия_стаж работы_зарплата». Преобразовать массив так: стаж работы увеличить на год, если он станет равен 10, то зарплату увеличить в 2 раза, если 15 – в 3 раза. Как такое сделать?...
C++ Возврат итератора из функции в чем заключается проблема с возвратом итератора и как ее исправить? заранее спасибо за ответ =) (ожидаемый от программы ответ "Yes", но получаю "No") #include <iostream> #include <string>... подробнее

Показать сообщение отдельно
Vincent_FFVII
1 / 1 / 0
Регистрация: 12.05.2013
Сообщений: 6

Ошибка при разбиении программы на файлы(модули) - C++

12.05.2013, 02:49. Просмотров 358. Ответов 5
Метки (Все метки)

Исходный код:

Кликните здесь для просмотра всего текста
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
137
138
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <conio.h>
 
using namespace std;
 
struct LIST
{
    int info;
    LIST *next;
};
 
LIST *head,*Prev;
 
void Initial()
{
    LIST *first = NULL;
    int k;
    ifstream fi ("in.txt");
    while(!fi.eof())
    {
        fi>>k;
        head = new LIST;
        head->info = k;
        head->next = first;
        first = head;
        //cout << head->info;
        //head = head->next;
    }
 
    fi.close();
    cout<<endl;
}
 
int Empty()
{
    if (head->next==NULL)
    return 1;
    else
    return 0;
}
 
LIST *Search(int num)
{
    Prev=head;
    LIST *tmp=head->next;
    while(tmp!=NULL && tmp->info!=num)
    {
        Prev=tmp;
        tmp=tmp->next;
    }
 
return tmp;
 
}
 
void Show()
{
 
    LIST *tmp=head->next;
    ofstream fo ("out.txt");
    cout << endl << "Список : ";
    fo << "Новый список : ";
    while(tmp!=NULL)
    {
        cout << tmp->info << " ";
        fo << tmp->info << " ";
        tmp=tmp->next;
    }
    fo.close();
    cout << endl;
}
 
int AddBefore(int num, int point)
{
    LIST *current=Search(point);
 
    if (current!=NULL)
    {
        LIST *tmp= new LIST;
        Prev->next=tmp;
        tmp->next=current;
        tmp->info=num;
        return 1;
    }
 
return 0;
 
}
 
void DelAll()
{
    LIST *tmp;
    while(head->next!=NULL)
    {
        tmp=head;
        head=head->next;
        delete tmp;
    }
    cout << endl <<"Список удален !"<<endl;
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    //cout << endl <<"Элементы списка : ";
    Initial();
    Empty();
    if (Empty()==1)
    {
        cout << endl << "Список пуст" << endl;
        return 0;
    }
    else
    Show();
 
    int num, point;
    cout << endl << "Введите элемент = ";
    cin >> num;
    Search (num);
    AddBefore(num,point);
    cout<< endl << "Перед каким элементом добавить = ";
    cin >> point;
    if (AddBefore(num,point)==1)
    cout << endl << "Элемент добавлен в список" << endl;
    else
    cout << endl << "Такого элемента не существует" << endl;
 
    //else
    Show();
    cout << endl << "Для удаления списка нажмите Enter\n";
    getch();
    DelAll();
    Show();
    cout<<endl;
 
}


Например, при создании модуля функции "Empty" :

.cpp-файл для Empty:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <conio.h>
#include "func1.h"
#include "Struct.h"
 
using namespace std;
 
int Empty()
{
    if (head->next==NULL)
    return 1;
    else
    return 0;
}


.h-файл для Empty:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
#ifndef EMPTY_H
#define EMPTY_H
int Empty();
#endif


.h-файл для структуры
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
#ifndef STRCT_H
#define STRCT_H
 
struct LIST
{
    int info;
    LIST *next;
};
 
LIST *head,*Prev;
 
#endif


в результате получается,что struct LIST *head уже определен в func1.obj

объясните в чем ошибка или как правильно разбить на файлы код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru