Jak wydzielić funkcje do pliku .h?

0

próbuje kod podzielić na pliki i nic z tego nie wychodzi, wywala błąd "fatal error: iostream: No such file or directory"

//plik main.cpp

#include <iostream>
#include "podzial.h"

void test();

int main()

{
    test();
	return 0;
}

//plik podzial.c

#include "podzial.h"

void test()
{
    cout<<"dziala\n";
}

//pilk. podzil.h

#ifndef podzial.h
#define podzial.h

#include <iostream>

void test(void);

#endif

1

Wiersze 3 i 6 w main.cpp nie są potrzebne.
Podaj czym i jak to kompilujesz.

0

kompiluje to w Code::Blocks, tworze nowy projekt: File=>New=>Project i wybieram Console application

Znalazłem kurs na yt: "15. Kurs Programowania w C - Podział projektu na plik"i i tam działa tylko że daje Emty project a ja daje Console application Czym to się różni ?? czemu tak sie nie da w Console application ??

0

W przypadku Console Application trzeba podmienić plik main.cpp oraz dodać podzial.c
W przypadku Empty trzeba dodać pliki main.cpp oraz podzial.c

Tak a propos...
Większość kompilatorów obsługuje jednocześnie C i C++ decyzję którą opcję wybrać podejmują na podstawie rozszerzenia, dla rozszerzenia .c zostanie użyty kompilator C a więc #include <iostream> w podzial.h dołączony z podzial.c nie przejdzie

0

czy ja to dobrze rozumie język C obsługuje pliki .h i .c a język C++ obsługuje: .h .cpp i .hpp ??

1
czesław111 napisał(a):

czy ja to dobrze rozumie język C obsługuje pliki .h i .c a język C++ obsługuje: .h .cpp i .hpp ??

Pliku dołączanemu poprzez include możesz nadać dowolne rozszerzenia, np. .gov.pl

0

to ja już nic nie rozumie...
korzystałem teraz z tego kursu:
https://cpp0x.pl/kursy/Kurs-C++/Dodatkowe-materialy/Dzielenie-kodu-na-kilka-plikow-zrodlowych/310

kiedy dałem ctr+shift+n i wpisałem nazwę to samo dopisało rozszerzenie.c

1
czesław111 napisał(a):

to ja już nic nie rozumie...
korzystałe teraz z tego kursu:
https://cpp0x.pl/kursy/Kurs-C++/Dodatkowe-materialy/Dzielenie-kodu-na-kilka-plikow-zrodlowych/310

Mamy przeczytać ten kurs z którego "korzystałe" a potem wywróżyć z fusów lub szklanej kuli czego (oraz kto) nie "rozumie"?

0

kiedy nacisnałem ctr+shift+n i wpisałem nazwę to samo dopisało rozszerzenie.c

3
czesław111 napisał(a):

kiedy nacisnałem ctr+shift+n i wpisałem nazwę to samo dopisało rozszerzenie.c

To odtwórz domyślne ustawienia, przy domyślnych ustawieniach nie ma takiego skrótu jak <Ctrl + Shift + N> przynajmniej wg oficjalnej strony: https://wiki.codeblocks.org/index.php/Keyboard_Shortcuts
Poza tym masz coś takiego jak "zapisz jako", oraz możesz zastąpić .c na .cpp
Albo wywalić w diabli Kołem w Bok i użyć VS Code

1

@czesław111 moim skromnym zdaniem Code::Blocks to nie jest dobre IDE na początek,
lepiej zacznij od:

  1. zainstaluj VS Code ,
  2. zainstaluj C/C++ Extension Pack
  3. zainstaluj i dodaj do PATH ninja, cmake i kompilator (dla początkującego dobrze jak to wszystko jest w PATH, jak wiedza wzrasta to nie jest już potrzebne)
  4. I zacznij ponownie od tego punktu https://code.visualstudio.com/docs/cpp/CMake-linux#_create-a-cmake-hello-world-project

Przydała by się też delikatna podstawa jak kompilator c++ tworzy pliki i jak to wszystko magicznie działa że powstaje plik wykonywalny :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1