Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 06.11.2015
Сообщений: 99
1

Разделение программы на .h .cpp .cpp

29.04.2016, 19:19. Показов 1325. Ответов 8
Метки нет (Все метки)

Никак не пойму как правильно разделять программу на несколько файлов.

Вот код : ( в чем проблема ? )


main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include "tproc.h"
using namespace std;
 
int main()
{
    string word = "hello world";
 
    LowerCase(word);
 
    cout << word;
 
    system("pause>>nul");
    return 0;
}
tproc.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
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <string>
#include <cstring>
#include <cctype>
#include <fstream>
#include <sstream>
#include <algorithm> // for replace
 
#ifndef _TEXT_EDITION_H_
#define _TEXT_EDITION_H_
 
using namespace std;
 
void Capitalize(string&);
void ToLower(char&);
void ToUpper(char&);
void LowerCase(string&);
void UpperCase(string&);
string ToUppercase(string&);
string EditWord(string&);
bool IsPresent(string&, string, int);
void DeleteSpaces(string&);
bool DifferentSymbolsIn(string&);
void Enter(string, string&);
void Enter(string, int&, int);
string IntToStr(int);
 
#endif
tproc.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "tproc.h"
 
void ToLower(char& ch)
{
   ch = tolower(ch);
}
 
void ToUpper(char& ch)
{
   ch = toupper(ch);
}
 
void LowerCase(string& string)
{
    for_each(string.begin(), string.end(), ToLower);
}
//...
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2016, 19:19
Ответы с готовыми решениями:

Разделение на .cpp и .h
Здравствуйте! Прошу прощения за повтор, честно смотрела другие похожие, но все равно не...

Разделение на h и cpp
На форуме есть темы с таким же названием, но тамошние приемы мне что-то не помогают. Жил был файл...

С помощью командной строки >namberstr f1.cpp Определить число строк в файле с именем f1.cpp
С помощью командной строки &gt;namberstr f1.cpp Определить число строк в файле с именем f1.cpp

Разделение шаблона на h и cpp и макросы
известно, что нельзя в общем случае разделить шаблон на h и cpp, конкретизация шаблона и export,...

8
return (true);
1974 / 1109 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
29.04.2016, 19:23 2
Цитата Сообщение от Bangemin Посмотреть сообщение
Никак не пойму как правильно разделять программу на несколько файлов.
А зачем в данном случае её вообще разделять?
0
0 / 0 / 1
Регистрация: 06.11.2015
Сообщений: 99
29.04.2016, 19:47  [ТС] 3
Я потом буду создавать еще 2 файла с классами, и хотелось би чтобы эти функции били в отдельном файле

Добавлено через 22 минуты
Зачем тогда сюда писать если помогать толком и не собирался?
0
nd2
3411 / 2791 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
29.04.2016, 23:56 4
Цитата Сообщение от Bangemin Посмотреть сообщение
в чем проблема ?
И в чём проблема? Добавляй файлы в проект.
0
0 / 0 / 1
Регистрация: 06.11.2015
Сообщений: 99
30.04.2016, 12:29  [ТС] 5
Ну вот не работает. Не знаю что делать
0
nd2
3411 / 2791 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
30.04.2016, 17:04 6
Цитата Сообщение от Bangemin Посмотреть сообщение
Ну вот не работает
Что значит: "не работает"? Не компилируется, или что?
0
0 / 0 / 1
Регистрация: 06.11.2015
Сообщений: 99
30.04.2016, 20:51  [ТС] 7
yes
0
nd2
3411 / 2791 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
30.04.2016, 21:08 8
Цитата Сообщение от Bangemin Посмотреть сообщение
yes
Пишет что?
0
1 / 1 / 1
Регистрация: 21.11.2015
Сообщений: 20
01.05.2016, 10:24 9
Лучший ответ Сообщение было отмечено Bangemin как решение

Решение

Перед препроцессорными переменными ничего не должно стоять, даже комментарии, как я знаю(ifndef, define). И вроде можно не включать библиотеку iostream в мэин, но можно и включать, т.к. она у тебя в заголовочном есть. И не надо в заголовочном файле объявлять библиотечные функции - using namespace std; А прописывать в ручную std:: и т.д.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2016, 10:24

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Разделение кода на cpp и h файлы
Добрый день. Расскажите, пожалуйста, как разделить код на два файла cpp и файл h. #include...

Подключение файлов main.cpp some.cpp some.h
Всем привет, программа разделенна на три файла poly.cpp main.cpp poly.h Кто мог бы объяснить как...

Библиотеки в CPP. Ошибка компиляции | CPP
Доброго вечера! Появился один вопросик недавно. Начал юзать библиотеку &lt;windows.h&gt; для...

Мешает ли разделение кода на объявление (.h) и определение (.cpp) inline оптимизации?
Читал что когда включают хедер но не реализацию в единицу трансляции, это мешает компилятору...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.