Skocz do zawartości

[c++]dodawanie własnej biblioteki


Phoenix

Rekomendowane odpowiedzi

Otóż mam taki problem, bo utworzyłem własną biblioteke options.h i włączam ją do kodu czyli #include "options.h". No i w tej bibliotece jest zmienna główna (?) (tak jak w <iostream> main()) opcje(). No i nie wiem gdzie dac int opcje(). Pomóżcie.

 

OFFTOP: Od ilu jest następna ranga?

Odnośnik do komentarza
Udostępnij na innych stronach

ee, gdzie kolwiek w kodzie aplikacji. zalezy w sumie co ta funkcja (bo to nie jest "zmienna glowna") robi.

Odnośnik do komentarza
Udostępnij na innych stronach

mowie, to zalezy co ta funkcja robi..

PS. zawsze w main() sie daje z reguly

Odnośnik do komentarza
Udostępnij na innych stronach

heh, tak jasnej odpowiedzi dawno nie widzialem. no coz, jesli sprawa stoi tak jak mysle to zapewne chodzi o cos w rodzaju inicjacji a jak wiadomo inicjacje daje sie na logicznym poczatku kodu.

PS. radze byc bardziej dokladnym w wyjasnieniach bo nie czytamy w myslach.

PS 2. potrafisz wogole stworzyc szablon aplikacji chocby konsolowej? bo z tego co ja czytam to zdaje sie ze krotko siedzisz nad cpp.

 

EDIT: pokaz kod biblioteki. bedzie latwiej

Odnośnik do komentarza
Udostępnij na innych stronach

No przecież wiem, że bibliteki inicjuje się na początku kodu po przez napisanie #include <blabla>.

Taki kod jest:

#ifndef options_hpp
#define options_hpp
int opcja()
{
    #include <iostream>
    #include "console.ddt"
    using namespace ddt::console;
    using namespace std;
    cout<<"Wybierz jedną z 3 (slownie trzech) opcji"<<endl;
    cout<<"[1]Kolory"<<endl;
    cout<<"[2]Obrazki"<<endl;
    cout<<"[3]Matematyka"<<endl;
    string pisz;
    cin>>pisz;
    if (pisz=="1") /* Pierwsza opcja  - pisanie kolorow*/
    {
        clrscr();
         string kol1, kol2, kol3;
        int pkt;
        pkt = 1;
        cout<<"Wybrales pierwsza opcje"<<endl;
        textcolor(3);
        cout<<"-----Instrukcje-----"<<endl;
        textcolor(7);
        cout<<"Tutaj masz za zadanie odgadywac kolory."<<endl;
        cout<<"Na ekranie pojawi sie 15 kolorow."<<endl;
        cout<<"I masz napisac co to za kolor"<<endl;
        cout<<"Uwaga! Tam gdzie pisze, ze slowo zaczyna sie na ciemny/jasny"<<endl;
        cout<<"podaj tylko drugi czlon wyrazu."<<endl;
        textcolor(2);
        cout<<""<<endl;
        cout<<"Pierwszy kolor."<<endl;
        cin>>kol1;
        if (kol1=="zielony","zielonkawy")
        {
            textcolor(7);
            cout<<"Brawo! Dobrze napisales."<<endl;
            cout<<"Zdobywasz 1 punkt."<<endl;
            cout<<"Masz "<<pkt++<<" punktow."<<endl;
            cout<<""<<endl;
            textcolor(3);
            cout<<"Drugi kolor. Uwaga slowo zaczyna sie na ciemny."<<endl;
            cin>>kol2;
        }
                         else
        {
            textcolor(7);
            cout<<"Niestety - pomyliles sie."<<endl;
             cout<<"Tracisz swoje punkty."<<endl;
            textcolor(3);
            cin>>kol1;
        }
        if (kol2=="seledynowy")
        {
            cout<<""<<endl;
            textcolor(7);
            cout<<"Brawo! Dobrze napisales"<<endl;
            cout<<"Zdobywasz kolejny punkt punkt"<<endl;
            cout<<"Masz "<<pkt++<<" punktow"<<endl;
            cout<<""<<endl;
            textcolor(4);
            cout<<"Trzeci kolor."<<endl;
            cin>>kol3;
        }
                 else
        {
            textcolor(7);
            cout<<"Niestety - pomyliles sie."<<endl;
            cout<<"Tracisz swoje punkty."<<endl;
            textcolor(3);
            cin>>kol2;
        }
        if (kol3=="bordo","bordowy","czerwony")
        {
            cout<<""<<endl;
            textcolor(7);
            cout<<"Brawo! Dobrze napisales."<<endl;
            cout<<"Zdobywasz kolejny punkt punkt."<<endl;
            cout<<"Masz "<<pkt++<<" punktow."<<endl;
            cout<<""<<endl;
            textcolor(5);
            cout<<"Czwarty kolor."<<endl;
            cin>>kol4;
        }
                         else
        {
            textcolor(7);
            cout<<"Niestety - pomyliles sie"<<endl;
            cout<<"Tracisz swoje punkty"<<endl;
            cin>>kol3;
        }
#endif
    };

 

PS: Nie śmiejcie się z kodu, wiem, że napewno jest poręcony i niezrozumiały, ale uczę się.

Odnośnik do komentarza
Udostępnij na innych stronach

po pierwsze:

#include <iostream>

#include "console.ddt"

tego sie nie daje w funkcji, tylko na poczatku pliku, zupelnie jak w kodzie aplikacji includujesz na poczatku.

 

po drugie:

using namespace ddt::console;

using namespace std;

to nie ma sensu bo najpierw przestrzenia nazw jest ddt::console, a potem nagle zmieniasz na std

Odnośnik do komentarza
Udostępnij na innych stronach

uzywasz cos z ddt::console? nie, wiec wywal to

Odnośnik do komentarza
Udostępnij na innych stronach

console.ddt służy do "kolorowania" tekstu. Tak przynajmniej czytałem.

Mam taki kod:

    string pisz;
    cin>>pisz;
    int opcja();
        if (pisz=="3")
        {
        clrscr();
        string
        pkt = 0;
        cout<<"Wybrales pierwsza opcje"<<endl;
        textcolor(3);
        cout<<"-----Instrukcje-----"<<endl;
        textcolor(7);
        }

I error wystakuje na "}". Oto jego treśc:

25|error: expected `}' at end of input|

25|error: expected `}' at end of input|

||=== Build finished: 2 errors, 2 warnings ===|

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie oglądam kod źródłowy tejże biblioteki, używa WinApi, więc nie warto było jej wo gule ściągać, tylko własne funkcje napisać np.

Kolorowanie tekstu:

// Inicjacja
HANDLE  hConsole = GetStdHandle( STD_OUTPUT_HANDLE );

// Zmiana koloru
SetConsoleTextAttribute( hConsole, 0 - 255 );

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...